019bb004-ada8-702d-bcbd-170d7291368c
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 |
|---|---|---|---|---|
| 39454 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 39455 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 39456 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 39457 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 39458 | capability.graph | complete | 1 / 3 | 3 months ago |
| 39459 | detector.run | complete | 1 / 3 | 3 months ago |
| 39460 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39524 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 39525 | tool.slither | complete | 1 / 2 | 3 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-diyb_43m)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-diyb_43m)
FeeCollector.setOperator(address).newOperator (contracts/FeeCollector.sol#32) lacks a zero-check on :
- operator = newOperator (contracts/FeeCollector.sol#35)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
Modifier BalanceManager.onlyOwner() (contracts/BalanceManager.sol#27) does not always execute _; or revert
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
BalanceManager.arbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#47-58) has external calls inside a loop: (success,None) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#54)
Calls stack containing the loop:
BalanceManager.arbitraryCalls(address[],bytes[])
BalanceManager.arbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#47-58) has external calls inside a loop: (success,None) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#54)
BalanceManager.arbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#47-58) has external calls inside a loop: (success,None) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#54)
Calls stack containing the loop:
BalanceManager.arbitraryCallsWithEthCheck(address[],bytes[],uint256)
BalanceManager.arbitraryCallsWithEthCheck(address[],bytes[],uint256[],uint256)
BalanceManager.arbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#47-58) has external calls inside a loop: (success,None) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#54)
Calls stack containing the loop:
BalanceManager.arbitraryCallsWithEthCheck(address[],bytes[],uint256[],uint256)
BalanceManager.arbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#47-58) has external calls inside a loop: (success,None) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#54)
Calls stack containing the loop:
BalanceManager.arbitraryCallsWithTokenCheck(address[],bytes[],IERC20,uint256)
BalanceManager.arbitraryCallsWithTokenCheck(address[],bytes[],uint256[],IERC20,uint256)
BalanceManager.arbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#47-58) has external calls inside a loop: (success,None) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#54)
Calls stack containing the loop:
BalanceManager.arbitraryCallsWithTokenCheck(address[],bytes[],uint256[],IERC20,uint256)
BalanceManager.estimateArbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#138-150) has external calls inside a loop: (statuses[i],results[i]) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#146)
Calls stack containing the loop:
BalanceManager.estimateArbitraryCalls(address[],bytes[])
BalanceManager.estimateArbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#138-150) has external calls inside a loop: (statuses[i],results[i]) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#146)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
ECDSA.recover(bytes32,uint8,bytes32,bytes32) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#34-53) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#40-52)
ECDSA.recover(bytes32,bytes32,bytes32) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#63-82) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#68-81)
ECDSA.recover(bytes32,bytes) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#97-130) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#98-129)
ECDSA.isValidSignature(address,bytes32,bytes) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#228-248) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#236-247)
ECDSA.isValidSignature(address,bytes32,uint8,bytes32,bytes32) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#260-282) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#268-281)
ECDSA.isValidSignature(address,bytes32,bytes32,bytes32) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#293-315) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#302-314)
ECDSA.isValidSignature65(address,bytes32,bytes32,bytes32) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#325-348) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#334-347)
ECDSA.toEthSignedMessageHash(bytes32) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#356-364) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#359-363)
ECDSA.toTypedDataHash(bytes32,bytes32) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#373-382) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#375-381)
RevertReasonForwarder.reRevert() (@1inch/solidity-utils/contracts/libraries/RevertReasonForwarder.sol#14-21) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/RevertReasonForwarder.sol#16-20)
RevertReasonForwarder.reReason() (@1inch/solidity-utils/contracts/libraries/RevertReasonForwarder.sol#28-36) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/RevertReasonForwarder.sol#29-35)
SafeERC20.safeBalanceOf(IERC20,address) (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#44-61) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#49-60)
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#99-126) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#107-124)
SafeERC20.safeTransferFromPermit2(IERC20,address,address,uint256) (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#138-161) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#147-159)
SafeERC20.tryPermit(IERC20,address,address,bytes) (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#300-402) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#306-401)
SafeERC20._makeCall(IERC20,bytes4,address,uint256) (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#414-437) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#420-436)
SafeERC20.safeDeposit(IWETH,uint256) (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#444-456) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#447-454)
SafeERC20.safeWithdraw(IWETH,uint256) (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#464-475) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#466-474)
SafeERC20.safeWithdrawTo(IWETH,uint256,address) (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#484-495) uses assembly
- INLINE ASM (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#487-493)
BalanceManager.arbitraryCalls(address[],bytes[]) (contracts/BalanceManager.sol#34-42) uses assembly
- INLINE ASM (contracts/BalanceManager.sol#37-40)
BalanceManager.arbitraryCallsWithEthCheck(address[],bytes[],uint256) (contracts/BalanceManager.sol#63-71) uses assembly
- INLINE ASM (contracts/BalanceManager.sol#66-69)
BalanceManager.arbitraryCallsWithTokenCheck(address[],bytes[],IERC20,uint256) (contracts/BalanceManager.sol#91-104) uses assembly
- INLINE ASM (contracts/BalanceManager.sol#99-102)
BalanceManager.estimateArbitraryCalls(address[],bytes[]) (contracts/BalanceManager.sol#125-133) uses assembly
- INLINE ASM (contracts/BalanceManager.sol#128-131)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
4 different versions of Solidity are used:
- Version constraint ^0.8.0 is used by:
-^0.8.0 (@1inch/solidity-utils/contracts/interfaces/IDaiLikePermit.sol#3)
-^0.8.0 (@1inch/solidity-utils/contracts/interfaces/IERC7597Permit.sol#3)
-^0.8.0 (@1inch/solidity-utils/contracts/interfaces/IPermit2.sol#3)
-^0.8.0 (@1inch/solidity-utils/contracts/interfaces/IWETH.sol#3)
-^0.8.0 (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#3)
-^0.8.0 (@1inch/solidity-utils/contracts/libraries/RevertReasonForwarder.sol#3)
-^0.8.0 (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#3)
- Version constraint 0.8.23 is used by:
-0.8.23 (contracts/BalanceManager.sol#3)
-0.8.23 (contracts/FeeCollector.sol#3)
-0.8.23 (contracts/interfaces/IBalanceManager.sol#3)
- Version constraint >=0.5.0 is used by:
->=0.5.0 (lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol#4)
- Version constraint >=0.4.16 is used by:
->=0.4.16 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4)
->=0.4.16 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol#4)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used
Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- DataLocationChangeInInternalOverride
- NestedCalldataArrayAbiReencodingSizeValidation
- SignedImmutables
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching.
It is used by:
- ^0.8.0 (@1inch/solidity-utils/contracts/interfaces/IDaiLikePermit.sol#3)
- ^0.8.0 (@1inch/solidity-utils/contracts/interfaces/IERC7597Permit.sol#3)
- ^0.8.0 (@1inch/solidity-utils/contracts/interfaces/IPermit2.sol#3)
- ^0.8.0 (@1inch/solidity-utils/contracts/interfaces/IWETH.sol#3)
- ^0.8.0 (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#3)
- ^0.8.0 (@1inch/solidity-utils/contracts/libraries/RevertReasonForwarder.sol#3)
- ^0.8.0 (@1inch/solidity-utils/contracts/libraries/SafeERC20.sol#3)
Version constraint >=0.5.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- DirtyBytesArrayToStorage
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching
- EmptyByteArrayCopy
- DynamicArrayCleanup
- ImplicitConstructorCallvalueCheck
- TupleAssignmentMultiStackSlotComponents
- MemoryArrayCreationOverflow
- privateCanBeOverridden
- SignedArrayStorageCopy
- ABIEncoderV2StorageArrayWithMultiSlotElement
- DynamicConstructorArgumentsClippedABIV2
- UninitializedFunctionPointerInConstructor
- IncorrectEventSignatureInLibraries
- ABIEncoderV2PackedStorage.
It is used by:
- >=0.5.0 (lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol#4)
Version constraint >=0.4.16 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- DirtyBytesArrayToStorage
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching
- EmptyByteArrayCopy
- DynamicArrayCleanup
- ImplicitConstructorCallvalueCheck
- TupleAssignmentMultiStackSlotComponents
- MemoryArrayCreationOverflow
- privateCanBeOverridden
- SignedArrayStorageCopy
- ABIEncoderV2StorageArrayWithMultiSlotElement
- DynamicConstructorArgumentsClippedABIV2
- UninitializedFunctionPointerInConstructor_0.4.x
- IncorrectEventSignatureInLibraries_0.4.x
- ExpExponentCleanup
- NestedArrayFunctionCallDecoder
- ZeroFunctionSelector.
It is used by:
- >=0.4.16 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4)
- >=0.4.16 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol#4)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity
Low level call in BalanceManager.arbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#47-58):
- (success,None) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#54)
Low level call in BalanceManager.estimateArbitraryCalls(address[],bytes[],uint256[]) (contracts/BalanceManager.sol#138-150):
- (statuses[i],results[i]) = targets[i].call{value: values[i]}(arguments[i]) (contracts/BalanceManager.sol#146)
Low level call in BalanceManager.rescueEther() (contracts/BalanceManager.sol#205-208):
- (success,None) = address(msg.sender).call{value: address(this).balance}() (contracts/BalanceManager.sol#206)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
Variable BalanceManager._WETH (contracts/BalanceManager.sol#19) is not in mixedCase
Variable FeeCollector._OWNER (contracts/FeeCollector.sol#11) is not in mixedCase
Variable FeeCollector._LIMIT_ORDER_PROTOCOL (contracts/FeeCollector.sol#12) is not in mixedCase
Function IERC20Permit.DOMAIN_SEPARATOR() (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol#89) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
ECDSA.toEthSignedMessageHash(bytes32) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#356-364) uses literals with too many digits:
- mstore(uint256,uint256)(0,0x19457468657265756d205369676e6564204d6573736167653a0a333200000000) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#360)
ECDSA.toTypedDataHash(bytes32,bytes32) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#373-382) uses literals with too many digits:
- mstore(uint256,uint256)(ptr_toTypedDataHash_asm_0,0x1901000000000000000000000000000000000000000000000000000000000000) (@1inch/solidity-utils/contracts/libraries/ECDSA.sol#377)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits
. analyzed (13 contracts with 100 detectors), 46 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.8.23",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.8.23",
"install_stderr": null,
"install_stdout": "Version '0.8.23' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-diyb_43m --include-path /tmp/slither-diyb_43m/lib --include-path /tmp/slither-diyb_43m/lib/openzeppelin-contracts --allow-paths /tmp/slither-diyb_43m,/tmp/slither-diyb_43m/lib,/tmp/slither-diyb_43m/lib/openzeppelin-contracts,/tmp/slither-diyb_43m/src",
"remappings": [
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
],
"source_files": [
"@1inch/solidity-utils/contracts/interfaces/IDaiLikePermit.sol",
"@1inch/solidity-utils/contracts/interfaces/IERC7597Permit.sol",
"@1inch/solidity-utils/contracts/interfaces/IPermit2.sol",
"@1inch/solidity-utils/contracts/interfaces/IWETH.sol",
"@1inch/solidity-utils/contracts/libraries/ECDSA.sol",
"@1inch/solidity-utils/contracts/libraries/RevertReasonForwarder.sol",
"@1inch/solidity-utils/contracts/libraries/SafeERC20.sol",
"@openzeppelin/contracts/interfaces/IERC1271.sol",
"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol",
"@openzeppelin/contracts/token/ERC20/IERC20.sol",
"contracts/BalanceManager.sol",
"contracts/FeeCollector.sol",
"contracts/interfaces/IBalanceManager.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 46,
"workspace_hash": "6cca174414bd0e15bc0cc38cd1e416dba46a87fa3719490ff2419fd1930ae8bf",
"duration_seconds": 0.8599865436553955,
"solc_version_requested": "0.8.23"
}
{"no_findings":true,"summary":"Reviewed BalanceManager/FeeCollector and related interfaces; all external-call entrypoints are gated by operator/owner and no exploitable reentrancy, access control, or signature validation flaws were identified in first-party code.","findings":[]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-hnbmo3dv
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb043-7011-7702-89c6-285dba7d5cba
--------
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**
exec
/bin/bash -lc ls in /tmp/codex-hnbmo3dv succeeded in 7ms:
@1inch
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-hnbmo3dv succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: @1inch/solidity-utils/contracts/interfaces/IDaiLikePermit.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @title IDaiLikePermit
* @dev Interface for Dai-like permit function allowing token spending via signatures.
*/
interface IDaiLikePermit {
/**
* @notice Approves spending of tokens via off-chain signatures.
* @param holder Token holder's address.
* @param spender Spender's address.
* @param nonce Current nonce of the holder.
thinking
**Reviewing BalanceManager and FeeCollector security**
I've carefully analyzed BalanceManager, FeeCollector, and their interfaces, focusing on owner/operator access control, reentrancy risks, and signature validation. Although some minor risks like operator being unset or zero exist, overall, functions gated by onlyOwner appear secure with no exploitable vulnerabilities or delegatecalls. The signature verification aligns with expectations, and no proxy or upgrade issues surface. I'll conclude no findings for this audit.
codex
{"no_findings":true,"summary":"Reviewed BalanceManager/FeeCollector and related interfaces; all external-call entrypoints are gated by operator/owner and no exploitable reentrancy, access control, or signature validation flaws were identified in first-party code.","findings":[]}
tokens used
20,776
{
"codex": {
"ran_at": "2026-01-12T03:33:39.372227+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 13,
"import_count": 14,
"first_party_contracts_count": 10
},
"summary": "Reviewed BalanceManager/FeeCollector and related interfaces; all external-call entrypoints are gated by operator/owner and no exploitable reentrancy, access control, or signature validation flaws were identified in first-party code.",
"raw_final": {
"summary": "Reviewed BalanceManager/FeeCollector and related interfaces; all external-call entrypoints are gated by operator/owner and no exploitable reentrancy, access control, or signature validation flaws were identified in first-party code.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x40 00000002: PUSH1 0x80 00000004: DUP2 00000005: MSTORE 00000006: PUSH1 0x04 00000008: DUP1 00000009: CALLDATASIZE 0000000a: LT 0000000b: ISZERO 0000000c: PUSH2 0x001e 0000000f: JUMPI 00000010: JUMPDEST 00000011: POP 00000012: POP 00000013: CALLDATASIZE 00000014: ISZERO 00000015: PUSH2 0x001c 00000018: JUMPI 00000019: PUSH0 0000001a: DUP1 0000001b: REVERT 0000001c: JUMPDEST 0000001d: STOP 0000001e: JUMPDEST 0000001f: PUSH0 00000020: CALLDATALOAD 00000021: PUSH1 0xe0 00000023: SHR 00000024: DUP1 00000025: PUSH4 0x038ec2ab 0000002a: EQ 0000002b: PUSH2 0x10ed 0000002e: JUMPI 0000002f: DUP1 00000030: PUSH4 0x10a890af 00000035: EQ 00000036: PUSH2 0x0fb1 00000039: JUMPI 0000003a: DUP1 0000003b: PUSH4 0x1626ba7e 00000040: EQ 00000041: PUSH2 0x0e43 00000044: JUMPI 00000045: DUP1 00000046: PUSH4 0x1f3177ba 0000004b: EQ 0000004c: PUSH2 0x0dac 0000004f: JUMPI 00000050: DUP1 00000051: PUSH4 0x20969d07 00000056: EQ 00000057: PUSH2 0x0cfa 0000005a: JUMPI 0000005b: DUP1 0000005c: PUSH4 0x295861b1 00000061: EQ 00000062: PUSH2 0x0a4a 00000065: JUMPI 00000066: DUP1 00000067: PUSH4 0x343590a4 0000006c: EQ 0000006d: PUSH2 0x095e 00000070: JUMPI 00000071: DUP1 00000072: PUSH4 0x3a9d666f 00000077: EQ 00000078: PUSH2 0x08c7 0000007b: JUMPI 0000007c: DUP1 0000007d: PUSH4 0x3d006abd 00000082: EQ 00000083: PUSH2 0x0854 00000086: JUMPI 00000087: DUP1 00000088: PUSH4 0x4cbdf31c 0000008d: EQ 0000008e: PUSH2 0x07c8 00000091: JUMPI 00000092: DUP1 00000093: PUSH4 0x570ca735 00000098: EQ 00000099: PUSH2 0x0777 0000009c: JUMPI 0000009d: DUP1 0000009e: PUSH4 0x7e5465ba 000000a3: EQ 000000a4: PUSH2 0x070e 000000a7: JUMPI 000000a8: DUP1 000000a9: PUSH4 0x85c01438 000000ae: EQ 000000af: PUSH2 0x061e 000000b2: JUMPI 000000b3: DUP1 000000b4: PUSH4 0xb3ab15fb 000000b9: EQ 000000ba: PUSH2 0x0528 000000bd: JUMPI 000000be: DUP1 000000bf: PUSH4 0xbdbb216a 000000c4: EQ 000000c5: PUSH2 0x027c 000000c8: JUMPI 000000c9: DUP1 000000ca: PUSH4 0xbeabacc8 000000cf: EQ 000000d0: PUSH2 0x01e6 000000d3: JUMPI 000000d4: PUSH4 0xc12ea3ca 000000d9: SUB 000000da: PUSH2 0x0010 000000dd: JUMPI 000000de: CALLVALUE 000000df: PUSH2 0x01e2 000000e2: JUMPI 000000e3: DUP2 000000e4: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000105: CALLDATASIZE 00000106: ADD 00000107: SLT 00000108: PUSH2 0x01e2 0000010b: JUMPI 0000010c: DUP1 0000010d: CALLDATALOAD 0000010e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000123: SWAP2 00000124: DUP3 00000125: DUP3 00000126: AND 00000127: DUP1 00000128: SWAP3 00000129: SUB 0000012a: PUSH2 0x01e2 0000012d: JUMPI 0000012e: PUSH1 0x24 00000130: CALLDATALOAD 00000131: SWAP3 00000132: PUSH0 00000133: SLOAD 00000134: AND 00000135: CALLER 00000136: SUB 00000137: PUSH2 0x01bb 0000013a: JUMPI 0000013b: DUP3 0000013c: SWAP1 0000013d: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000 0000015e: PUSH0 0000015f: MSTORE 00000160: MSTORE 00000161: PUSH0 00000162: DUP1 00000163: PUSH1 0x24 00000165: DUP2 00000166: DUP1 00000167: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000188: GAS 00000189: CALL 0000018a: ISZERO 0000018b: PUSH2 0x01b1 0000018e: JUMPI 0000018f: ADDRESS 00000190: DUP2 00000191: SUB 00000192: PUSH2 0x0197 00000195: JUMPI 00000196: STOP 00000197: JUMPDEST 00000198: PUSH0 00000199: DUP1 0000019a: DUP1 0000019b: SWAP4 0000019c: DUP2 0000019d: SWAP4 0000019e: PUSH2 0x1388 000001a1: CALL 000001a2: ISZERO 000001a3: PUSH2 0x01a8 000001a6: JUMPI 000001a7: STOP 000001a8: JUMPDEST 000001a9: MLOAD 000001aa: RETURNDATASIZE 000001ab: PUSH0 000001ac: DUP3 000001ad: RETURNDATACOPY 000001ae: RETURNDATASIZE 000001af: SWAP1 000001b0: REVERT 000001b1: JUMPDEST 000001b2: DUP3 000001b3: MLOAD 000001b4: RETURNDATASIZE 000001b5: PUSH0 000001b6: DUP3 000001b7: RETURNDATACOPY 000001b8: RETURNDATASIZE 000001b9: SWAP1 000001ba: REVERT 000001bb: JUMPDEST 000001bc: DUP4 000001bd: MLOAD 000001be: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 000001df: DUP2 000001e0: MSTORE 000001e1: REVERT 000001e2: JUMPDEST 000001e3: PUSH0 000001e4: DUP1 000001e5: REVERT 000001e6: JUMPDEST 000001e7: POP 000001e8: SWAP1 000001e9: CALLVALUE 000001ea: PUSH2 0x01e2 000001ed: JUMPI 000001ee: PUSH1 0x60 000001f0: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000211: CALLDATASIZE 00000212: ADD 00000213: SLT 00000214: PUSH2 0x01e2 00000217: JUMPI 00000218: PUSH2 0x021f 0000021b: PUSH2 0x11ca 0000021e: JUMP 0000021f: JUMPDEST 00000220: SWAP1 00000221: PUSH2 0x0228 00000224: PUSH2 0x1304 00000227: JUMP 00000228: JUMPDEST 00000229: SWAP1 0000022a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000023f: PUSH0 00000240: SLOAD 00000241: AND 00000242: CALLER 00000243: SUB 00000244: PUSH2 0x0254 00000247: JUMPI 00000248: PUSH2 0x001c 0000024b: PUSH1 0x44 0000024d: CALLDATALOAD 0000024e: DUP4 0000024f: DUP6 00000250: PUSH2 0x18bd 00000253: JUMP 00000254: JUMPDEST 00000255: DUP4 00000256: SWAP1 00000257: MLOAD 00000258: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 00000279: DUP2 0000027a: MSTORE 0000027b: REVERT 0000027c: JUMPDEST 0000027d: POP 0000027e: PUSH2 0x0286 00000281: CALLDATASIZE 00000282: PUSH2 0x121b 00000285: JUMP 00000286: JUMPDEST 00000287: SWAP1 00000288: SWAP3 00000289: SWAP2 0000028a: SWAP4 0000028b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002a0: PUSH0 000002a1: SLOAD 000002a2: AND 000002a3: CALLER 000002a4: SUB 000002a5: PUSH2 0x0501 000002a8: JUMPI 000002a9: DUP2 000002aa: DUP6 000002ab: SUB 000002ac: PUSH2 0x04da 000002af: JUMPI 000002b0: SWAP5 000002b1: SWAP4 000002b2: SWAP3 000002b3: SWAP1 000002b4: PUSH2 0x02bc 000002b7: DUP5 000002b8: PUSH2 0x16aa 000002bb: JUMP 000002bc: JUMPDEST 000002bd: SWAP6 000002be: PUSH2 0x02c9 000002c1: DUP7 000002c2: MLOAD 000002c3: SWAP8 000002c4: DUP9 000002c5: PUSH2 0x1327 000002c8: JUMP 000002c9: JUMPDEST 000002ca: DUP5 000002cb: DUP8 000002cc: MSTORE 000002cd: PUSH2 0x02d5 000002d0: DUP6 000002d1: PUSH2 0x16aa 000002d4: JUMP 000002d5: JUMPDEST 000002d6: SWAP4 000002d7: PUSH1 0x20 000002d9: SWAP3 000002da: DUP4 000002db: DUP10 000002dc: ADD 000002dd: SWAP5 000002de: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000002ff: DUP1 00000300: SWAP8 00000301: ADD 00000302: CALLDATASIZE 00000303: DUP8 00000304: CALLDATACOPY 00000305: PUSH2 0x030d 00000308: DUP9 00000309: PUSH2 0x16aa 0000030c: JUMP 0000030d: JUMPDEST 0000030e: SWAP8 0000030f: PUSH2 0x031a 00000312: DUP11 00000313: MLOAD 00000314: SWAP10 00000315: DUP11 00000316: PUSH2 0x1327 00000319: JUMP 0000031a: JUMPDEST 0000031b: DUP1 0000031c: DUP10 0000031d: MSTORE 0000031e: DUP8 0000031f: PUSH2 0x0327 00000322: DUP3 00000323: PUSH2 0x16aa 00000326: JUMP 00000327: JUMPDEST 00000328: ADD 00000329: PUSH0 0000032a: JUMPDEST 0000032b: DUP2 0000032c: DUP2 0000032d: LT 0000032e: PUSH2 0x04cb 00000331: JUMPI 00000332: POP 00000333: POP 00000334: PUSH0 00000335: JUMPDEST 00000336: DUP2 00000337: DUP2 00000338: LT 00000339: PUSH2 0x0453 0000033c: JUMPI 0000033d: POP 0000033e: POP 0000033f: POP 00000340: POP 00000341: POP 00000342: DUP6 00000343: MLOAD 00000344: SWAP7 00000345: DUP8 00000346: SWAP7 00000347: PUSH32 0x9cb0e09d00000000000000000000000000000000000000000000000000000000 00000368: DUP9 00000369: MSTORE 0000036a: PUSH1 0x44 0000036c: DUP9 0000036d: ADD 0000036e: SWAP3 0000036f: DUP9 00000370: ADD 00000371: MSTORE 00000372: MLOAD 00000373: DUP1 00000374: SWAP2 00000375: MSTORE 00000376: PUSH1 0x64 00000378: DUP7 00000379: ADD 0000037a: SWAP3 0000037b: SWAP1 0000037c: PUSH0 0000037d: JUMPDEST 0000037e: DUP2 0000037f: DUP2 00000380: LT 00000381: PUSH2 0x043a 00000384: JUMPI 00000385: POP 00000386: POP 00000387: POP 00000388: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000003a9: DUP6 000003aa: DUP4 000003ab: SUB 000003ac: ADD 000003ad: PUSH1 0x24 000003af: DUP7 000003b0: ADD 000003b1: MSTORE 000003b2: DUP4 000003b3: MLOAD 000003b4: SWAP1 000003b5: DUP2 000003b6: DUP4 000003b7: MSTORE 000003b8: DUP1 000003b9: DUP4 000003ba: ADD 000003bb: SWAP3 000003bc: DUP2 000003bd: DUP1 000003be: DUP5 000003bf: PUSH1 0x05 000003c1: SHL 000003c2: DUP4 000003c3: ADD 000003c4: ADD 000003c5: SWAP7 000003c6: ADD 000003c7: SWAP5 000003c8: PUSH0 000003c9: SWAP2 000003ca: JUMPDEST 000003cb: DUP5 000003cc: DUP4 000003cd: LT 000003ce: PUSH2 0x03d7 000003d1: JUMPI 000003d2: DUP9 000003d3: DUP9 000003d4: SUB 000003d5: DUP10 000003d6: REVERT 000003d7: JUMPDEST 000003d8: SWAP2 000003d9: SWAP4 000003da: SWAP6 000003db: SWAP8 000003dc: POP 000003dd: SWAP2 000003de: SWAP4 000003df: SWAP6 000003e0: DUP3 000003e1: DUP3 000003e2: DUP3 000003e3: SUB 000003e4: ADD 000003e5: DUP8 000003e6: MSTORE 000003e7: DUP5 000003e8: DUP4 000003e9: DUP10 000003ea: MLOAD 000003eb: DUP1 000003ec: MLOAD 000003ed: SWAP1 000003ee: DUP2 000003ef: DUP6 000003f0: MSTORE 000003f1: PUSH0 000003f2: JUMPDEST 000003f3: DUP3 000003f4: DUP2 000003f5: LT 000003f6: PUSH2 0x0423 000003f9: JUMPI 000003fa: POP 000003fb: POP 000003fc: DUP4 000003fd: DUP4 000003fe: SWAP3 000003ff: PUSH1 0x1f 00000401: DUP4 00000402: PUSH0 00000403: DUP7 00000404: DUP1 00000405: SWAP7 00000406: PUSH1 0x01 00000408: SWAP11 00000409: ADD 0000040a: ADD 0000040b: MSTORE 0000040c: ADD 0000040d: AND 0000040e: ADD 0000040f: ADD 00000410: SWAP10 00000411: ADD 00000412: SWAP8 00000413: ADD 00000414: SWAP4 00000415: ADD 00000416: SWAP1 00000417: SWAP2 00000418: DUP9 00000419: SWAP8 0000041a: SWAP7 0000041b: SWAP6 0000041c: SWAP4 0000041d: SWAP5 0000041e: SWAP3 0000041f: PUSH2 0x03ca 00000422: JUMP 00000423: JUMPDEST 00000424: DUP2 00000425: DUP2 00000426: ADD 00000427: DUP6 00000428: ADD 00000429: MLOAD 0000042a: DUP7 0000042b: DUP3 0000042c: ADD 0000042d: DUP7 0000042e: ADD 0000042f: MSTORE 00000430: DUP10 00000431: SWAP5 00000432: DUP9 00000433: SWAP5 00000434: POP 00000435: ADD 00000436: PUSH2 0x03f2 00000439: JUMP 0000043a: JUMPDEST 0000043b: DUP3 0000043c: MLOAD 0000043d: ISZERO 0000043e: ISZERO 0000043f: DUP6 00000440: MSTORE 00000441: DUP9 00000442: SWAP8 00000443: POP 00000444: SWAP4 00000445: DUP4 00000446: ADD 00000447: SWAP4 00000448: SWAP2 00000449: DUP4 0000044a: ADD 0000044b: SWAP2 0000044c: PUSH1 0x01 0000044e: ADD 0000044f: PUSH2 0x037d 00000452: JUMP 00000453: JUMPDEST 00000454: DUP1 00000455: PUSH0 00000456: DUP1 00000457: DUP14 00000458: SWAP15 00000459: SWAP9 0000045a: SWAP10 0000045b: SWAP11 0000045c: SWAP13 0000045d: SWAP14 0000045e: PUSH2 0x0472 00000461: PUSH2 0x046d 00000464: PUSH1 0x01 00000466: SWAP7 00000467: DUP9 00000468: DUP13 00000469: PUSH2 0x16c2 0000046c: JUMP 0000046d: JUMPDEST 0000046e: PUSH2 0x16ff 00000471: JUMP 00000472: JUMPDEST 00000473: SWAP1 00000474: PUSH2 0x047e 00000477: DUP6 00000478: DUP11 00000479: CALLDATASIZE 0000047a: PUSH2 0x16c2 0000047d: JUMP 0000047e: JUMPDEST 0000047f: CALLDATALOAD 00000480: PUSH2 0x048a 00000483: DUP7 00000484: DUP12 00000485: DUP12 00000486: PUSH2 0x1720 00000489: JUMP 0000048a: JUMPDEST 0000048b: DUP1 0000048c: SWAP4 0000048d: MLOAD 0000048e: SWAP4 0000048f: DUP5 00000490: SWAP3 00000491: DUP4 00000492: CALLDATACOPY 00000493: DUP2 00000494: ADD 00000495: DUP6 00000496: DUP2 00000497: MSTORE 00000498: SUB 00000499: SWAP3 0000049a: GAS 0000049b: CALL 0000049c: DUP13 0000049d: PUSH2 0x04ae 000004a0: DUP4 000004a1: PUSH2 0x04a8 000004a4: PUSH2 0x164d 000004a7: JUMP 000004a8: JUMPDEST 000004a9: SWAP3 000004aa: PUSH2 0x1780 000004ad: JUMP 000004ae: JUMPDEST 000004af: MSTORE 000004b0: PUSH2 0x04b9 000004b3: DUP3 000004b4: DUP10 000004b5: PUSH2 0x1780 000004b8: JUMP 000004b9: JUMPDEST 000004ba: SWAP1 000004bb: ISZERO 000004bc: ISZERO 000004bd: SWAP1 000004be: MSTORE 000004bf: ADD 000004c0: SWAP11 000004c1: SWAP10 000004c2: SWAP9 000004c3: SWAP7 000004c4: SWAP6 000004c5: SWAP5 000004c6: SWAP11 000004c7: PUSH2 0x0335 000004ca: JUMP 000004cb: JUMPDEST 000004cc: PUSH1 0x60 000004ce: DUP12 000004cf: DUP3 000004d0: ADD 000004d1: DUP10 000004d2: ADD 000004d3: MSTORE 000004d4: DUP8 000004d5: ADD 000004d6: PUSH2 0x032a 000004d9: JUMP 000004da: JUMPDEST 000004db: DUP6 000004dc: MLOAD 000004dd: PUSH32 0xff633a3800000000000000000000000000000000000000000000000000000000 000004fe: DUP2 000004ff: MSTORE 00000500: REVERT 00000501: JUMPDEST 00000502: DUP6 00000503: MLOAD 00000504: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 00000525: DUP2 00000526: MSTORE 00000527: REVERT 00000528: JUMPDEST 00000529: POP 0000052a: SWAP1 0000052b: CALLVALUE 0000052c: PUSH2 0x01e2 0000052f: JUMPI 00000530: PUSH1 0x20 00000532: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000553: CALLDATASIZE 00000554: ADD 00000555: SLT 00000556: PUSH2 0x01e2 00000559: JUMPI 0000055a: PUSH2 0x0561 0000055d: PUSH2 0x11ca 00000560: JUMP 00000561: JUMPDEST 00000562: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000577: SWAP3 00000578: DUP4 00000579: PUSH32 0x0000000000000000000000009f8102b1bb05785bad2874f2c7b1aaea4c6d976a 0000059a: AND 0000059b: CALLER 0000059c: SUB 0000059d: PUSH2 0x05f7 000005a0: JUMPI 000005a1: PUSH32 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54 000005c2: PUSH1 0x20 000005c4: DUP5 000005c5: DUP7 000005c6: DUP6 000005c7: AND 000005c8: SWAP1 000005c9: DUP2 000005ca: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000005eb: PUSH0 000005ec: SLOAD 000005ed: AND 000005ee: OR 000005ef: PUSH0 000005f0: SSTORE 000005f1: MLOAD 000005f2: SWAP1 000005f3: DUP2 000005f4: MSTORE 000005f5: LOG1 000005f6: STOP 000005f7: JUMPDEST 000005f8: DUP3 000005f9: MLOAD 000005fa: PUSH32 0x4ca8886700000000000000000000000000000000000000000000000000000000 0000061b: DUP2 0000061c: MSTORE 0000061d: REVERT 0000061e: JUMPDEST 0000061f: POP 00000620: PUSH2 0x0628 00000623: CALLDATASIZE 00000624: PUSH2 0x1284 00000627: JUMP 00000628: JUMPDEST 00000629: SWAP6 0000062a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000063f: PUSH0 00000640: SWAP7 00000641: SWAP6 00000642: SWAP3 00000643: SWAP5 00000644: SWAP4 00000645: SWAP7 00000646: SLOAD 00000647: AND 00000648: CALLER 00000649: SUB 0000064a: PUSH2 0x06e7 0000064d: JUMPI 0000064e: DUP6 0000064f: DUP3 00000650: SUB 00000651: PUSH2 0x06c0 00000654: JUMPI 00000655: DUP7 00000656: DUP3 00000657: SUB 00000658: PUSH2 0x06c0 0000065b: JUMPI 0000065c: POP 0000065d: PUSH0 0000065e: JUMPDEST 0000065f: DUP2 00000660: DUP2 00000661: LT 00000662: PUSH2 0x0667 00000665: JUMPI 00000666: STOP 00000667: JUMPDEST 00000668: PUSH0 00000669: DUP1 0000066a: PUSH2 0x0677 0000066d: PUSH2 0x046d 00000670: DUP5 00000671: DUP7 00000672: DUP11 00000673: PUSH2 0x16c2 00000676: JUMP 00000677: JUMPDEST 00000678: DUP11 00000679: PUSH2 0x0683 0000067c: DUP6 0000067d: DUP13 0000067e: DUP11 0000067f: PUSH2 0x16c2 00000682: JUMP 00000683: JUMPDEST 00000684: CALLDATALOAD 00000685: PUSH2 0x068f 00000688: DUP7 00000689: DUP13 0000068a: DUP11 0000068b: PUSH2 0x1720 0000068e: JUMP 0000068f: JUMPDEST 00000690: DUP1 00000691: SWAP4 00000692: MLOAD 00000693: SWAP4 00000694: DUP5 00000695: SWAP3 00000696: DUP4 00000697: CALLDATACOPY 00000698: DUP2 00000699: ADD 0000069a: DUP6 0000069b: DUP2 0000069c: MSTORE 0000069d: SUB 0000069e: SWAP3 0000069f: GAS 000006a0: CALL 000006a1: PUSH2 0x06a8 000006a4: PUSH2 0x164d 000006a7: JUMP 000006a8: JUMPDEST 000006a9: POP 000006aa: ISZERO 000006ab: PUSH2 0x06b6 000006ae: JUMPI 000006af: PUSH1 0x01 000006b1: ADD 000006b2: PUSH2 0x065e 000006b5: JUMP 000006b6: JUMPDEST 000006b7: DUP8 000006b8: MLOAD 000006b9: RETURNDATASIZE 000006ba: PUSH0 000006bb: DUP3 000006bc: RETURNDATACOPY 000006bd: RETURNDATASIZE 000006be: SWAP1 000006bf: REVERT 000006c0: JUMPDEST 000006c1: DUP8 000006c2: MLOAD 000006c3: PUSH32 0xff633a3800000000000000000000000000000000000000000000000000000000 000006e4: DUP2 000006e5: MSTORE 000006e6: REVERT 000006e7: JUMPDEST 000006e8: DUP8 000006e9: MLOAD 000006ea: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 0000070b: DUP2 0000070c: MSTORE 0000070d: REVERT 0000070e: JUMPDEST 0000070f: POP 00000710: SWAP1 00000711: CALLVALUE 00000712: PUSH2 0x01e2 00000715: JUMPI 00000716: DUP1 00000717: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000738: CALLDATASIZE 00000739: ADD 0000073a: SLT 0000073b: PUSH2 0x01e2 0000073e: JUMPI 0000073f: PUSH2 0x0746 00000742: PUSH2 0x11ca 00000745: JUMP 00000746: JUMPDEST 00000747: PUSH2 0x074e 0000074a: PUSH2 0x1304 0000074d: JUMP 0000074e: JUMPDEST 0000074f: SWAP2 00000750: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000765: PUSH0 00000766: SLOAD 00000767: AND 00000768: CALLER 00000769: SUB 0000076a: PUSH2 0x0254 0000076d: JUMPI 0000076e: PUSH2 0x001c 00000771: DUP4 00000772: DUP4 00000773: PUSH2 0x1a23 00000776: JUMP 00000777: JUMPDEST 00000778: DUP3 00000779: CALLVALUE 0000077a: PUSH2 0x01e2 0000077d: JUMPI 0000077e: PUSH0 0000077f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000007a0: CALLDATASIZE 000007a1: ADD 000007a2: SLT 000007a3: PUSH2 0x01e2 000007a6: JUMPI 000007a7: PUSH1 0x20 000007a9: SWAP1 000007aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007bf: PUSH0 000007c0: SLOAD 000007c1: AND 000007c2: SWAP1 000007c3: MLOAD 000007c4: SWAP1 000007c5: DUP2 000007c6: MSTORE 000007c7: RETURN 000007c8: JUMPDEST 000007c9: POP 000007ca: PUSH1 0x80 000007cc: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000007ed: CALLDATASIZE 000007ee: ADD 000007ef: SLT 000007f0: PUSH2 0x01e2 000007f3: JUMPI 000007f4: PUSH8 0xffffffffffffffff 000007fd: DUP2 000007fe: CALLDATALOAD 000007ff: DUP2 00000800: DUP2 00000801: GT 00000802: PUSH2 0x01e2 00000805: JUMPI 00000806: PUSH2 0x0812 00000809: SWAP1 0000080a: CALLDATASIZE 0000080b: SWAP1 0000080c: DUP5 0000080d: ADD 0000080e: PUSH2 0x1199 00000811: JUMP 00000812: JUMPDEST 00000813: PUSH1 0x24 00000815: SWAP3 00000816: SWAP2 00000817: SWAP3 00000818: CALLDATALOAD 00000819: DUP3 0000081a: DUP2 0000081b: GT 0000081c: PUSH2 0x01e2 0000081f: JUMPI 00000820: PUSH2 0x082c 00000823: SWAP1 00000824: CALLDATASIZE 00000825: SWAP1 00000826: DUP7 00000827: ADD 00000828: PUSH2 0x1199 0000082b: JUMP 0000082c: JUMPDEST 0000082d: SWAP1 0000082e: SWAP3 0000082f: PUSH1 0x44 00000831: CALLDATALOAD 00000832: SWAP1 00000833: DUP2 00000834: GT 00000835: PUSH2 0x01e2 00000838: JUMPI 00000839: PUSH2 0x001c 0000083c: SWAP6 0000083d: PUSH2 0x0848 00000840: SWAP2 00000841: CALLDATASIZE 00000842: SWAP2 00000843: ADD 00000844: PUSH2 0x1199 00000847: JUMP 00000848: JUMPDEST 00000849: SWAP4 0000084a: SWAP1 0000084b: SWAP3 0000084c: PUSH1 0x64 0000084e: CALLDATALOAD 0000084f: SWAP6 00000850: PUSH2 0x1794 00000853: JUMP 00000854: JUMPDEST 00000855: POP 00000856: PUSH1 0x60 00000858: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000879: CALLDATASIZE 0000087a: ADD 0000087b: SLT 0000087c: PUSH2 0x01e2 0000087f: JUMPI 00000880: PUSH8 0xffffffffffffffff 00000889: DUP2 0000088a: CALLDATALOAD 0000088b: DUP2 0000088c: DUP2 0000088d: GT 0000088e: PUSH2 0x01e2 00000891: JUMPI 00000892: PUSH2 0x089e 00000895: SWAP1 00000896: CALLDATASIZE 00000897: SWAP1 00000898: DUP5 00000899: ADD 0000089a: PUSH2 0x1199 0000089d: JUMP 0000089e: JUMPDEST 0000089f: SWAP2 000008a0: PUSH1 0x24 000008a2: CALLDATALOAD 000008a3: SWAP1 000008a4: DUP2 000008a5: GT 000008a6: PUSH2 0x01e2 000008a9: JUMPI 000008aa: PUSH2 0x001c 000008ad: SWAP4 000008ae: PUSH2 0x08b9 000008b1: SWAP2 000008b2: CALLDATASIZE 000008b3: SWAP2 000008b4: ADD 000008b5: PUSH2 0x1199 000008b8: JUMP 000008b9: JUMPDEST 000008ba: DUP1 000008bb: SWAP3 000008bc: SWAP2 000008bd: PUSH1 0x44 000008bf: CALLDATALOAD 000008c0: SWAP5 000008c1: CALLDATASIZE 000008c2: SWAP4 000008c3: PUSH2 0x1794 000008c6: JUMP 000008c7: JUMPDEST 000008c8: POP 000008c9: PUSH1 0x80 000008cb: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000008ec: CALLDATASIZE 000008ed: ADD 000008ee: SLT 000008ef: PUSH2 0x01e2 000008f2: JUMPI 000008f3: PUSH8 0xffffffffffffffff 000008fc: DUP2 000008fd: CALLDATALOAD 000008fe: DUP2 000008ff: DUP2 00000900: GT 00000901: PUSH2 0x01e2 00000904: JUMPI 00000905: PUSH2 0x0911 00000908: SWAP1 00000909: CALLDATASIZE 0000090a: SWAP1 0000090b: DUP5 0000090c: ADD 0000090d: PUSH2 0x1199 00000910: JUMP 00000911: JUMPDEST 00000912: SWAP2 00000913: SWAP1 00000914: SWAP3 00000915: PUSH1 0x24 00000917: CALLDATALOAD 00000918: SWAP2 00000919: DUP3 0000091a: GT 0000091b: PUSH2 0x01e2 0000091e: JUMPI 0000091f: PUSH2 0x092a 00000922: SWAP2 00000923: CALLDATASIZE 00000924: SWAP2 00000925: ADD 00000926: PUSH2 0x1199 00000929: JUMP 0000092a: JUMPDEST 0000092b: PUSH1 0x44 0000092d: SWAP4 0000092e: SWAP2 0000092f: SWAP4 00000930: CALLDATALOAD 00000931: SWAP2 00000932: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000947: DUP4 00000948: AND 00000949: DUP4 0000094a: SUB 0000094b: PUSH2 0x01e2 0000094e: JUMPI 0000094f: DUP2 00000950: PUSH2 0x001c 00000953: SWAP6 00000954: PUSH1 0x64 00000956: CALLDATALOAD 00000957: SWAP6 00000958: CALLDATASIZE 00000959: SWAP4 0000095a: PUSH2 0x13cf 0000095d: JUMP 0000095e: JUMPDEST 0000095f: POP 00000960: CALLVALUE 00000961: PUSH2 0x01e2 00000964: JUMPI 00000965: PUSH1 0x20 00000967: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000988: CALLDATASIZE 00000989: ADD 0000098a: SLT 0000098b: PUSH2 0x01e2 0000098e: JUMPI 0000098f: DUP1 00000990: CALLDATALOAD 00000991: PUSH8 0xffffffffffffffff 0000099a: DUP2 0000099b: GT 0000099c: PUSH2 0x01e2 0000099f: JUMPI 000009a0: PUSH2 0x09ac 000009a3: SWAP1 000009a4: CALLDATASIZE 000009a5: SWAP1 000009a6: DUP4 000009a7: ADD 000009a8: PUSH2 0x11ed 000009ab: JUMP 000009ac: JUMPDEST 000009ad: SWAP2 000009ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009c3: PUSH0 000009c4: SLOAD 000009c5: AND 000009c6: CALLER 000009c7: SUB 000009c8: PUSH2 0x01bb 000009cb: JUMPI 000009cc: PUSH1 0x28 000009ce: SWAP4 000009cf: PUSH1 0x28 000009d1: DUP5 000009d2: MOD 000009d3: PUSH2 0x0a24 000009d6: JUMPI 000009d7: POP 000009d8: POP 000009d9: PUSH0 000009da: JUMPDEST 000009db: DUP3 000009dc: DUP2 000009dd: LT 000009de: PUSH2 0x09e3 000009e1: JUMPI 000009e2: STOP 000009e3: JUMPDEST 000009e4: DUP1 000009e5: PUSH2 0x0a1e 000009e8: PUSH1 0x14 000009ea: DUP7 000009eb: SWAP4 000009ec: ADD 000009ed: PUSH2 0x0a01 000009f0: PUSH2 0x09fb 000009f3: DUP3 000009f4: DUP6 000009f5: DUP10 000009f6: DUP10 000009f7: PUSH2 0x15f1 000009fa: JUMP 000009fb: JUMPDEST 000009fc: SWAP1 000009fd: PUSH2 0x1609 00000a00: JUMP 00000a01: JUMPDEST 00000a02: PUSH2 0x0a15 00000a05: PUSH2 0x09fb 00000a08: PUSH1 0x60 00000a0a: SWAP4 00000a0b: DUP8 00000a0c: DUP8 00000a0d: ADD 00000a0e: SWAP1 00000a0f: DUP11 00000a10: DUP11 00000a11: PUSH2 0x15f1 00000a14: JUMP 00000a15: JUMPDEST 00000a16: DUP3 00000a17: SHR 00000a18: SWAP2 00000a19: SHR 00000a1a: PUSH2 0x1a23 00000a1d: JUMP 00000a1e: JUMPDEST 00000a1f: ADD 00000a20: PUSH2 0x09da 00000a23: JUMP 00000a24: JUMPDEST 00000a25: MLOAD 00000a26: PUSH32 0x947d5a8400000000000000000000000000000000000000000000000000000000 00000a47: DUP2 00000a48: MSTORE 00000a49: REVERT 00000a4a: JUMPDEST 00000a4b: POP 00000a4c: PUSH2 0x0a54 00000a4f: CALLDATASIZE 00000a50: PUSH2 0x1284 00000a53: JUMP 00000a54: JUMPDEST 00000a55: SWAP5 00000a56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a6b: PUSH0 00000a6c: SWAP8 00000a6d: SWAP4 00000a6e: SWAP5 00000a6f: SWAP6 00000a70: SWAP8 00000a71: SLOAD 00000a72: AND 00000a73: CALLER 00000a74: SUB 00000a75: PUSH2 0x0cd2 00000a78: JUMPI 00000a79: DUP4 00000a7a: DUP8 00000a7b: SUB 00000a7c: PUSH2 0x0caa 00000a7f: JUMPI 00000a80: PUSH2 0x0a8e 00000a83: DUP8 00000a84: SWAP7 00000a85: SWAP5 00000a86: SWAP4 00000a87: SWAP3 00000a88: SWAP9 00000a89: SWAP8 00000a8a: PUSH2 0x16aa 00000a8d: JUMP 00000a8e: JUMPDEST 00000a8f: SWAP8 00000a90: PUSH2 0x0a9b 00000a93: DUP9 00000a94: MLOAD 00000a95: SWAP10 00000a96: DUP11 00000a97: PUSH2 0x1327 00000a9a: JUMP 00000a9b: JUMPDEST 00000a9c: DUP7 00000a9d: DUP10 00000a9e: MSTORE 00000a9f: PUSH2 0x0aa7 00000aa2: DUP8 00000aa3: PUSH2 0x16aa 00000aa6: JUMP 00000aa7: JUMPDEST 00000aa8: SWAP6 00000aa9: PUSH1 0x20 00000aab: SWAP5 00000aac: DUP6 00000aad: DUP12 00000aae: ADD 00000aaf: SWAP7 00000ab0: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00000ad1: DUP1 00000ad2: SWAP10 00000ad3: ADD 00000ad4: CALLDATASIZE 00000ad5: DUP10 00000ad6: CALLDATACOPY 00000ad7: PUSH2 0x0adf 00000ada: DUP11 00000adb: PUSH2 0x16aa 00000ade: JUMP 00000adf: JUMPDEST 00000ae0: SWAP10 00000ae1: PUSH2 0x0aec 00000ae4: DUP13 00000ae5: MLOAD 00000ae6: SWAP12 00000ae7: DUP13 00000ae8: PUSH2 0x1327 00000aeb: JUMP 00000aec: JUMPDEST 00000aed: DUP1 00000aee: DUP12 00000aef: MSTORE 00000af0: DUP10 00000af1: PUSH2 0x0af9 00000af4: DUP3 00000af5: PUSH2 0x16aa 00000af8: JUMP 00000af9: JUMPDEST 00000afa: ADD 00000afb: PUSH0 00000afc: JUMPDEST 00000afd: DUP2 00000afe: DUP2 00000aff: LT 00000b00: PUSH2 0x0c9b 00000b03: JUMPI 00000b04: POP 00000b05: POP 00000b06: PUSH0 00000b07: JUMPDEST 00000b08: DUP2 00000b09: DUP2 00000b0a: LT 00000b0b: PUSH2 0x0c27 00000b0e: JUMPI 00000b0f: POP 00000b10: POP 00000b11: POP 00000b12: POP 00000b13: POP 00000b14: POP 00000b15: POP 00000b16: DUP6 00000b17: MLOAD 00000b18: SWAP7 00000b19: DUP8 00000b1a: SWAP7 00000b1b: PUSH32 0x9cb0e09d00000000000000000000000000000000000000000000000000000000 00000b3c: DUP9 00000b3d: MSTORE 00000b3e: PUSH1 0x44 00000b40: DUP9 00000b41: ADD 00000b42: SWAP3 00000b43: DUP9 00000b44: ADD 00000b45: MSTORE 00000b46: MLOAD 00000b47: DUP1 00000b48: SWAP2 00000b49: MSTORE 00000b4a: PUSH1 0x64 00000b4c: DUP7 00000b4d: ADD 00000b4e: SWAP3 00000b4f: SWAP1 00000b50: PUSH0 00000b51: JUMPDEST 00000b52: DUP2 00000b53: DUP2 00000b54: LT 00000b55: PUSH2 0x0c0e 00000b58: JUMPI 00000b59: POP 00000b5a: POP 00000b5b: POP 00000b5c: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000b7d: DUP6 00000b7e: DUP4 00000b7f: SUB 00000b80: ADD 00000b81: PUSH1 0x24 00000b83: DUP7 00000b84: ADD 00000b85: MSTORE 00000b86: DUP4 00000b87: MLOAD 00000b88: SWAP1 00000b89: DUP2 00000b8a: DUP4 00000b8b: MSTORE 00000b8c: DUP1 00000b8d: DUP4 00000b8e: ADD 00000b8f: SWAP3 00000b90: DUP2 00000b91: DUP1 00000b92: DUP5 00000b93: PUSH1 0x05 00000b95: SHL 00000b96: DUP4 00000b97: ADD 00000b98: ADD 00000b99: SWAP7 00000b9a: ADD 00000b9b: SWAP5 00000b9c: PUSH0 00000b9d: SWAP2 00000b9e: JUMPDEST 00000b9f: DUP5 00000ba0: DUP4 00000ba1: LT 00000ba2: PUSH2 0x0bab 00000ba5: JUMPI 00000ba6: DUP9 00000ba7: DUP9 00000ba8: SUB 00000ba9: DUP10 00000baa: REVERT 00000bab: JUMPDEST 00000bac: SWAP2 00000bad: SWAP4 00000bae: SWAP6 00000baf: SWAP8 00000bb0: POP 00000bb1: SWAP2 00000bb2: SWAP4 00000bb3: SWAP6 00000bb4: DUP3 00000bb5: DUP3 00000bb6: DUP3 00000bb7: SUB 00000bb8: ADD 00000bb9: DUP8 00000bba: MSTORE 00000bbb: DUP5 00000bbc: DUP4 00000bbd: DUP10 00000bbe: MLOAD 00000bbf: DUP1 00000bc0: MLOAD 00000bc1: SWAP1 00000bc2: DUP2 00000bc3: DUP6 00000bc4: MSTORE 00000bc5: PUSH0 00000bc6: JUMPDEST 00000bc7: DUP3 00000bc8: DUP2 00000bc9: LT 00000bca: PUSH2 0x0bf7 00000bcd: JUMPI 00000bce: POP 00000bcf: POP 00000bd0: DUP4 00000bd1: DUP4 00000bd2: SWAP3 00000bd3: PUSH1 0x1f 00000bd5: DUP4 00000bd6: PUSH0 00000bd7: DUP7 00000bd8: DUP1 00000bd9: SWAP7 00000bda: PUSH1 0x01 00000bdc: SWAP11 00000bdd: ADD 00000bde: ADD 00000bdf: MSTORE 00000be0: ADD 00000be1: AND 00000be2: ADD 00000be3: ADD 00000be4: SWAP10 00000be5: ADD 00000be6: SWAP8 00000be7: ADD 00000be8: SWAP4 00000be9: ADD 00000bea: SWAP1 00000beb: SWAP2 00000bec: DUP9 00000bed: SWAP8 00000bee: SWAP7 00000bef: SWAP6 00000bf0: SWAP4 00000bf1: SWAP5 00000bf2: SWAP3 00000bf3: PUSH2 0x0b9e 00000bf6: JUMP 00000bf7: JUMPDEST 00000bf8: DUP2 00000bf9: DUP2 00000bfa: ADD 00000bfb: DUP6 00000bfc: ADD 00000bfd: MLOAD 00000bfe: DUP7 00000bff: DUP3 00000c00: ADD 00000c01: DUP7 00000c02: ADD 00000c03: MSTORE 00000c04: DUP10 00000c05: SWAP5 00000c06: DUP9 00000c07: SWAP5 00000c08: POP 00000c09: ADD 00000c0a: PUSH2 0x0bc6 00000c0d: JUMP 00000c0e: JUMPDEST 00000c0f: DUP3 00000c10: MLOAD 00000c11: ISZERO 00000c12: ISZERO 00000c13: DUP6 00000c14: MSTORE 00000c15: DUP9 00000c16: SWAP8 00000c17: POP 00000c18: SWAP4 00000c19: DUP4 00000c1a: ADD 00000c1b: SWAP4 00000c1c: SWAP2 00000c1d: DUP4 00000c1e: ADD 00000c1f: SWAP2 00000c20: PUSH1 0x01 00000c22: ADD 00000c23: PUSH2 0x0b51 00000c26: JUMP 00000c27: JUMPDEST 00000c28: DUP1 00000c29: DUP13 00000c2a: DUP15 00000c2b: SWAP16 00000c2c: SWAP10 00000c2d: SWAP11 00000c2e: SWAP12 00000c2f: SWAP14 00000c30: SWAP15 00000c31: PUSH0 00000c32: DUP10 00000c33: DUP2 00000c34: SWAP3 00000c35: DUP11 00000c36: PUSH2 0x0c60 00000c39: DUP8 00000c3a: DUP16 00000c3b: PUSH2 0x0c59 00000c3e: DUP3 00000c3f: DUP16 00000c40: SWAP3 00000c41: DUP16 00000c42: SWAP1 00000c43: DUP16 00000c44: PUSH1 0x01 00000c46: SWAP16 00000c47: PUSH2 0x046d 00000c4a: SWAP2 00000c4b: PUSH2 0x0c53 00000c4e: SWAP4 00000c4f: PUSH2 0x16c2 00000c52: JUMP 00000c53: JUMPDEST 00000c54: SWAP9 00000c55: PUSH2 0x16c2 00000c58: JUMP 00000c59: JUMPDEST 00000c5a: CALLDATALOAD 00000c5b: SWAP4 00000c5c: PUSH2 0x1720 00000c5f: JUMP 00000c60: JUMPDEST 00000c61: DUP1 00000c62: SWAP4 00000c63: MLOAD 00000c64: SWAP4 00000c65: DUP5 00000c66: SWAP3 00000c67: DUP4 00000c68: CALLDATACOPY 00000c69: DUP2 00000c6a: ADD 00000c6b: DUP6 00000c6c: DUP2 00000c6d: MSTORE 00000c6e: SUB 00000c6f: SWAP3 00000c70: GAS 00000c71: CALL 00000c72: SWAP1 00000c73: PUSH2 0x0c7e 00000c76: DUP4 00000c77: PUSH2 0x04a8 00000c7a: PUSH2 0x164d 00000c7d: JUMP 00000c7e: JUMPDEST 00000c7f: MSTORE 00000c80: PUSH2 0x0c89 00000c83: DUP3 00000c84: DUP12 00000c85: PUSH2 0x1780 00000c88: JUMP 00000c89: JUMPDEST 00000c8a: SWAP1 00000c8b: ISZERO 00000c8c: ISZERO 00000c8d: SWAP1 00000c8e: MSTORE 00000c8f: ADD 00000c90: SWAP13 00000c91: SWAP12 00000c92: SWAP11 00000c93: SWAP9 00000c94: SWAP8 00000c95: SWAP7 00000c96: SWAP13 00000c97: PUSH2 0x0b07 00000c9a: JUMP 00000c9b: JUMPDEST 00000c9c: PUSH1 0x60 00000c9e: DUP14 00000c9f: DUP3 00000ca0: ADD 00000ca1: DUP12 00000ca2: ADD 00000ca3: MSTORE 00000ca4: DUP10 00000ca5: ADD 00000ca6: PUSH2 0x0afc 00000ca9: JUMP 00000caa: JUMPDEST 00000cab: DUP3 00000cac: DUP9 00000cad: MLOAD 00000cae: PUSH32 0xff633a3800000000000000000000000000000000000000000000000000000000 00000ccf: DUP2 00000cd0: MSTORE 00000cd1: REVERT 00000cd2: JUMPDEST 00000cd3: DUP3 00000cd4: DUP9 00000cd5: MLOAD 00000cd6: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 00000cf7: DUP2 00000cf8: MSTORE 00000cf9: REVERT 00000cfa: JUMPDEST 00000cfb: POP 00000cfc: SWAP1 00000cfd: CALLVALUE 00000cfe: PUSH2 0x01e2 00000d01: JUMPI 00000d02: PUSH0 00000d03: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000d24: CALLDATASIZE 00000d25: ADD 00000d26: SLT 00000d27: PUSH2 0x01e2 00000d2a: JUMPI 00000d2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d40: PUSH0 00000d41: SLOAD 00000d42: AND 00000d43: CALLER 00000d44: SUB 00000d45: PUSH2 0x0d86 00000d48: JUMPI 00000d49: PUSH0 00000d4a: DUP1 00000d4b: DUP1 00000d4c: DUP1 00000d4d: SELFBALANCE 00000d4e: CALLER 00000d4f: GAS 00000d50: CALL 00000d51: PUSH2 0x0d58 00000d54: PUSH2 0x164d 00000d57: JUMP 00000d58: JUMPDEST 00000d59: POP 00000d5a: ISZERO 00000d5b: PUSH2 0x0d60 00000d5e: JUMPI 00000d5f: STOP 00000d60: JUMPDEST 00000d61: MLOAD 00000d62: PUSH32 0xb12d13eb00000000000000000000000000000000000000000000000000000000 00000d83: DUP2 00000d84: MSTORE 00000d85: REVERT 00000d86: JUMPDEST 00000d87: MLOAD 00000d88: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 00000da9: DUP2 00000daa: MSTORE 00000dab: REVERT 00000dac: JUMPDEST 00000dad: POP 00000dae: PUSH2 0x0db6 00000db1: CALLDATASIZE 00000db2: PUSH2 0x121b 00000db5: JUMP 00000db6: JUMPDEST 00000db7: SWAP1 00000db8: SWAP4 00000db9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dce: PUSH0 00000dcf: SLOAD 00000dd0: AND 00000dd1: CALLER 00000dd2: SUB 00000dd3: PUSH2 0x0501 00000dd6: JUMPI 00000dd7: DUP2 00000dd8: DUP4 00000dd9: SUB 00000dda: PUSH2 0x04da 00000ddd: JUMPI 00000dde: POP 00000ddf: PUSH0 00000de0: JUMPDEST 00000de1: DUP3 00000de2: DUP2 00000de3: LT 00000de4: PUSH2 0x0de9 00000de7: JUMPI 00000de8: STOP 00000de9: JUMPDEST 00000dea: PUSH0 00000deb: DUP1 00000dec: PUSH2 0x0df9 00000def: PUSH2 0x046d 00000df2: DUP5 00000df3: DUP8 00000df4: DUP10 00000df5: PUSH2 0x16c2 00000df8: JUMP 00000df9: JUMPDEST 00000dfa: PUSH2 0x0e04 00000dfd: DUP5 00000dfe: DUP7 00000dff: CALLDATASIZE 00000e00: PUSH2 0x16c2 00000e03: JUMP 00000e04: JUMPDEST 00000e05: CALLDATALOAD 00000e06: PUSH2 0x0e10 00000e09: DUP6 00000e0a: DUP8 00000e0b: DUP12 00000e0c: PUSH2 0x1720 00000e0f: JUMP 00000e10: JUMPDEST 00000e11: SWAP2 00000e12: SWAP1 00000e13: DUP3 00000e14: DUP13 00000e15: MLOAD 00000e16: SWAP4 00000e17: DUP5 00000e18: SWAP3 00000e19: DUP4 00000e1a: CALLDATACOPY 00000e1b: DUP2 00000e1c: ADD 00000e1d: DUP6 00000e1e: DUP2 00000e1f: MSTORE 00000e20: SUB 00000e21: SWAP3 00000e22: GAS 00000e23: CALL 00000e24: PUSH2 0x0e2b 00000e27: PUSH2 0x164d 00000e2a: JUMP 00000e2b: JUMPDEST 00000e2c: POP 00000e2d: ISZERO 00000e2e: PUSH2 0x0e39 00000e31: JUMPI 00000e32: PUSH1 0x01 00000e34: ADD 00000e35: PUSH2 0x0de0 00000e38: JUMP 00000e39: JUMPDEST 00000e3a: DUP6 00000e3b: MLOAD 00000e3c: RETURNDATASIZE 00000e3d: PUSH0 00000e3e: DUP3 00000e3f: RETURNDATACOPY 00000e40: RETURNDATASIZE 00000e41: SWAP1 00000e42: REVERT 00000e43: JUMPDEST 00000e44: POP 00000e45: CALLVALUE 00000e46: PUSH2 0x01e2 00000e49: JUMPI 00000e4a: DUP2 00000e4b: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000e6c: CALLDATASIZE 00000e6d: ADD 00000e6e: SLT 00000e6f: PUSH2 0x01e2 00000e72: JUMPI 00000e73: DUP1 00000e74: CALLDATALOAD 00000e75: SWAP2 00000e76: PUSH8 0xffffffffffffffff 00000e7f: PUSH1 0x24 00000e81: CALLDATALOAD 00000e82: DUP2 00000e83: DUP2 00000e84: GT 00000e85: PUSH2 0x01e2 00000e88: JUMPI 00000e89: PUSH2 0x0e95 00000e8c: SWAP1 00000e8d: CALLDATASIZE 00000e8e: SWAP1 00000e8f: DUP6 00000e90: ADD 00000e91: PUSH2 0x11ed 00000e94: JUMP 00000e95: JUMPDEST 00000e96: SWAP5 00000e97: PUSH0 00000e98: SWAP5 00000e99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eae: SWAP4 00000eaf: CALLER 00000eb0: PUSH32 0x000000000000000000000000111111125421ca6dc452d289314280a0f8842a65 00000ed1: DUP7 00000ed2: AND 00000ed3: SUB 00000ed4: PUSH2 0x0f45 00000ed7: JUMPI 00000ed8: POP 00000ed9: POP 00000eda: SWAP5 00000edb: PUSH2 0x0ee6 00000ede: SWAP2 00000edf: PUSH1 0x20 00000ee1: SWAP7 00000ee2: PUSH2 0x1955 00000ee5: JUMP 00000ee6: JUMPDEST 00000ee7: SWAP1 00000ee8: JUMPDEST 00000ee9: DUP1 00000eea: PUSH0 00000eeb: SLOAD 00000eec: AND 00000eed: SWAP2 00000eee: AND 00000eef: EQ 00000ef0: PUSH2 0x0f1d 00000ef3: JUMPI 00000ef4: JUMPDEST 00000ef5: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000f16: SWAP1 00000f17: MLOAD 00000f18: SWAP2 00000f19: AND 00000f1a: DUP2 00000f1b: MSTORE 00000f1c: RETURN 00000f1d: JUMPDEST 00000f1e: PUSH32 0x1626ba7e00000000000000000000000000000000000000000000000000000000 00000f3f: SWAP2 00000f40: POP 00000f41: PUSH2 0x0ef4 00000f44: JUMP 00000f45: JUMPDEST 00000f46: DUP6 00000f47: MLOAD 00000f48: SWAP2 00000f49: PUSH1 0x20 00000f4b: DUP4 00000f4c: ADD 00000f4d: SWAP4 00000f4e: DUP5 00000f4f: MSTORE 00000f50: ADDRESS 00000f51: PUSH1 0x60 00000f53: SHL 00000f54: DUP8 00000f55: DUP5 00000f56: ADD 00000f57: MSTORE 00000f58: PUSH1 0x34 00000f5a: DUP4 00000f5b: MSTORE 00000f5c: PUSH1 0x60 00000f5e: DUP4 00000f5f: ADD 00000f60: SWAP2 00000f61: DUP4 00000f62: DUP4 00000f63: LT 00000f64: SWAP1 00000f65: DUP4 00000f66: GT 00000f67: OR 00000f68: PUSH2 0x0f85 00000f6b: JUMPI 00000f6c: POP 00000f6d: DUP6 00000f6e: MSTORE 00000f6f: MLOAD 00000f70: SWAP1 00000f71: KECCAK256 00000f72: PUSH1 0x20 00000f74: SWAP6 00000f75: PUSH2 0x0f7f 00000f78: SWAP3 00000f79: SWAP1 00000f7a: SWAP2 00000f7b: PUSH2 0x1955 00000f7e: JUMP 00000f7f: JUMPDEST 00000f80: SWAP1 00000f81: PUSH2 0x0ee8 00000f84: JUMP 00000f85: JUMPDEST 00000f86: PUSH1 0x41 00000f88: SWAP1 00000f89: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000faa: PUSH0 00000fab: MSTORE 00000fac: MSTORE 00000fad: PUSH1 0x24 00000faf: PUSH0 00000fb0: REVERT 00000fb1: JUMPDEST 00000fb2: POP 00000fb3: CALLVALUE 00000fb4: PUSH2 0x01e2 00000fb7: JUMPI 00000fb8: PUSH1 0x20 00000fba: SWAP1 00000fbb: PUSH1 0x20 00000fbd: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000fde: CALLDATASIZE 00000fdf: ADD 00000fe0: SLT 00000fe1: PUSH2 0x01e2 00000fe4: JUMPI 00000fe5: DUP1 00000fe6: CALLDATALOAD 00000fe7: PUSH8 0xffffffffffffffff 00000ff0: DUP2 00000ff1: GT 00000ff2: PUSH2 0x01e2 00000ff5: JUMPI 00000ff6: PUSH2 0x1002 00000ff9: SWAP1 00000ffa: CALLDATASIZE 00000ffb: SWAP1 00000ffc: DUP4 00000ffd: ADD 00000ffe: PUSH2 0x11ed 00001001: JUMP 00001002: JUMPDEST 00001003: SWAP3 00001004: SWAP1 00001005: SWAP2 00001006: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000101b: PUSH0 0000101c: SLOAD 0000101d: AND 0000101e: CALLER 0000101f: SUB 00001020: PUSH2 0x10c6 00001023: JUMPI 00001024: PUSH1 0x48 00001026: SWAP5 00001027: PUSH1 0x48 00001029: DUP6 0000102a: MOD 0000102b: PUSH2 0x0a24 0000102e: JUMPI 0000102f: POP 00001030: POP 00001031: PUSH0 00001032: JUMPDEST 00001033: DUP4 00001034: DUP2 00001035: LT 00001036: PUSH2 0x103b 00001039: JUMPI 0000103a: STOP 0000103b: JUMPDEST 0000103c: DUP1 0000103d: PUSH2 0x108e 00001040: PUSH1 0x14 00001042: DUP8 00001043: SWAP4 00001044: ADD 00001045: PUSH2 0x1053 00001048: PUSH2 0x09fb 0000104b: DUP3 0000104c: DUP6 0000104d: DUP11 0000104e: DUP11 0000104f: PUSH2 0x15f1 00001052: JUMP 00001053: JUMPDEST 00001054: SWAP1 00001055: PUSH1 0x60 00001057: SWAP2 00001058: PUSH2 0x107b 0000105b: PUSH2 0x106d 0000105e: PUSH2 0x09fb 00001061: PUSH1 0x28 00001063: DUP9 00001064: ADD 00001065: DUP1 00001066: SWAP6 00001067: DUP14 00001068: DUP14 00001069: PUSH2 0x15f1 0000106c: JUMP 0000106d: JUMPDEST 0000106e: DUP5 0000106f: SHR 00001070: SWAP3 00001071: DUP8 00001072: DUP8 00001073: ADD 00001074: SWAP1 00001075: DUP12 00001076: DUP12 00001077: PUSH2 0x15f1 0000107a: JUMP 0000107b: JUMPDEST 0000107c: SWAP4 0000107d: SWAP1 0000107e: CALLDATALOAD 0000107f: SWAP4 00001080: DUP9 00001081: DUP2 00001082: LT 00001083: PUSH2 0x1094 00001086: JUMPI 00001087: JUMPDEST 00001088: POP 00001089: SHR 0000108a: PUSH2 0x18bd 0000108d: JUMP 0000108e: JUMPDEST 0000108f: ADD 00001090: PUSH2 0x1032 00001093: JUMP 00001094: JUMPDEST 00001095: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000010b6: SWAP1 000010b7: DUP10 000010b8: SUB 000010b9: PUSH1 0x03 000010bb: SHL 000010bc: SHL 000010bd: SWAP1 000010be: SWAP4 000010bf: AND 000010c0: SWAP3 000010c1: PUSH0 000010c2: PUSH2 0x1087 000010c5: JUMP 000010c6: JUMPDEST 000010c7: DUP5 000010c8: MLOAD 000010c9: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 000010ea: DUP2 000010eb: MSTORE 000010ec: REVERT 000010ed: JUMPDEST 000010ee: POP 000010ef: PUSH1 0xa0 000010f1: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001112: CALLDATASIZE 00001113: ADD 00001114: SLT 00001115: PUSH2 0x01e2 00001118: JUMPI 00001119: PUSH8 0xffffffffffffffff 00001122: DUP2 00001123: CALLDATALOAD 00001124: DUP2 00001125: DUP2 00001126: GT 00001127: PUSH2 0x01e2 0000112a: JUMPI 0000112b: PUSH2 0x1137 0000112e: SWAP1 0000112f: CALLDATASIZE 00001130: SWAP1 00001131: DUP5 00001132: ADD 00001133: PUSH2 0x1199 00001136: JUMP 00001137: JUMPDEST 00001138: SWAP3 00001139: SWAP1 0000113a: SWAP2 0000113b: PUSH1 0x24 0000113d: CALLDATALOAD 0000113e: DUP2 0000113f: DUP2 00001140: GT 00001141: PUSH2 0x01e2 00001144: JUMPI 00001145: PUSH2 0x1151 00001148: SWAP1 00001149: CALLDATASIZE 0000114a: SWAP1 0000114b: DUP5 0000114c: ADD 0000114d: PUSH2 0x1199 00001150: JUMP 00001151: JUMPDEST 00001152: SWAP2 00001153: SWAP1 00001154: SWAP3 00001155: PUSH1 0x44 00001157: CALLDATALOAD 00001158: SWAP2 00001159: DUP3 0000115a: GT 0000115b: PUSH2 0x01e2 0000115e: JUMPI 0000115f: PUSH2 0x116a 00001162: SWAP2 00001163: CALLDATASIZE 00001164: SWAP2 00001165: ADD 00001166: PUSH2 0x1199 00001169: JUMP 0000116a: JUMPDEST 0000116b: SWAP2 0000116c: PUSH1 0x64 0000116e: CALLDATALOAD 0000116f: SWAP4 00001170: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001185: DUP6 00001186: AND 00001187: DUP6 00001188: SUB 00001189: PUSH2 0x01e2 0000118c: JUMPI 0000118d: PUSH2 0x001c 00001190: SWAP7 00001191: PUSH1 0x84 00001193: CALLDATALOAD 00001194: SWAP7 00001195: PUSH2 0x13cf 00001198: JUMP 00001199: JUMPDEST 0000119a: SWAP2 0000119b: DUP2 0000119c: PUSH1 0x1f 0000119e: DUP5 0000119f: ADD 000011a0: SLT 000011a1: ISZERO 000011a2: PUSH2 0x01e2 000011a5: JUMPI 000011a6: DUP3 000011a7: CALLDATALOAD 000011a8: SWAP2 000011a9: PUSH8 0xffffffffffffffff 000011b2: DUP4 000011b3: GT 000011b4: PUSH2 0x01e2 000011b7: JUMPI 000011b8: PUSH1 0x20 000011ba: DUP1 000011bb: DUP6 000011bc: ADD 000011bd: SWAP5 000011be: DUP5 000011bf: PUSH1 0x05 000011c1: SHL 000011c2: ADD 000011c3: ADD 000011c4: GT 000011c5: PUSH2 0x01e2 000011c8: JUMPI 000011c9: JUMP 000011ca: JUMPDEST 000011cb: PUSH1 0x04 000011cd: CALLDATALOAD 000011ce: SWAP1 000011cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011e4: DUP3 000011e5: AND 000011e6: DUP3 000011e7: SUB 000011e8: PUSH2 0x01e2 000011eb: JUMPI 000011ec: JUMP 000011ed: JUMPDEST 000011ee: SWAP2 000011ef: DUP2 000011f0: PUSH1 0x1f 000011f2: DUP5 000011f3: ADD 000011f4: SLT 000011f5: ISZERO 000011f6: PUSH2 0x01e2 000011f9: JUMPI 000011fa: DUP3 000011fb: CALLDATALOAD 000011fc: SWAP2 000011fd: PUSH8 0xffffffffffffffff 00001206: DUP4 00001207: GT 00001208: PUSH2 0x01e2 0000120b: JUMPI 0000120c: PUSH1 0x20 0000120e: DUP4 0000120f: DUP2 00001210: DUP7 00001211: ADD 00001212: SWAP6 00001213: ADD 00001214: ADD 00001215: GT 00001216: PUSH2 0x01e2 00001219: JUMPI 0000121a: JUMP 0000121b: JUMPDEST 0000121c: PUSH1 0x40 0000121e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000123f: DUP3 00001240: ADD 00001241: SLT 00001242: PUSH2 0x01e2 00001245: JUMPI 00001246: PUSH8 0xffffffffffffffff 0000124f: SWAP2 00001250: PUSH1 0x04 00001252: CALLDATALOAD 00001253: DUP4 00001254: DUP2 00001255: GT 00001256: PUSH2 0x01e2 00001259: JUMPI 0000125a: DUP3 0000125b: PUSH2 0x1266 0000125e: SWAP2 0000125f: PUSH1 0x04 00001261: ADD 00001262: PUSH2 0x1199 00001265: JUMP 00001266: JUMPDEST 00001267: SWAP4 00001268: SWAP1 00001269: SWAP4 0000126a: SWAP3 0000126b: PUSH1 0x24 0000126d: CALLDATALOAD 0000126e: SWAP2 0000126f: DUP3 00001270: GT 00001271: PUSH2 0x01e2 00001274: JUMPI 00001275: PUSH2 0x1280 00001278: SWAP2 00001279: PUSH1 0x04 0000127b: ADD 0000127c: PUSH2 0x1199 0000127f: JUMP 00001280: JUMPDEST 00001281: SWAP1 00001282: SWAP2 00001283: JUMP 00001284: JUMPDEST 00001285: SWAP1 00001286: PUSH1 0x60 00001288: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000012a9: DUP4 000012aa: ADD 000012ab: SLT 000012ac: PUSH2 0x01e2 000012af: JUMPI 000012b0: PUSH8 0xffffffffffffffff 000012b9: PUSH1 0x04 000012bb: CALLDATALOAD 000012bc: DUP2 000012bd: DUP2 000012be: GT 000012bf: PUSH2 0x01e2 000012c2: JUMPI 000012c3: DUP4 000012c4: PUSH2 0x12cf 000012c7: SWAP2 000012c8: PUSH1 0x04 000012ca: ADD 000012cb: PUSH2 0x1199 000012ce: JUMP 000012cf: JUMPDEST 000012d0: SWAP4 000012d1: SWAP1 000012d2: SWAP4 000012d3: SWAP3 000012d4: PUSH1 0x24 000012d6: CALLDATALOAD 000012d7: DUP4 000012d8: DUP2 000012d9: GT 000012da: PUSH2 0x01e2 000012dd: JUMPI 000012de: DUP3 000012df: PUSH2 0x12ea 000012e2: SWAP2 000012e3: PUSH1 0x04 000012e5: ADD 000012e6: PUSH2 0x1199 000012e9: JUMP 000012ea: JUMPDEST 000012eb: SWAP4 000012ec: SWAP1 000012ed: SWAP4 000012ee: SWAP3 000012ef: PUSH1 0x44 000012f1: CALLDATALOAD 000012f2: SWAP2 000012f3: DUP3 000012f4: GT 000012f5: PUSH2 0x01e2 000012f8: JUMPI 000012f9: PUSH2 0x1280 000012fc: SWAP2 000012fd: PUSH1 0x04 000012ff: ADD 00001300: PUSH2 0x1199 00001303: JUMP 00001304: JUMPDEST 00001305: PUSH1 0x24 00001307: CALLDATALOAD 00001308: SWAP1 00001309: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000131e: DUP3 0000131f: AND 00001320: DUP3 00001321: SUB 00001322: PUSH2 0x01e2 00001325: JUMPI 00001326: JUMP 00001327: JUMPDEST 00001328: SWAP1 00001329: PUSH1 0x1f 0000132b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000134c: SWAP2 0000134d: ADD 0000134e: AND 0000134f: DUP2 00001350: ADD 00001351: SWAP1 00001352: DUP2 00001353: LT 00001354: PUSH8 0xffffffffffffffff 0000135d: DUP3 0000135e: GT 0000135f: OR 00001360: PUSH2 0x1368 00001363: JUMPI 00001364: PUSH1 0x40 00001366: MSTORE 00001367: JUMP 00001368: JUMPDEST 00001369: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000138a: PUSH0 0000138b: MSTORE 0000138c: PUSH1 0x41 0000138e: PUSH1 0x04 00001390: MSTORE 00001391: PUSH1 0x24 00001393: PUSH0 00001394: REVERT 00001395: JUMPDEST 00001396: SWAP2 00001397: SWAP1 00001398: DUP3 00001399: ADD 0000139a: DUP1 0000139b: SWAP3 0000139c: GT 0000139d: PUSH2 0x13a2 000013a0: JUMPI 000013a1: JUMP 000013a2: JUMPDEST 000013a3: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000013c4: PUSH0 000013c5: MSTORE 000013c6: PUSH1 0x11 000013c8: PUSH1 0x04 000013ca: MSTORE 000013cb: PUSH1 0x24 000013cd: PUSH0 000013ce: REVERT 000013cf: JUMPDEST 000013d0: SWAP7 000013d1: SWAP5 000013d2: SWAP1 000013d3: SWAP7 000013d4: SWAP6 000013d5: SWAP4 000013d6: SWAP2 000013d7: SWAP6 000013d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013ed: DUP1 000013ee: SWAP6 000013ef: AND 000013f0: SWAP3 000013f1: PUSH1 0x40 000013f3: SWAP8 000013f4: DUP9 000013f5: MLOAD 000013f6: SWAP6 000013f7: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00001418: SWAP5 00001419: DUP6 0000141a: DUP9 0000141b: MSTORE 0000141c: PUSH1 0x04 0000141e: SWAP12 0000141f: ADDRESS 00001420: DUP14 00001421: DUP11 00001422: ADD 00001423: MSTORE 00001424: PUSH1 0x20 00001426: SWAP10 00001427: DUP11 00001428: DUP11 00001429: PUSH1 0x24 0000142b: DUP2 0000142c: DUP13 0000142d: GAS 0000142e: STATICCALL 0000142f: SWAP10 00001430: DUP11 00001431: ISZERO 00001432: PUSH2 0x15e7 00001435: JUMPI 00001436: PUSH0 00001437: SWAP11 00001438: PUSH2 0x15b8 0000143b: JUMPI 0000143c: JUMPDEST 0000143d: POP 0000143e: PUSH0 0000143f: SLOAD 00001440: AND 00001441: CALLER 00001442: SUB 00001443: PUSH2 0x1590 00001446: JUMPI 00001447: DUP3 00001448: DUP2 00001449: SUB 0000144a: PUSH2 0x1568 0000144d: JUMPI 0000144e: DUP2 0000144f: DUP2 00001450: SUB 00001451: PUSH2 0x1568 00001454: JUMPI 00001455: SWAP1 00001456: DUP10 00001457: SWAP7 00001458: SWAP6 00001459: SWAP5 0000145a: SWAP4 0000145b: SWAP3 0000145c: SWAP2 0000145d: PUSH0 0000145e: JUMPDEST 0000145f: DUP14 00001460: DUP3 00001461: DUP3 00001462: LT 00001463: PUSH2 0x14fa 00001466: JUMPI 00001467: SWAP6 00001468: POP 00001469: POP 0000146a: POP 0000146b: POP 0000146c: POP 0000146d: POP 0000146e: PUSH1 0x24 00001470: SWAP2 00001471: POP 00001472: MLOAD 00001473: DUP1 00001474: SWAP5 00001475: DUP2 00001476: SWAP4 00001477: DUP3 00001478: MSTORE 00001479: ADDRESS 0000147a: DUP12 0000147b: DUP4 0000147c: ADD 0000147d: MSTORE 0000147e: GAS 0000147f: STATICCALL 00001480: SWAP3 00001481: DUP4 00001482: ISZERO 00001483: PUSH2 0x0e39 00001486: JUMPI 00001487: PUSH0 00001488: SWAP4 00001489: PUSH2 0x14c8 0000148c: JUMPI 0000148d: JUMPDEST 0000148e: POP 0000148f: POP 00001490: PUSH2 0x1499 00001493: SWAP2 00001494: SWAP3 00001495: PUSH2 0x1395 00001498: JUMP 00001499: JUMPDEST 0000149a: GT 0000149b: PUSH2 0x14a2 0000149e: JUMPI 0000149f: POP 000014a0: POP 000014a1: JUMP 000014a2: JUMPDEST 000014a3: MLOAD 000014a4: PUSH32 0x3b5c308800000000000000000000000000000000000000000000000000000000 000014c5: DUP2 000014c6: MSTORE 000014c7: REVERT 000014c8: JUMPDEST 000014c9: SWAP1 000014ca: DUP1 000014cb: SWAP4 000014cc: POP 000014cd: DUP2 000014ce: RETURNDATASIZE 000014cf: DUP4 000014d0: GT 000014d1: PUSH2 0x14f3 000014d4: JUMPI 000014d5: JUMPDEST 000014d6: PUSH2 0x14df 000014d9: DUP2 000014da: DUP4 000014db: PUSH2 0x1327 000014de: JUMP 000014df: JUMPDEST 000014e0: DUP2 000014e1: ADD 000014e2: SUB 000014e3: SLT 000014e4: PUSH2 0x01e2 000014e7: JUMPI 000014e8: PUSH2 0x1499 000014eb: SWAP2 000014ec: MLOAD 000014ed: SWAP2 000014ee: PUSH0 000014ef: PUSH2 0x148d 000014f2: JUMP 000014f3: JUMPDEST 000014f4: POP 000014f5: RETURNDATASIZE 000014f6: PUSH2 0x14d5 000014f9: JUMP 000014fa: JUMPDEST 000014fb: DUP8 000014fc: SWAP9 000014fd: SWAP10 000014fe: POP 000014ff: PUSH0 00001500: SWAP2 00001501: SWAP3 00001502: SWAP4 00001503: SWAP5 00001504: SWAP6 00001505: SWAP7 00001506: SWAP8 00001507: SWAP1 00001508: PUSH2 0x1516 0000150b: PUSH2 0x046d 0000150e: DUP6 0000150f: DUP8 00001510: DUP7 00001511: SWAP6 00001512: PUSH2 0x16c2 00001515: JUMP 00001516: JUMPDEST 00001517: SWAP1 00001518: PUSH2 0x1522 0000151b: DUP6 0000151c: DUP9 0000151d: DUP13 0000151e: PUSH2 0x16c2 00001521: JUMP 00001522: JUMPDEST 00001523: CALLDATALOAD 00001524: PUSH2 0x152e 00001527: DUP7 00001528: DUP11 00001529: DUP13 0000152a: PUSH2 0x1720 0000152d: JUMP 0000152e: JUMPDEST 0000152f: DUP1 00001530: SWAP4 00001531: MLOAD 00001532: SWAP4 00001533: DUP5 00001534: SWAP3 00001535: DUP4 00001536: CALLDATACOPY 00001537: DUP2 00001538: ADD 00001539: DUP6 0000153a: DUP2 0000153b: MSTORE 0000153c: SUB 0000153d: SWAP3 0000153e: GAS 0000153f: CALL 00001540: PUSH2 0x1547 00001543: PUSH2 0x164d 00001546: JUMP 00001547: JUMPDEST 00001548: POP 00001549: ISZERO 0000154a: PUSH2 0x155e 0000154d: JUMPI 0000154e: PUSH1 0x01 00001550: ADD 00001551: SWAP1 00001552: DUP11 00001553: SWAP8 00001554: SWAP7 00001555: SWAP6 00001556: SWAP5 00001557: SWAP4 00001558: SWAP3 00001559: SWAP2 0000155a: PUSH2 0x145e 0000155d: JUMP 0000155e: JUMPDEST 0000155f: DUP13 00001560: MLOAD 00001561: RETURNDATASIZE 00001562: PUSH0 00001563: DUP3 00001564: RETURNDATACOPY 00001565: RETURNDATASIZE 00001566: SWAP1 00001567: REVERT 00001568: JUMPDEST 00001569: DUP13 0000156a: DUP13 0000156b: MLOAD 0000156c: PUSH32 0xff633a3800000000000000000000000000000000000000000000000000000000 0000158d: DUP2 0000158e: MSTORE 0000158f: REVERT 00001590: JUMPDEST 00001591: DUP13 00001592: DUP13 00001593: MLOAD 00001594: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 000015b5: DUP2 000015b6: MSTORE 000015b7: REVERT 000015b8: JUMPDEST 000015b9: SWAP1 000015ba: SWAP10 000015bb: POP 000015bc: DUP11 000015bd: DUP2 000015be: DUP2 000015bf: RETURNDATASIZE 000015c0: DUP4 000015c1: GT 000015c2: PUSH2 0x15e0 000015c5: JUMPI 000015c6: JUMPDEST 000015c7: PUSH2 0x15d0 000015ca: DUP2 000015cb: DUP4 000015cc: PUSH2 0x1327 000015cf: JUMP 000015d0: JUMPDEST 000015d1: DUP2 000015d2: ADD 000015d3: SUB 000015d4: SLT 000015d5: PUSH2 0x01e2 000015d8: JUMPI 000015d9: MLOAD 000015da: SWAP9 000015db: PUSH0 000015dc: PUSH2 0x143c 000015df: JUMP 000015e0: JUMPDEST 000015e1: POP 000015e2: RETURNDATASIZE 000015e3: PUSH2 0x15c6 000015e6: JUMP 000015e7: JUMPDEST 000015e8: DUP14 000015e9: MLOAD 000015ea: RETURNDATASIZE 000015eb: PUSH0 000015ec: DUP3 000015ed: RETURNDATACOPY 000015ee: RETURNDATASIZE 000015ef: SWAP1 000015f0: REVERT 000015f1: JUMPDEST 000015f2: SWAP1 000015f3: SWAP4 000015f4: SWAP3 000015f5: SWAP4 000015f6: DUP5 000015f7: DUP4 000015f8: GT 000015f9: PUSH2 0x01e2 000015fc: JUMPI 000015fd: DUP5 000015fe: GT 000015ff: PUSH2 0x01e2 00001602: JUMPI 00001603: DUP2 00001604: ADD 00001605: SWAP3 00001606: SUB 00001607: SWAP1 00001608: JUMP 00001609: JUMPDEST 0000160a: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 0000162b: SWAP1 0000162c: CALLDATALOAD 0000162d: DUP2 0000162e: DUP2 0000162f: AND 00001630: SWAP4 00001631: SWAP3 00001632: PUSH1 0x14 00001634: DUP2 00001635: LT 00001636: PUSH2 0x163e 00001639: JUMPI 0000163a: POP 0000163b: POP 0000163c: POP 0000163d: JUMP 0000163e: JUMPDEST 0000163f: PUSH1 0x14 00001641: SUB 00001642: PUSH1 0x03 00001644: SHL 00001645: DUP3 00001646: SWAP1 00001647: SHL 00001648: AND 00001649: AND 0000164a: SWAP2 0000164b: POP 0000164c: JUMP 0000164d: JUMPDEST 0000164e: RETURNDATASIZE 0000164f: ISZERO 00001650: PUSH2 0x16a5 00001653: JUMPI 00001654: RETURNDATASIZE 00001655: SWAP1 00001656: PUSH8 0xffffffffffffffff 0000165f: DUP3 00001660: GT 00001661: PUSH2 0x1368 00001664: JUMPI 00001665: PUSH1 0x40 00001667: MLOAD 00001668: SWAP2 00001669: PUSH2 0x169a 0000166c: PUSH1 0x20 0000166e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000168f: PUSH1 0x1f 00001691: DUP5 00001692: ADD 00001693: AND 00001694: ADD 00001695: DUP5 00001696: PUSH2 0x1327 00001699: JUMP 0000169a: JUMPDEST 0000169b: DUP3 0000169c: MSTORE 0000169d: RETURNDATASIZE 0000169e: PUSH0 0000169f: PUSH1 0x20 000016a1: DUP5 000016a2: ADD 000016a3: RETURNDATACOPY 000016a4: JUMP 000016a5: JUMPDEST 000016a6: PUSH1 0x60 000016a8: SWAP1 000016a9: JUMP 000016aa: JUMPDEST 000016ab: PUSH8 0xffffffffffffffff 000016b4: DUP2 000016b5: GT 000016b6: PUSH2 0x1368 000016b9: JUMPI 000016ba: PUSH1 0x05 000016bc: SHL 000016bd: PUSH1 0x20 000016bf: ADD 000016c0: SWAP1 000016c1: JUMP 000016c2: JUMPDEST 000016c3: SWAP2 000016c4: SWAP1 000016c5: DUP2 000016c6: LT 000016c7: ISZERO 000016c8: PUSH2 0x16d2 000016cb: JUMPI 000016cc: PUSH1 0x05 000016ce: SHL 000016cf: ADD 000016d0: SWAP1 000016d1: JUMP 000016d2: JUMPDEST 000016d3: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000016f4: PUSH0 000016f5: MSTORE 000016f6: PUSH1 0x32 000016f8: PUSH1 0x04 000016fa: MSTORE 000016fb: PUSH1 0x24 000016fd: PUSH0 000016fe: REVERT 000016ff: JUMPDEST 00001700: CALLDATALOAD 00001701: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001716: DUP2 00001717: AND 00001718: DUP2 00001719: SUB 0000171a: PUSH2 0x01e2 0000171d: JUMPI 0000171e: SWAP1 0000171f: JUMP 00001720: JUMPDEST 00001721: SWAP2 00001722: SWAP1 00001723: DUP2 00001724: LT 00001725: ISZERO 00001726: PUSH2 0x16d2 00001729: JUMPI 0000172a: PUSH1 0x05 0000172c: SHL 0000172d: DUP2 0000172e: ADD 0000172f: CALLDATALOAD 00001730: SWAP1 00001731: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1 00001752: DUP2 00001753: CALLDATASIZE 00001754: SUB 00001755: ADD 00001756: DUP3 00001757: SLT 00001758: ISZERO 00001759: PUSH2 0x01e2 0000175c: JUMPI 0000175d: ADD 0000175e: SWAP1 0000175f: DUP2 00001760: CALLDATALOAD 00001761: SWAP2 00001762: PUSH8 0xffffffffffffffff 0000176b: DUP4 0000176c: GT 0000176d: PUSH2 0x01e2 00001770: JUMPI 00001771: PUSH1 0x20 00001773: ADD 00001774: DUP3 00001775: CALLDATASIZE 00001776: SUB 00001777: DUP2 00001778: SGT 00001779: PUSH2 0x01e2 0000177c: JUMPI 0000177d: SWAP2 0000177e: SWAP1 0000177f: JUMP 00001780: JUMPDEST 00001781: DUP1 00001782: MLOAD 00001783: DUP3 00001784: LT 00001785: ISZERO 00001786: PUSH2 0x16d2 00001789: JUMPI 0000178a: PUSH1 0x20 0000178c: SWAP2 0000178d: PUSH1 0x05 0000178f: SHL 00001790: ADD 00001791: ADD 00001792: SWAP1 00001793: JUMP 00001794: JUMPDEST 00001795: SWAP3 00001796: SWAP1 00001797: SWAP5 00001798: SWAP4 00001799: SWAP2 0000179a: SWAP4 0000179b: SELFBALANCE 0000179c: SWAP6 0000179d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017b2: PUSH0 000017b3: SLOAD 000017b4: AND 000017b5: CALLER 000017b6: SUB 000017b7: PUSH2 0x1893 000017ba: JUMPI 000017bb: DUP3 000017bc: DUP2 000017bd: SUB 000017be: PUSH2 0x1869 000017c1: JUMPI 000017c2: DUP2 000017c3: DUP2 000017c4: SUB 000017c5: PUSH2 0x1869 000017c8: JUMPI 000017c9: PUSH0 000017ca: JUMPDEST 000017cb: DUP2 000017cc: DUP2 000017cd: LT 000017ce: PUSH2 0x1814 000017d1: JUMPI 000017d2: POP 000017d3: POP 000017d4: POP 000017d5: POP 000017d6: POP 000017d7: POP 000017d8: POP 000017d9: PUSH2 0x17e3 000017dc: SWAP1 000017dd: SELFBALANCE 000017de: SWAP3 000017df: PUSH2 0x1395 000017e2: JUMP 000017e3: JUMPDEST 000017e4: GT 000017e5: PUSH2 0x17ea 000017e8: JUMPI 000017e9: JUMP 000017ea: JUMPDEST 000017eb: PUSH1 0x04 000017ed: PUSH1 0x40 000017ef: MLOAD 000017f0: PUSH32 0x3b5c308800000000000000000000000000000000000000000000000000000000 00001811: DUP2 00001812: MSTORE 00001813: REVERT 00001814: JUMPDEST 00001815: PUSH2 0x1822 00001818: PUSH2 0x046d 0000181b: DUP3 0000181c: DUP5 0000181d: DUP10 0000181e: PUSH2 0x16c2 00001821: JUMP 00001822: JUMPDEST 00001823: PUSH0 00001824: DUP1 00001825: PUSH2 0x182f 00001828: DUP5 00001829: DUP8 0000182a: DUP11 0000182b: PUSH2 0x16c2 0000182e: JUMP 0000182f: JUMPDEST 00001830: CALLDATALOAD 00001831: SWAP3 00001832: PUSH2 0x183c 00001835: DUP6 00001836: DUP10 00001837: DUP14 00001838: PUSH2 0x1720 0000183b: JUMP 0000183c: JUMPDEST 0000183d: SWAP1 0000183e: SWAP5 0000183f: PUSH1 0x40 00001841: SWAP6 00001842: DUP3 00001843: DUP8 00001844: MLOAD 00001845: SWAP4 00001846: DUP5 00001847: SWAP3 00001848: DUP4 00001849: CALLDATACOPY 0000184a: DUP2 0000184b: ADD 0000184c: DUP6 0000184d: DUP2 0000184e: MSTORE 0000184f: SUB 00001850: SWAP3 00001851: GAS 00001852: CALL 00001853: PUSH2 0x185a 00001856: PUSH2 0x164d 00001859: JUMP 0000185a: JUMPDEST 0000185b: POP 0000185c: ISZERO 0000185d: PUSH2 0x01a8 00001860: JUMPI 00001861: POP 00001862: PUSH1 0x01 00001864: ADD 00001865: PUSH2 0x17ca 00001868: JUMP 00001869: JUMPDEST 0000186a: PUSH1 0x04 0000186c: PUSH1 0x40 0000186e: MLOAD 0000186f: PUSH32 0xff633a3800000000000000000000000000000000000000000000000000000000 00001890: DUP2 00001891: MSTORE 00001892: REVERT 00001893: JUMPDEST 00001894: PUSH1 0x04 00001896: PUSH1 0x40 00001898: MLOAD 00001899: PUSH32 0x5fc483c500000000000000000000000000000000000000000000000000000000 000018ba: DUP2 000018bb: MSTORE 000018bc: REVERT 000018bd: JUMPDEST 000018be: SWAP2 000018bf: PUSH1 0x44 000018c1: PUSH1 0x20 000018c3: SWAP3 000018c4: PUSH0 000018c5: SWAP3 000018c6: PUSH1 0x40 000018c8: MLOAD 000018c9: SWAP2 000018ca: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 000018eb: DUP4 000018ec: MSTORE 000018ed: PUSH1 0x04 000018ef: DUP4 000018f0: ADD 000018f1: MSTORE 000018f2: PUSH1 0x24 000018f4: DUP3 000018f5: ADD 000018f6: MSTORE 000018f7: DUP3 000018f8: DUP6 000018f9: GAS 000018fa: CALL 000018fb: SWAP1 000018fc: DUP2 000018fd: PUSH2 0x1933 00001900: JUMPI 00001901: JUMPDEST 00001902: POP 00001903: ISZERO 00001904: PUSH2 0x1909 00001907: JUMPI 00001908: JUMP 00001909: JUMPDEST 0000190a: PUSH1 0x04 0000190c: PUSH1 0x40 0000190e: MLOAD 0000190f: PUSH32 0xfb7f507900000000000000000000000000000000000000000000000000000000 00001930: DUP2 00001931: MSTORE 00001932: REVERT 00001933: JUMPDEST 00001934: SWAP1 00001935: POP 00001936: RETURNDATASIZE 00001937: ISZERO 00001938: PUSH2 0x194d 0000193b: JUMPI 0000193c: POP 0000193d: PUSH1 0x01 0000193f: PUSH0 00001940: MLOAD 00001941: EQ 00001942: PUSH1 0x1f 00001944: RETURNDATASIZE 00001945: GT 00001946: AND 00001947: JUMPDEST 00001948: PUSH0 00001949: PUSH2 0x1901 0000194c: JUMP 0000194d: JUMPDEST 0000194e: EXTCODESIZE 0000194f: ISZERO 00001950: ISZERO 00001951: PUSH2 0x1947 00001954: JUMP 00001955: JUMPDEST 00001956: PUSH1 0x40 00001958: MLOAD 00001959: PUSH0 0000195a: SWAP5 0000195b: SWAP4 0000195c: SWAP1 0000195d: SWAP3 0000195e: SWAP1 0000195f: DUP4 00001960: PUSH1 0x41 00001962: DUP3 00001963: EQ 00001964: PUSH2 0x1a0a 00001967: JUMPI 00001968: POP 00001969: PUSH1 0x40 0000196b: EQ 0000196c: PUSH2 0x19c5 0000196f: JUMPI 00001970: POP 00001971: PUSH0 00001972: SWAP2 00001973: POP 00001974: DUP2 00001975: JUMPDEST 00001976: PUSH2 0x197d 00001979: JUMPI 0000197a: POP 0000197b: POP 0000197c: JUMP 0000197d: JUMPDEST 0000197e: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1 0000199f: PUSH1 0x60 000019a1: DUP4 000019a2: ADD 000019a3: MLOAD 000019a4: LT 000019a5: PUSH2 0x19ac 000019a8: JUMPI 000019a9: POP 000019aa: POP 000019ab: JUMP 000019ac: JUMPDEST 000019ad: PUSH1 0x20 000019af: SWAP3 000019b0: SWAP4 000019b1: POP 000019b2: DUP2 000019b3: PUSH1 0x80 000019b5: SWAP2 000019b6: PUSH0 000019b7: SWAP4 000019b8: MSTORE 000019b9: DUP3 000019ba: DUP1 000019bb: MSTORE 000019bc: PUSH1 0x01 000019be: GAS 000019bf: STATICCALL 000019c0: POP 000019c1: PUSH0 000019c2: MLOAD 000019c3: SWAP1 000019c4: JUMP 000019c5: JUMPDEST 000019c6: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000019e7: DUP2 000019e8: PUSH1 0x20 000019ea: DUP1 000019eb: DUP7 000019ec: SWAP5 000019ed: ADD 000019ee: CALLDATALOAD 000019ef: SWAP2 000019f0: DUP3 000019f1: PUSH1 0xff 000019f3: SHR 000019f4: PUSH1 0x1b 000019f6: ADD 000019f7: DUP3 000019f8: DUP7 000019f9: ADD 000019fa: MSTORE 000019fb: PUSH1 0x40 000019fd: DUP6 000019fe: ADD 000019ff: CALLDATACOPY 00001a00: AND 00001a01: PUSH1 0x60 00001a03: DUP3 00001a04: ADD 00001a05: MSTORE 00001a06: PUSH2 0x1975 00001a09: JUMP 00001a0a: JUMPDEST 00001a0b: SWAP2 00001a0c: PUSH1 0x40 00001a0e: DUP1 00001a0f: SWAP3 00001a10: POP 00001a11: DUP2 00001a12: ADD 00001a13: CALLDATALOAD 00001a14: PUSH0 00001a15: BYTE 00001a16: PUSH1 0x20 00001a18: DUP5 00001a19: ADD 00001a1a: MSTORE 00001a1b: DUP2 00001a1c: DUP4 00001a1d: ADD 00001a1e: CALLDATACOPY 00001a1f: PUSH2 0x1975 00001a22: JUMP 00001a23: JUMPDEST 00001a24: SWAP1 00001a25: PUSH2 0x1a2e 00001a28: DUP2 00001a29: DUP4 00001a2a: PUSH2 0x1ae4 00001a2d: JUMP 00001a2e: JUMPDEST 00001a2f: ISZERO 00001a30: PUSH2 0x1a37 00001a33: JUMPI 00001a34: POP 00001a35: POP 00001a36: JUMP 00001a37: JUMPDEST 00001a38: PUSH1 0x20 00001a3a: PUSH0 00001a3b: PUSH1 0x44 00001a3d: PUSH1 0x40 00001a3f: MLOAD 00001a40: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 00001a61: DUP2 00001a62: MSTORE 00001a63: DUP5 00001a64: PUSH1 0x04 00001a66: DUP3 00001a67: ADD 00001a68: MSTORE 00001a69: DUP3 00001a6a: PUSH1 0x24 00001a6c: DUP3 00001a6d: ADD 00001a6e: MSTORE 00001a6f: DUP3 00001a70: DUP7 00001a71: GAS 00001a72: CALL 00001a73: DUP1 00001a74: PUSH2 0x1ac5 00001a77: JUMPI 00001a78: JUMPDEST 00001a79: ISZERO 00001a7a: SWAP2 00001a7b: DUP3 00001a7c: ISZERO 00001a7d: PUSH2 0x1ab3 00001a80: JUMPI 00001a81: JUMPDEST 00001a82: POP 00001a83: POP 00001a84: PUSH2 0x1a89 00001a87: JUMPI 00001a88: JUMP 00001a89: JUMPDEST 00001a8a: PUSH1 0x04 00001a8c: PUSH1 0x40 00001a8e: MLOAD 00001a8f: PUSH32 0x19be9a9000000000000000000000000000000000000000000000000000000000 00001ab0: DUP2 00001ab1: MSTORE 00001ab2: REVERT 00001ab3: JUMPDEST 00001ab4: PUSH2 0x1abd 00001ab7: SWAP3 00001ab8: POP 00001ab9: PUSH2 0x1ae4 00001abc: JUMP 00001abd: JUMPDEST 00001abe: ISZERO 00001abf: PUSH0 00001ac0: DUP1 00001ac1: PUSH2 0x1a81 00001ac4: JUMP 00001ac5: JUMPDEST 00001ac6: POP 00001ac7: RETURNDATASIZE 00001ac8: ISZERO 00001ac9: PUSH2 0x1adb 00001acc: JUMPI 00001acd: PUSH1 0x01 00001acf: PUSH0 00001ad0: MLOAD 00001ad1: EQ 00001ad2: PUSH1 0x1f 00001ad4: RETURNDATASIZE 00001ad5: GT 00001ad6: AND 00001ad7: PUSH2 0x1a78 00001ada: JUMP 00001adb: JUMPDEST 00001adc: DUP2 00001add: EXTCODESIZE 00001ade: ISZERO 00001adf: ISZERO 00001ae0: PUSH2 0x1a78 00001ae3: JUMP 00001ae4: JUMPDEST 00001ae5: SWAP2 00001ae6: SWAP1 00001ae7: PUSH0 00001ae8: PUSH1 0x44 00001aea: PUSH1 0x20 00001aec: SWAP3 00001aed: PUSH1 0x40 00001aef: MLOAD 00001af0: SWAP1 00001af1: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 00001b12: DUP3 00001b13: MSTORE 00001b14: PUSH1 0x04 00001b16: DUP3 00001b17: ADD 00001b18: MSTORE 00001b19: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001b3a: PUSH1 0x24 00001b3c: DUP3 00001b3d: ADD 00001b3e: MSTORE 00001b3f: DUP3 00001b40: DUP7 00001b41: GAS 00001b42: CALL 00001b43: SWAP2 00001b44: DUP3 00001b45: PUSH2 0x1b4b 00001b48: JUMPI 00001b49: POP 00001b4a: JUMP 00001b4b: JUMPDEST 00001b4c: SWAP1 00001b4d: SWAP2 00001b4e: POP 00001b4f: RETURNDATASIZE 00001b50: ISZERO 00001b51: PUSH2 0x1b62 00001b54: JUMPI 00001b55: POP 00001b56: PUSH1 0x01 00001b58: PUSH0 00001b59: MLOAD 00001b5a: EQ 00001b5b: PUSH1 0x1f 00001b5d: RETURNDATASIZE 00001b5e: GT 00001b5f: AND 00001b60: SWAP1 00001b61: JUMP 00001b62: JUMPDEST 00001b63: EXTCODESIZE 00001b64: ISZERO 00001b65: ISZERO 00001b66: SWAP1 00001b67: JUMP 00001b68: INVALID 00001b69: LOG2 00001b6a: PUSH5 0x6970667358 00001b70: UNKNOWN(0x22) 00001b71: SLT 00001b72: KECCAK256 00001b73: UNKNOWN(0x4C) 00001b74: UNKNOWN(0xBB) 00001b75: RETURNDATASIZE 00001b76: INVALID 00001b77: BALANCE 00001b78: POP 00001b79: MLOAD 00001b7a: ORIGIN 00001b7b: UNKNOWN(0xAC) 00001b7c: UNKNOWN(0xC9) 00001b7d: UNKNOWN(0xA6) 00001b7e: PUSH10 0x238f9a8ba44b9beb10c8 00001b89: UNKNOWN(0xDC) 00001b8a: UNKNOWN(0x4B) 00001b8b: UNKNOWN(0x4B) 00001b8c: PUSH29
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x038ec2ab",
"selector": "0x038ec2ab",
"calldata_variants": [
"0x038ec2ab",
"0x038ec2ab0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10a890af",
"selector": "0x10a890af",
"calldata_variants": [
"0x10a890af",
"0x10a890af0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1626ba7e",
"selector": "0x1626ba7e",
"calldata_variants": [
"0x1626ba7e",
"0x1626ba7e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1f3177ba",
"selector": "0x1f3177ba",
"calldata_variants": [
"0x1f3177ba",
"0x1f3177ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20969d07",
"selector": "0x20969d07",
"calldata_variants": [
"0x20969d07",
"0x20969d070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x295861b1",
"selector": "0x295861b1",
"calldata_variants": [
"0x295861b1",
"0x295861b10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x343590a4",
"selector": "0x343590a4",
"calldata_variants": [
"0x343590a4",
"0x343590a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3a9d666f",
"selector": "0x3a9d666f",
"calldata_variants": [
"0x3a9d666f",
"0x3a9d666f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 7034,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x0c154690400d4e15e3443f86adb860413aaabd69288ea17652746f82cc604320
call_targets:
0x544e62df13d6273e64b06ac1afd925c8dcbc6569
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x0c154690400d4e15e3443f86adb860413aaabd69288ea17652746f82cc604320",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x544e62df13d6273e64b06ac1afd925c8dcbc6569"
],
"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": "0x038ec2ab",
"selector": "0x038ec2ab",
"calldata_variants": [
"0x038ec2ab",
"0x038ec2ab0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10a890af",
"selector": "0x10a890af",
"calldata_variants": [
"0x10a890af",
"0x10a890af0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1626ba7e",
"selector": "0x1626ba7e",
"calldata_variants": [
"0x1626ba7e",
"0x1626ba7e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1f3177ba",
"selector": "0x1f3177ba",
"calldata_variants": [
"0x1f3177ba",
"0x1f3177ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20969d07",
"selector": "0x20969d07",
"calldata_variants": [
"0x20969d07",
"0x20969d070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x295861b1",
"selector": "0x295861b1",
"calldata_variants": [
"0x295861b1",
"0x295861b10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x343590a4",
"selector": "0x343590a4",
"calldata_variants": [
"0x343590a4",
"0x343590a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3a9d666f",
"selector": "0x3a9d666f",
"calldata_variants": [
"0x3a9d666f",
"0x3a9d666f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 393,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 417,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1179,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 12,
"guards_detected": [
{
"pc": 7034,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 12
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x0c154690400d4e15e3443f86adb860413aaabd69288ea17652746f82cc604320
call_targets:
0x544e62df13d6273e64b06ac1afd925c8dcbc6569
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x0c154690400d4e15e3443f86adb860413aaabd69288ea17652746f82cc604320",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x544e62df13d6273e64b06ac1afd925c8dcbc6569"
],
"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": "0x038ec2ab",
"selector": "0x038ec2ab",
"calldata_variants": [
"0x038ec2ab",
"0x038ec2ab0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10a890af",
"selector": "0x10a890af",
"calldata_variants": [
"0x10a890af",
"0x10a890af0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1626ba7e",
"selector": "0x1626ba7e",
"calldata_variants": [
"0x1626ba7e",
"0x1626ba7e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1f3177ba",
"selector": "0x1f3177ba",
"calldata_variants": [
"0x1f3177ba",
"0x1f3177ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20969d07",
"selector": "0x20969d07",
"calldata_variants": [
"0x20969d07",
"0x20969d070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x295861b1",
"selector": "0x295861b1",
"calldata_variants": [
"0x295861b1",
"0x295861b10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x343590a4",
"selector": "0x343590a4",
"calldata_variants": [
"0x343590a4",
"0x343590a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3a9d666f",
"selector": "0x3a9d666f",
"calldata_variants": [
"0x3a9d666f",
"0x3a9d666f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 393,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 417,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1179,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 12,
"guards_detected": [
{
"pc": 7034,
"type": "tx_origin_used"
}
]
}
|
| 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": 15
}
|