019bb2d5-fd73-7212-bbeb-57b641057c57
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 |
|---|---|---|---|---|
| 39615 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 39616 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 39617 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 39618 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 39619 | capability.graph | complete | 1 / 3 | 3 months ago |
| 39620 | detector.run | complete | 1 / 3 | 3 months ago |
| 39621 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39737 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 39738 | tool.slither | failed | 2 / 2 | 3 months ago |
{
"status": "not_proxy"
}
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-l232__ww)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-l232__ww)
'forge' returned non-zero exit code 1
Compiling 1 files with Solc 0.8.11
stdout: Solc 0.8.11 finished in 31.27ms
Error: Compiler run failed:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1688:44:
stderr: |
stderr: 1688 | ... string memory data = string.concat(Strings.toString(uint160(msg.sender)),"VIPlist",Strings.toString(amount) ...
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1688:92:
stderr: |
stderr: 1688 | ... ing(uint160(msg.sender)),"VIPlist",Strings.toString(amount),Strings.toString(walletNonce[msg.s ...
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1688:117:
stderr: |
stderr: 1688 | ... "VIPlist",Strings.toString(amount),Strings.toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (9574): Type bytes memory is not implicitly convertible to expected type string memory.
stderr: --> contracts/Contract.sol:1688:9:
stderr: |
stderr: 1688 | string memory data = string.concat(Strings.toString(uint160(msg.sender)),"VIPlist",Strings.toString(amount),Strings.toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1704:44:
stderr: |
stderr: 1704 | ... string memory data = string.concat(Strings.toString(uint160(msg.sender)),"allowlist",Strings.toString(amoun ...
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1704:94:
stderr: |
stderr: 1704 | ... g(uint160(msg.sender)),"allowlist",Strings.toString(amount),Strings.toString(walletNonce[msg.s ...
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1704:119:
stderr: |
stderr: 1704 | ... llowlist",Strings.toString(amount),Strings.toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (9574): Type bytes memory is not implicitly convertible to expected type string memory.
stderr: --> contracts/Contract.sol:1704:9:
stderr: |
stderr: 1704 | string memory data = string.concat( ... .toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1750:43:
stderr: |
stderr: 1750 | ... string memory ids = string.concat(Strings.toString(tokenIds[0]),Strings.toString(tokenIds[1]),Stri ...
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1750:73:
stderr: |
stderr: 1750 | ... ncat(Strings.toString(tokenIds[0]),Strings.toString(tokenIds[1]),Strings.toString(tokenIds[2]),Stri ...
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1750:103:
stderr: |
stderr: 1750 | ... [0]),Strings.toString(tokenIds[1]),Strings.toString(tokenIds[2]),Strings.toString(tokenIds[3]),Stri ...
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1750:133:
stderr: |
stderr: 1750 | ... [1]),Strings.toString(tokenIds[2]),Strings.toString(tokenIds[3]),Strings.toString(tokenIds[4]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1750:163:
stderr: |
stderr: 1750 | ... [2]),Strings.toString(tokenIds[3]),Strings.toString(tokenIds[4]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (9574): Type bytes memory is not implicitly convertible to expected type string memory.
stderr: --> contracts/Contract.sol:1750:9:
stderr: |
stderr: 1750 | string memory ids = string.concat(S ... [3]),Strings.toString(tokenIds[4]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1751:44:
stderr: |
stderr: 1751 | ... string memory data = string.concat(Strings.toString(uint160(msg.sender)),"sacrifice",ids,Strings.toString(b ...
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1751:94:
stderr: |
stderr: 1751 | ... g(uint160(msg.sender)),"sacrifice",ids,Strings.toString(bounty),Strings.t ...
stderr: | ^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1751:98:
stderr: |
stderr: 1751 | ... nt160(msg.sender)),"sacrifice",ids,Strings.toString(bounty),Strings.toString(walletNonce[msg.s ...
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1751:123:
stderr: |
stderr: 1751 | ... fice",ids,Strings.toString(bounty),Strings.toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (9574): Type bytes memory is not implicitly convertible to expected type string memory.
stderr: --> contracts/Contract.sol:1751:9:
stderr: |
stderr: 1751 | string memory data = string.concat( ... .toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1780:104:
stderr: |
stderr: 1780 | bytes32 data_hash = keccak256(abi.encodePacked(string.concat("\x19Ethereum Signed Message:\n", Strings.toString(bytes(data).length)),data));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1785:30:
stderr: |
stderr: 1785 | return string.concat(Strings.toString(uint160(sendr)),typez,Strings.toString(amount),Strings.toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1785:63:
stderr: |
stderr: 1785 | return string.concat(Strings.toString(uint160(sendr)),typez,Strings.toString(amount),Strings.toString(walletNonce[msg.sender]));
stderr: | ^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1785:69:
stderr: |
stderr: 1785 | return string.concat(Strings.toString(uint160(sendr)),typez,Strings.toString(amount),Strings.toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (8015): Invalid type for argument in the bytes.concat function call. bytes or fixed bytes type is required, but string provided.
stderr: --> contracts/Contract.sol:1785:94:
stderr: |
stderr: 1785 | return string.concat(Strings.toString(uint160(sendr)),typez,Strings.toString(amount),Strings.toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6359): Return argument type bytes memory is not implicitly convertible to expected type (type of first return variable) string memory.
stderr: --> contracts/Contract.sol:1785:16:
stderr: |
stderr: 1785 | return string.concat(Strings.toString(uint160(sendr)),typez,Strings.toString(amount),Strings.toString(walletNonce[msg.sender]));
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-l232__ww/out/build-info is not a directory.
{"no_findings":false,"summary":"Found three issues in the Azaraks contract: mint proceeds are stuck in the NFT contract, signer initialization can allow unauthorized mints, and signatures are replayable across deployments/chains.","findings":[{"severity":"high","category":"other","title":"Mint proceeds are trapped in Azaraks because PaymentSplitter never receives funds","exploit_scenario":"Users pay ETH to `VIPMint`/`allowListMint`, but the ETH stays in the Azaraks contract. The only withdrawal path calls `_splitter.release`, which releases funds from the PaymentSplitter contract, not from Azaraks. As a result, all mint revenue is permanently stuck and cannot be withdrawn.","recommendation":"Forward mint proceeds to the PaymentSplitter (e.g., send `msg.value` to `_splitter` on each mint) or add a direct withdraw function from Azaraks to distribute/transfer ETH. Consider making Azaraks receive ETH and immediately forward to `_splitter`.","evidence":"`VIPMint`/`allowListMint` are payable and accept ETH but never transfer it out; `withdraw` only calls `_splitter.release`.","locations":["contracts/Contract.sol:1686","contracts/Contract.sol:1702","contracts/Contract.sol:1794"]},{"severity":"medium","category":"auth","title":"Uninitialized signerAddress allows anyone to mint with invalid signatures","exploit_scenario":"`signerAddress` defaults to `address(0)` and can be left unset after deployment (or set to zero). `ecrecover` returns `address(0)` for invalid signatures, so the `verifySignature(...) == signerAddress` check passes. An attacker can mint VIP tokens for free (or allowlist tokens by paying) using `v=0,r=0,s=0` before the signer is set, potentially consuming the entire supply (limited only per-wallet).","recommendation":"Initialize `signerAddress` in the constructor and add `require(signerAddress != address(0))` to signature-gated functions. Also reject `ecrecover` returning `address(0)` and validate `v`/`s` ranges.","evidence":"Signature checks compare to `signerAddress` without ensuring it is non-zero.","locations":["contracts/Contract.sol:1650","contracts/Contract.sol:1686","contracts/Contract.sol:1702","contracts/Contract.sol:1744","contracts/Contract.sol:1774","contracts/Contract.sol:1779"]},{"severity":"low","category":"auth","title":"Signatures lack domain separation, enabling cross-chain or cross-deployment replay","exploit_scenario":"The signed message omits chain id and contract address. A valid allowlist/VIP/sacrifice signature from one deployment can be replayed on another deployment (or chain) that uses the same signer key and message format, bypassing intended per-deployment gating.","recommendation":"Include `block.chainid` and `address(this)` in the signed payload, or migrate to EIP-712 typed structured data signatures.","evidence":"Message construction only includes sender, type string, amount/ids, bounty, and nonce.","locations":["contracts/Contract.sol:1688","contracts/Contract.sol:1704","contracts/Contract.sol:1750","contracts/Contract.sol:1779"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-uo7rjkoy
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb2f2-aa6a-76b1-a211-5cf2e4f08093
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc ls in /tmp/codex-uo7rjkoy succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
exec
/bin/bash -lc 'cat /tmp/codex-uo7rjkoy/AUDIT_BUNDLE.txt' in /tmp/codex-uo7rjkoy succeeded in 28ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Contract.sol
================================================================================
// SPDX-License-Identifier: MIT
// File: @openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-IERC20Permit.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in
* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].
*
* Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
* presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't
thinking
**Analyzing first-party contract vulnerabilities**
exec
/bin/bash -lc "nl -ba /tmp/codex-uo7rjkoy/contracts/Citycat.sol | sed -n '1,240p'" in /tmp/codex-uo7rjkoy succeeded in 18ms:
nl: /tmp/codex-uo7rjkoy/contracts/Citycat.sol: No such file or directory
thinking
**Checking contract file location**
exec
/bin/bash -lc 'rg --files /tmp/codex-uo7rjkoy/contracts' in /tmp/codex-uo7rjkoy succeeded in 37ms:
/tmp/codex-uo7rjkoy/contracts/Contract.sol
thinking
**Searching for Azaraks references in contract**
exec
/bin/bash -lc "nl -ba /tmp/codex-uo7rjkoy/contracts/Contract.sol | sed -n '520,860p'" in /tmp/codex-uo7rjkoy succeeded in 23ms:
520 * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
521 * but performing a delegate call.
522 *
523 * _Available since v3.4._
524 */
525 function functionDelegateCall(
526 address target,
527 bytes memory data,
528 string memory errorMessage
529 ) internal returns (bytes memory) {
530 require(isContract(target), "Address: delegate call to non-contract");
531
532 (bool success, bytes memory returndata) = target.delegatecall(data);
533 return verifyCallResult(success, returndata, errorMessage);
534 }
535
536 /**
537 * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the
538 * revert reason using the provided one.
539 *
thinking
**Searching for Azarak line numbers**
exec
/bin/bash -lc 'rg -n "contract Azaraks|VIPMint|allowListMint|verifySignature|setSignerAddress|Sacrifice" /tmp/codex-uo7rjkoy/contracts/Contract.sol' in /tmp/codex-uo7rjkoy succeeded in 9ms:
1647:contract Azaraks is ERC721Burnable, Ownable {
1686: function VIPMint(uint256 amount, uint8 v, bytes32 r, bytes32 s) external payable{
1689: require(verifySignature(data, v, r, s)==signerAddress,"Invalid signature");
1702: function allowListMint(uint256 amount, uint8 v, bytes32 r, bytes32 s) external payable{
1705: require(verifySignature(data, v, r, s)==signerAddress,"Invalid signature");
1744: function Sacrifice(uint256[5] calldata tokenIds, uint256 bounty, uint8 v, bytes32 r, bytes32 s) external{
1752: require(verifySignature(data, v, r, s)==signerAddress,"Invalid signature!!!!AFASFASF");
1774: function setSignerAddress(address newSigner) external onlyOwner{
1779: function verifySignature(string memory data, uint8 v, bytes32 r, bytes32 s) public pure returns (address signer) {
exec
/bin/bash -lc "nl -ba /tmp/codex-uo7rjkoy/contracts/Contract.sol | sed -n '1620,1815p'" in /tmp/codex-uo7rjkoy succeeded in 6ms:
1620 * @dev ERC721 Token that can be burned (destroyed).
1621 */
1622 abstract contract ERC721Burnable is Context, ERC721 {
1623 /**
1624 * @dev Burns `tokenId`. See {ERC721-_burn}.
1625 *
1626 * Requirements:
1627 *
1628 * - The caller must own `tokenId` or be an approved operator.
1629 */
1630 function burn(uint256 tokenId) public virtual {
1631 //solhint-disable-next-line max-line-length
1632 require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: caller is not token owner nor approved");
1633 _burn(tokenId);
1634 }
1635 }
1636
1637 // File: contracts/Citycat.sol
1638
1639
thinking
**Summarizing contract vulnerability findings**
I'm gathering detailed findings on contract vulnerabilities focused on signature issues, fund management, and access control. I notice serious concerns like mint fees stuck due to PaymentSplitter misuse, uninitialized signerAddress enabling unauthorized minting, and signature replay risks across chains due to missing domain separation. I'll structure the findings clearly with severity, categories, exploit scenarios, recommendations, and evidence for each.
codex
{"no_findings":false,"summary":"Found three issues in the Azaraks contract: mint proceeds are stuck in the NFT contract, signer initialization can allow unauthorized mints, and signatures are replayable across deployments/chains.","findings":[{"severity":"high","category":"other","title":"Mint proceeds are trapped in Azaraks because PaymentSplitter never receives funds","exploit_scenario":"Users pay ETH to `VIPMint`/`allowListMint`, but the ETH stays in the Azaraks contract. The only withdrawal path calls `_splitter.release`, which releases funds from the PaymentSplitter contract, not from Azaraks. As a result, all mint revenue is permanently stuck and cannot be withdrawn.","recommendation":"Forward mint proceeds to the PaymentSplitter (e.g., send `msg.value` to `_splitter` on each mint) or add a direct withdraw function from Azaraks to distribute/transfer ETH. Consider making Azaraks receive ETH and immediately forward to `_splitter`.","evidence":"`VIPMint`/`allowListMint` are payable and accept ETH but never transfer it out; `withdraw` only calls `_splitter.release`.","locations":["contracts/Contract.sol:1686","contracts/Contract.sol:1702","contracts/Contract.sol:1794"]},{"severity":"medium","category":"auth","title":"Uninitialized signerAddress allows anyone to mint with invalid signatures","exploit_scenario":"`signerAddress` defaults to `address(0)` and can be left unset after deployment (or set to zero). `ecrecover` returns `address(0)` for invalid signatures, so the `verifySignature(...) == signerAddress` check passes. An attacker can mint VIP tokens for free (or allowlist tokens by paying) using `v=0,r=0,s=0` before the signer is set, potentially consuming the entire supply (limited only per-wallet).","recommendation":"Initialize `signerAddress` in the constructor and add `require(signerAddress != address(0))` to signature-gated functions. Also reject `ecrecover` returning `address(0)` and validate `v`/`s` ranges.","evidence":"Signature checks compare to `signerAddress` without ensuring it is non-zero.","locations":["contracts/Contract.sol:1650","contracts/Contract.sol:1686","contracts/Contract.sol:1702","contracts/Contract.sol:1744","contracts/Contract.sol:1774","contracts/Contract.sol:1779"]},{"severity":"low","category":"auth","title":"Signatures lack domain separation, enabling cross-chain or cross-deployment replay","exploit_scenario":"The signed message omits chain id and contract address. A valid allowlist/VIP/sacrifice signature from one deployment can be replayed on another deployment (or chain) that uses the same signer key and message format, bypassing intended per-deployment gating.","recommendation":"Include `block.chainid` and `address(this)` in the signed payload, or migrate to EIP-712 typed structured data signatures.","evidence":"Message construction only includes sender, type string, amount/ids, bounty, and nonce.","locations":["contracts/Contract.sol:1688","contracts/Contract.sol:1704","contracts/Contract.sol:1750","contracts/Contract.sol:1779"]}]}
tokens used
30,288
{
"codex": {
"ran_at": "2026-01-12T16:06:41.142319+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": "Found three issues in the Azaraks contract: mint proceeds are stuck in the NFT contract, signer initialization can allow unauthorized mints, and signatures are replayable across deployments/chains.",
"raw_final": {
"summary": "Found three issues in the Azaraks contract: mint proceeds are stuck in the NFT contract, signer initialization can allow unauthorized mints, and signatures are replayable across deployments/chains.",
"findings": [
{
"title": "Mint proceeds are trapped in Azaraks because PaymentSplitter never receives funds",
"category": "other",
"evidence": "`VIPMint`/`allowListMint` are payable and accept ETH but never transfer it out; `withdraw` only calls `_splitter.release`.",
"severity": "high",
"locations": [
"contracts/Contract.sol:1686",
"contracts/Contract.sol:1702",
"contracts/Contract.sol:1794"
],
"recommendation": "Forward mint proceeds to the PaymentSplitter (e.g., send `msg.value` to `_splitter` on each mint) or add a direct withdraw function from Azaraks to distribute/transfer ETH. Consider making Azaraks receive ETH and immediately forward to `_splitter`.",
"exploit_scenario": "Users pay ETH to `VIPMint`/`allowListMint`, but the ETH stays in the Azaraks contract. The only withdrawal path calls `_splitter.release`, which releases funds from the PaymentSplitter contract, not from Azaraks. As a result, all mint revenue is permanently stuck and cannot be withdrawn."
},
{
"title": "Uninitialized signerAddress allows anyone to mint with invalid signatures",
"category": "auth",
"evidence": "Signature checks compare to `signerAddress` without ensuring it is non-zero.",
"severity": "medium",
"locations": [
"contracts/Contract.sol:1650",
"contracts/Contract.sol:1686",
"contracts/Contract.sol:1702",
"contracts/Contract.sol:1744",
"contracts/Contract.sol:1774",
"contracts/Contract.sol:1779"
],
"recommendation": "Initialize `signerAddress` in the constructor and add `require(signerAddress != address(0))` to signature-gated functions. Also reject `ecrecover` returning `address(0)` and validate `v`/`s` ranges.",
"exploit_scenario": "`signerAddress` defaults to `address(0)` and can be left unset after deployment (or set to zero). `ecrecover` returns `address(0)` for invalid signatures, so the `verifySignature(...) == signerAddress` check passes. An attacker can mint VIP tokens for free (or allowlist tokens by paying) using `v=0,r=0,s=0` before the signer is set, potentially consuming the entire supply (limited only per-wallet)."
},
{
"title": "Signatures lack domain separation, enabling cross-chain or cross-deployment replay",
"category": "auth",
"evidence": "Message construction only includes sender, type string, amount/ids, bounty, and nonce.",
"severity": "low",
"locations": [
"contracts/Contract.sol:1688",
"contracts/Contract.sol:1704",
"contracts/Contract.sol:1750",
"contracts/Contract.sol:1779"
],
"recommendation": "Include `block.chainid` and `address(this)` in the signed payload, or migrate to EIP-712 typed structured data signatures.",
"exploit_scenario": "The signed message omits chain id and contract address. A valid allowlist/VIP/sacrifice signature from one deployment can be replayed on another deployment (or chain) that uses the same signer key and message format, bypassing intended per-deployment gating."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x025c 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x705439ea 00000019: GT 0000001a: PUSH2 0x0144 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xa77b3850 00000024: GT 00000025: PUSH2 0x00b6 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xc87b56dd 0000002f: GT 00000030: PUSH2 0x007a 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xc87b56dd 0000003a: EQ 0000003b: PUSH2 0x08f2 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xdef0c275 00000045: EQ 00000046: PUSH2 0x092f 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xe8b5498d 00000050: EQ 00000051: PUSH2 0x095a 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xe985e9c5 0000005b: EQ 0000005c: PUSH2 0x0985 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf2fde38b 00000066: EQ 00000067: PUSH2 0x09c2 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0xf6a6fde9 00000071: EQ 00000072: PUSH2 0x09eb 00000075: JUMPI 00000076: PUSH2 0x025c 00000079: JUMP 0000007a: JUMPDEST 0000007b: DUP1 0000007c: PUSH4 0xa77b3850 00000081: EQ 00000082: PUSH2 0x082e 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xaf031d51 0000008c: EQ 0000008d: PUSH2 0x084a 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xb88d4fde 00000097: EQ 00000098: PUSH2 0x0875 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xbdbc5e4c 000000a2: EQ 000000a3: PUSH2 0x089e 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0xbfa457bc 000000ad: EQ 000000ae: PUSH2 0x08c9 000000b1: JUMPI 000000b2: PUSH2 0x025c 000000b5: JUMP 000000b6: JUMPDEST 000000b7: DUP1 000000b8: PUSH4 0x8bf5ae90 000000bd: GT 000000be: PUSH2 0x0108 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x8bf5ae90 000000c8: EQ 000000c9: PUSH2 0x073d 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x8da5cb5b 000000d3: EQ 000000d4: PUSH2 0x0768 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x8eddc722 000000de: EQ 000000df: PUSH2 0x0793 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0x95d89b41 000000e9: EQ 000000ea: PUSH2 0x07be 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0x9f543b4c 000000f4: EQ 000000f5: PUSH2 0x07e9 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0xa22cb465 000000ff: EQ 00000100: PUSH2 0x0805 00000103: JUMPI 00000104: PUSH2 0x025c 00000107: JUMP 00000108: JUMPDEST 00000109: DUP1 0000010a: PUSH4 0x705439ea 0000010f: EQ 00000110: PUSH2 0x0646 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x70a08231 0000011a: EQ 0000011b: PUSH2 0x0683 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x715018a6 00000125: EQ 00000126: PUSH2 0x06c0 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0x870c1301 00000130: EQ 00000131: PUSH2 0x06d7 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0x8bb130bb 0000013b: EQ 0000013c: PUSH2 0x0700 0000013f: JUMPI 00000140: PUSH2 0x025c 00000143: JUMP 00000144: JUMPDEST 00000145: DUP1 00000146: PUSH4 0x51cff8d9 0000014b: GT 0000014c: PUSH2 0x01dd 0000014f: JUMPI 00000150: DUP1 00000151: PUSH4 0x667b27aa 00000156: GT 00000157: PUSH2 0x01a1 0000015a: JUMPI 0000015b: DUP1 0000015c: PUSH4 0x667b27aa 00000161: EQ 00000162: PUSH2 0x0534 00000165: JUMPI 00000166: DUP1 00000167: PUSH4 0x6790a9de 0000016c: EQ 0000016d: PUSH2 0x055f 00000170: JUMPI 00000171: DUP1 00000172: PUSH4 0x6817c76c 00000177: EQ 00000178: PUSH2 0x0588 0000017b: JUMPI 0000017c: DUP1 0000017d: PUSH4 0x6c0360eb 00000182: EQ 00000183: PUSH2 0x05b3 00000186: JUMPI 00000187: DUP1 00000188: PUSH4 0x6d79657f 0000018d: EQ 0000018e: PUSH2 0x05de 00000191: JUMPI 00000192: DUP1 00000193: PUSH4 0x6dcee513 00000198: EQ 00000199: PUSH2 0x061b 0000019c: JUMPI 0000019d: PUSH2 0x025c 000001a0: JUMP 000001a1: JUMPDEST 000001a2: DUP1 000001a3: PUSH4 0x51cff8d9 000001a8: EQ 000001a9: PUSH2 0x043b 000001ac: JUMPI 000001ad: DUP1 000001ae: PUSH4 0x5503a0e8 000001b3: EQ 000001b4: PUSH2 0x0464 000001b7: JUMPI 000001b8: DUP1 000001b9: PUSH4 0x5b7633d0 000001be: EQ 000001bf: PUSH2 0x048f 000001c2: JUMPI 000001c3: DUP1 000001c4: PUSH4 0x5e57966d 000001c9: EQ 000001ca: PUSH2 0x04ba 000001cd: JUMPI 000001ce: DUP1 000001cf: PUSH4 0x6352211e 000001d4: EQ 000001d5: PUSH2 0x04f7 000001d8: JUMPI 000001d9: PUSH2 0x025c 000001dc: JUMP 000001dd: JUMPDEST 000001de: DUP1 000001df: PUSH4 0x23b872dd 000001e4: GT 000001e5: PUSH2 0x0224 000001e8: JUMPI 000001e9: DUP1 000001ea: PUSH4 0x23b872dd 000001ef: EQ 000001f0: PUSH2 0x0358 000001f3: JUMPI 000001f4: DUP1 000001f5: PUSH4 0x35333ab5 000001fa: EQ 000001fb: PUSH2 0x0381 000001fe: JUMPI 000001ff: DUP1 00000200: PUSH4 0x42842e0e 00000205: EQ 00000206: PUSH2 0x03be 00000209: JUMPI 0000020a: DUP1 0000020b: PUSH4 0x42966c68 00000210: EQ 00000211: PUSH2 0x03e7 00000214: JUMPI 00000215: DUP1 00000216: PUSH4 0x4f02c420 0000021b: EQ 0000021c: PUSH2 0x0410 0000021f: JUMPI 00000220: PUSH2 0x025c 00000223: JUMP 00000224: JUMPDEST 00000225: DUP1 00000226: PUSH4 0x01ffc9a7 0000022b: EQ 0000022c: PUSH2 0x0261 0000022f: JUMPI 00000230: DUP1 00000231: PUSH4 0x046dc166 00000236: EQ 00000237: PUSH2 0x029e 0000023a: JUMPI 0000023b: DUP1 0000023c: PUSH4 0x06fdde03 00000241: EQ 00000242: PUSH2 0x02c7 00000245: JUMPI 00000246: DUP1 00000247: PUSH4 0x081812fc 0000024c: EQ 0000024d: PUSH2 0x02f2 00000250: JUMPI 00000251: DUP1 00000252: PUSH4 0x095ea7b3 00000257: EQ 00000258: PUSH2 0x032f 0000025b: JUMPI 0000025c: JUMPDEST 0000025d: PUSH1 0x00 0000025f: DUP1 00000260: REVERT 00000261: JUMPDEST 00000262: CALLVALUE 00000263: DUP1 00000264: ISZERO 00000265: PUSH2 0x026d 00000268: JUMPI 00000269: PUSH1 0x00 0000026b: DUP1 0000026c: REVERT 0000026d: JUMPDEST 0000026e: POP 0000026f: PUSH2 0x0288 00000272: PUSH1 0x04 00000274: DUP1 00000275: CALLDATASIZE 00000276: SUB 00000277: DUP2 00000278: ADD 00000279: SWAP1 0000027a: PUSH2 0x0283 0000027d: SWAP2 0000027e: SWAP1 0000027f: PUSH2 0x319e 00000282: JUMP 00000283: JUMPDEST 00000284: PUSH2 0x0a28 00000287: JUMP 00000288: JUMPDEST 00000289: PUSH1 0x40 0000028b: MLOAD 0000028c: PUSH2 0x0295 0000028f: SWAP2 00000290: SWAP1 00000291: PUSH2 0x31e6 00000294: JUMP 00000295: JUMPDEST 00000296: PUSH1 0x40 00000298: MLOAD 00000299: DUP1 0000029a: SWAP2 0000029b: SUB 0000029c: SWAP1 0000029d: RETURN 0000029e: JUMPDEST 0000029f: CALLVALUE 000002a0: DUP1 000002a1: ISZERO 000002a2: PUSH2 0x02aa 000002a5: JUMPI 000002a6: PUSH1 0x00 000002a8: DUP1 000002a9: REVERT 000002aa: JUMPDEST 000002ab: POP 000002ac: PUSH2 0x02c5 000002af: PUSH1 0x04 000002b1: DUP1 000002b2: CALLDATASIZE 000002b3: SUB 000002b4: DUP2 000002b5: ADD 000002b6: SWAP1 000002b7: PUSH2 0x02c0 000002ba: SWAP2 000002bb: SWAP1 000002bc: PUSH2 0x325f 000002bf: JUMP 000002c0: JUMPDEST 000002c1: PUSH2 0x0b0a 000002c4: JUMP 000002c5: JUMPDEST 000002c6: STOP 000002c7: JUMPDEST 000002c8: CALLVALUE 000002c9: DUP1 000002ca: ISZERO 000002cb: PUSH2 0x02d3 000002ce: JUMPI 000002cf: PUSH1 0x00 000002d1: DUP1 000002d2: REVERT 000002d3: JUMPDEST 000002d4: POP 000002d5: PUSH2 0x02dc 000002d8: PUSH2 0x0b56 000002db: JUMP 000002dc: JUMPDEST 000002dd: PUSH1 0x40 000002df: MLOAD 000002e0: PUSH2 0x02e9 000002e3: SWAP2 000002e4: SWAP1 000002e5: PUSH2 0x3325 000002e8: JUMP 000002e9: JUMPDEST 000002ea: PUSH1 0x40 000002ec: MLOAD 000002ed: DUP1 000002ee: SWAP2 000002ef: SUB 000002f0: SWAP1 000002f1: RETURN 000002f2: JUMPDEST 000002f3: CALLVALUE 000002f4: DUP1 000002f5: ISZERO 000002f6: PUSH2 0x02fe 000002f9: JUMPI 000002fa: PUSH1 0x00 000002fc: DUP1 000002fd: REVERT 000002fe: JUMPDEST 000002ff: POP 00000300: PUSH2 0x0319 00000303: PUSH1 0x04 00000305: DUP1 00000306: CALLDATASIZE 00000307: SUB 00000308: DUP2 00000309: ADD 0000030a: SWAP1 0000030b: PUSH2 0x0314 0000030e: SWAP2 0000030f: SWAP1 00000310: PUSH2 0x337d 00000313: JUMP 00000314: JUMPDEST 00000315: PUSH2 0x0be8 00000318: JUMP 00000319: JUMPDEST 0000031a: PUSH1 0x40 0000031c: MLOAD 0000031d: PUSH2 0x0326 00000320: SWAP2 00000321: SWAP1 00000322: PUSH2 0x33b9 00000325: JUMP 00000326: JUMPDEST 00000327: PUSH1 0x40 00000329: MLOAD 0000032a: DUP1 0000032b: SWAP2 0000032c: SUB 0000032d: SWAP1 0000032e: RETURN 0000032f: JUMPDEST 00000330: CALLVALUE 00000331: DUP1 00000332: ISZERO 00000333: PUSH2 0x033b 00000336: JUMPI 00000337: PUSH1 0x00 00000339: DUP1 0000033a: REVERT 0000033b: JUMPDEST 0000033c: POP 0000033d: PUSH2 0x0356 00000340: PUSH1 0x04 00000342: DUP1 00000343: CALLDATASIZE 00000344: SUB 00000345: DUP2 00000346: ADD 00000347: SWAP1 00000348: PUSH2 0x0351 0000034b: SWAP2 0000034c: SWAP1 0000034d: PUSH2 0x33d4 00000350: JUMP 00000351: JUMPDEST 00000352: PUSH2 0x0c2e 00000355: JUMP 00000356: JUMPDEST 00000357: STOP 00000358: JUMPDEST 00000359: CALLVALUE 0000035a: DUP1 0000035b: ISZERO 0000035c: PUSH2 0x0364 0000035f: JUMPI 00000360: PUSH1 0x00 00000362: DUP1 00000363: REVERT 00000364: JUMPDEST 00000365: POP 00000366: PUSH2 0x037f 00000369: PUSH1 0x04 0000036b: DUP1 0000036c: CALLDATASIZE 0000036d: SUB 0000036e: DUP2 0000036f: ADD 00000370: SWAP1 00000371: PUSH2 0x037a 00000374: SWAP2 00000375: SWAP1 00000376: PUSH2 0x3414 00000379: JUMP 0000037a: JUMPDEST 0000037b: PUSH2 0x0d45 0000037e: JUMP 0000037f: JUMPDEST 00000380: STOP 00000381: JUMPDEST 00000382: CALLVALUE 00000383: DUP1 00000384: ISZERO 00000385: PUSH2 0x038d 00000388: JUMPI 00000389: PUSH1 0x00 0000038b: DUP1 0000038c: REVERT 0000038d: JUMPDEST 0000038e: POP 0000038f: PUSH2 0x03a8 00000392: PUSH1 0x04 00000394: DUP1 00000395: CALLDATASIZE 00000396: SUB 00000397: DUP2 00000398: ADD 00000399: SWAP1 0000039a: PUSH2 0x03a3 0000039d: SWAP2 0000039e: SWAP1 0000039f: PUSH2 0x325f 000003a2: JUMP 000003a3: JUMPDEST 000003a4: PUSH2 0x0da5 000003a7: JUMP 000003a8: JUMPDEST 000003a9: PUSH1 0x40 000003ab: MLOAD 000003ac: PUSH2 0x03b5 000003af: SWAP2 000003b0: SWAP1 000003b1: PUSH2 0x3476 000003b4: JUMP 000003b5: JUMPDEST 000003b6: PUSH1 0x40 000003b8: MLOAD 000003b9: DUP1 000003ba: SWAP2 000003bb: SUB 000003bc: SWAP1 000003bd: RETURN 000003be: JUMPDEST 000003bf: CALLVALUE 000003c0: DUP1 000003c1: ISZERO 000003c2: PUSH2 0x03ca 000003c5: JUMPI 000003c6: PUSH1 0x00 000003c8: DUP1 000003c9: REVERT 000003ca: JUMPDEST 000003cb: POP 000003cc: PUSH2 0x03e5 000003cf: PUSH1 0x04 000003d1: DUP1 000003d2: CALLDATASIZE 000003d3: SUB 000003d4: DUP2 000003d5: ADD 000003d6: SWAP1 000003d7: PUSH2 0x03e0 000003da: SWAP2 000003db: SWAP1 000003dc: PUSH2 0x3414 000003df: JUMP 000003e0: JUMPDEST 000003e1: PUSH2 0x0dbd 000003e4: JUMP 000003e5: JUMPDEST 000003e6: STOP 000003e7: JUMPDEST 000003e8: CALLVALUE 000003e9: DUP1 000003ea: ISZERO 000003eb: PUSH2 0x03f3 000003ee: JUMPI 000003ef: PUSH1 0x00 000003f1: DUP1 000003f2: REVERT 000003f3: JUMPDEST 000003f4: POP 000003f5: PUSH2 0x040e 000003f8: PUSH1 0x04 000003fa: DUP1 000003fb: CALLDATASIZE 000003fc: SUB 000003fd: DUP2 000003fe: ADD 000003ff: SWAP1 00000400: PUSH2 0x0409 00000403: SWAP2 00000404: SWAP1 00000405: PUSH2 0x337d 00000408: JUMP 00000409: JUMPDEST 0000040a: PUSH2 0x0ddd 0000040d: JUMP 0000040e: JUMPDEST 0000040f: STOP 00000410: JUMPDEST 00000411: CALLVALUE 00000412: DUP1 00000413: ISZERO 00000414: PUSH2 0x041c 00000417: JUMPI 00000418: PUSH1 0x00 0000041a: DUP1 0000041b: REVERT 0000041c: JUMPDEST 0000041d: POP 0000041e: PUSH2 0x0425 00000421: PUSH2 0x0e39 00000424: JUMP 00000425: JUMPDEST 00000426: PUSH1 0x40 00000428: MLOAD 00000429: PUSH2 0x0432 0000042c: SWAP2 0000042d: SWAP1 0000042e: PUSH2 0x3476 00000431: JUMP 00000432: JUMPDEST 00000433: PUSH1 0x40 00000435: MLOAD 00000436: DUP1 00000437: SWAP2 00000438: SUB 00000439: SWAP1 0000043a: RETURN 0000043b: JUMPDEST 0000043c: CALLVALUE 0000043d: DUP1 0000043e: ISZERO 0000043f: PUSH2 0x0447 00000442: JUMPI 00000443: PUSH1 0x00 00000445: DUP1 00000446: REVERT 00000447: JUMPDEST 00000448: POP 00000449: PUSH2 0x0462 0000044c: PUSH1 0x04 0000044e: DUP1 0000044f: CALLDATASIZE 00000450: SUB 00000451: DUP2 00000452: ADD 00000453: SWAP1 00000454: PUSH2 0x045d 00000457: SWAP2 00000458: SWAP1 00000459: PUSH2 0x34cf 0000045c: JUMP 0000045d: JUMPDEST 0000045e: PUSH2 0x0e3f 00000461: JUMP 00000462: JUMPDEST 00000463: STOP 00000464: JUMPDEST 00000465: CALLVALUE 00000466: DUP1 00000467: ISZERO 00000468: PUSH2 0x0470 0000046b: JUMPI 0000046c: PUSH1 0x00 0000046e: DUP1 0000046f: REVERT 00000470: JUMPDEST 00000471: POP 00000472: PUSH2 0x0479 00000475: PUSH2 0x0ed7 00000478: JUMP 00000479: JUMPDEST 0000047a: PUSH1 0x40 0000047c: MLOAD 0000047d: PUSH2 0x0486 00000480: SWAP2 00000481: SWAP1 00000482: PUSH2 0x3325 00000485: JUMP 00000486: JUMPDEST 00000487: PUSH1 0x40 00000489: MLOAD 0000048a: DUP1 0000048b: SWAP2 0000048c: SUB 0000048d: SWAP1 0000048e: RETURN 0000048f: JUMPDEST 00000490: CALLVALUE 00000491: DUP1 00000492: ISZERO 00000493: PUSH2 0x049b 00000496: JUMPI 00000497: PUSH1 0x00 00000499: DUP1 0000049a: REVERT 0000049b: JUMPDEST 0000049c: POP 0000049d: PUSH2 0x04a4 000004a0: PUSH2 0x0f65 000004a3: JUMP 000004a4: JUMPDEST 000004a5: PUSH1 0x40 000004a7: MLOAD 000004a8: PUSH2 0x04b1 000004ab: SWAP2 000004ac: SWAP1 000004ad: PUSH2 0x33b9 000004b0: JUMP 000004b1: JUMPDEST 000004b2: PUSH1 0x40 000004b4: MLOAD 000004b5: DUP1 000004b6: SWAP2 000004b7: SUB 000004b8: SWAP1 000004b9: RETURN 000004ba: JUMPDEST 000004bb: CALLVALUE 000004bc: DUP1 000004bd: ISZERO 000004be: PUSH2 0x04c6 000004c1: JUMPI 000004c2: PUSH1 0x00 000004c4: DUP1 000004c5: REVERT 000004c6: JUMPDEST 000004c7: POP 000004c8: PUSH2 0x04e1 000004cb: PUSH1 0x04 000004cd: DUP1 000004ce: CALLDATASIZE 000004cf: SUB 000004d0: DUP2 000004d1: ADD 000004d2: SWAP1 000004d3: PUSH2 0x04dc 000004d6: SWAP2 000004d7: SWAP1 000004d8: PUSH2 0x325f 000004db: JUMP 000004dc: JUMPDEST 000004dd: PUSH2 0x0f8b 000004e0: JUMP 000004e1: JUMPDEST 000004e2: PUSH1 0x40 000004e4: MLOAD 000004e5: PUSH2 0x04ee 000004e8: SWAP2 000004e9: SWAP1 000004ea: PUSH2 0x3325 000004ed: JUMP 000004ee: JUMPDEST 000004ef: PUSH1 0x40 000004f1: MLOAD 000004f2: DUP1 000004f3: SWAP2 000004f4: SUB 000004f5: SWAP1 000004f6: RETURN 000004f7: JUMPDEST 000004f8: CALLVALUE 000004f9: DUP1 000004fa: ISZERO 000004fb: PUSH2 0x0503 000004fe: JUMPI 000004ff: PUSH1 0x00 00000501: DUP1 00000502: REVERT 00000503: JUMPDEST 00000504: POP 00000505: PUSH2 0x051e 00000508: PUSH1 0x04 0000050a: DUP1 0000050b: CALLDATASIZE 0000050c: SUB 0000050d: DUP2 0000050e: ADD 0000050f: SWAP1 00000510: PUSH2 0x0519 00000513: SWAP2 00000514: SWAP1 00000515: PUSH2 0x337d 00000518: JUMP 00000519: JUMPDEST 0000051a: PUSH2 0x0fb3 0000051d: JUMP 0000051e: JUMPDEST 0000051f: PUSH1 0x40 00000521: MLOAD 00000522: PUSH2 0x052b 00000525: SWAP2 00000526: SWAP1 00000527: PUSH2 0x33b9 0000052a: JUMP 0000052b: JUMPDEST 0000052c: PUSH1 0x40 0000052e: MLOAD 0000052f: DUP1 00000530: SWAP2 00000531: SUB 00000532: SWAP1 00000533: RETURN 00000534: JUMPDEST 00000535: CALLVALUE 00000536: DUP1 00000537: ISZERO 00000538: PUSH2 0x0540 0000053b: JUMPI 0000053c: PUSH1 0x00 0000053e: DUP1 0000053f: REVERT 00000540: JUMPDEST 00000541: POP 00000542: PUSH2 0x0549 00000545: PUSH2 0x1064 00000548: JUMP 00000549: JUMPDEST 0000054a: PUSH1 0x40 0000054c: MLOAD 0000054d: PUSH2 0x0556 00000550: SWAP2 00000551: SWAP1 00000552: PUSH2 0x3476 00000555: JUMP 00000556: JUMPDEST 00000557: PUSH1 0x40 00000559: MLOAD 0000055a: DUP1 0000055b: SWAP2 0000055c: SUB 0000055d: SWAP1 0000055e: RETURN 0000055f: JUMPDEST 00000560: CALLVALUE 00000561: DUP1 00000562: ISZERO 00000563: PUSH2 0x056b 00000566: JUMPI 00000567: PUSH1 0x00 00000569: DUP1 0000056a: REVERT 0000056b: JUMPDEST 0000056c: POP 0000056d: PUSH2 0x0586 00000570: PUSH1 0x04 00000572: DUP1 00000573: CALLDATASIZE 00000574: SUB 00000575: DUP2 00000576: ADD 00000577: SWAP1 00000578: PUSH2 0x0581 0000057b: SWAP2 0000057c: SWAP1 0000057d: PUSH2 0x3631 00000580: JUMP 00000581: JUMPDEST 00000582: PUSH2 0x106a 00000585: JUMP 00000586: JUMPDEST 00000587: STOP 00000588: JUMPDEST 00000589: CALLVALUE 0000058a: DUP1 0000058b: ISZERO 0000058c: PUSH2 0x0594 0000058f: JUMPI 00000590: PUSH1 0x00 00000592: DUP1 00000593: REVERT 00000594: JUMPDEST 00000595: POP 00000596: PUSH2 0x059d 00000599: PUSH2 0x10a4 0000059c: JUMP 0000059d: JUMPDEST 0000059e: PUSH1 0x40 000005a0: MLOAD 000005a1: PUSH2 0x05aa 000005a4: SWAP2 000005a5: SWAP1 000005a6: PUSH2 0x3476 000005a9: JUMP 000005aa: JUMPDEST 000005ab: PUSH1 0x40 000005ad: MLOAD 000005ae: DUP1 000005af: SWAP2 000005b0: SUB 000005b1: SWAP1 000005b2: RETURN 000005b3: JUMPDEST 000005b4: CALLVALUE 000005b5: DUP1 000005b6: ISZERO 000005b7: PUSH2 0x05bf 000005ba: JUMPI 000005bb: PUSH1 0x00 000005bd: DUP1 000005be: REVERT 000005bf: JUMPDEST 000005c0: POP 000005c1: PUSH2 0x05c8 000005c4: PUSH2 0x10aa 000005c7: JUMP 000005c8: JUMPDEST 000005c9: PUSH1 0x40 000005cb: MLOAD 000005cc: PUSH2 0x05d5 000005cf: SWAP2 000005d0: SWAP1 000005d1: PUSH2 0x3325 000005d4: JUMP 000005d5: JUMPDEST 000005d6: PUSH1 0x40 000005d8: MLOAD 000005d9: DUP1 000005da: SWAP2 000005db: SUB 000005dc: SWAP1 000005dd: RETURN 000005de: JUMPDEST 000005df: CALLVALUE 000005e0: DUP1 000005e1: ISZERO 000005e2: PUSH2 0x05ea 000005e5: JUMPI 000005e6: PUSH1 0x00 000005e8: DUP1 000005e9: REVERT 000005ea: JUMPDEST 000005eb: POP 000005ec: PUSH2 0x0605 000005ef: PUSH1 0x04 000005f1: DUP1 000005f2: CALLDATASIZE 000005f3: SUB 000005f4: DUP2 000005f5: ADD 000005f6: SWAP1 000005f7: PUSH2 0x0600 000005fa: SWAP2 000005fb: SWAP1 000005fc: PUSH2 0x325f 000005ff: JUMP 00000600: JUMPDEST 00000601: PUSH2 0x1138 00000604: JUMP 00000605: JUMPDEST 00000606: PUSH1 0x40 00000608: MLOAD 00000609: PUSH2 0x0612 0000060c: SWAP2 0000060d: SWAP1 0000060e: PUSH2 0x3476 00000611: JUMP 00000612: JUMPDEST 00000613: PUSH1 0x40 00000615: MLOAD 00000616: DUP1 00000617: SWAP2 00000618: SUB 00000619: SWAP1 0000061a: RETURN 0000061b: JUMPDEST 0000061c: CALLVALUE 0000061d: DUP1 0000061e: ISZERO 0000061f: PUSH2 0x0627 00000622: JUMPI 00000623: PUSH1 0x00 00000625: DUP1 00000626: REVERT 00000627: JUMPDEST 00000628: POP 00000629: PUSH2 0x0630 0000062c: PUSH2 0x1150 0000062f: JUMP 00000630: JUMPDEST 00000631: PUSH1 0x40 00000633: MLOAD 00000634: PUSH2 0x063d 00000637: SWAP2 00000638: SWAP1 00000639: PUSH2 0x3476 0000063c: JUMP 0000063d: JUMPDEST 0000063e: PUSH1 0x40 00000640: MLOAD 00000641: DUP1 00000642: SWAP2 00000643: SUB 00000644: SWAP1 00000645: RETURN 00000646: JUMPDEST 00000647: CALLVALUE 00000648: DUP1 00000649: ISZERO 0000064a: PUSH2 0x0652 0000064d: JUMPI 0000064e: PUSH1 0x00 00000650: DUP1 00000651: REVERT 00000652: JUMPDEST 00000653: POP 00000654: PUSH2 0x066d 00000657: PUSH1 0x04 00000659: DUP1 0000065a: CALLDATASIZE 0000065b: SUB 0000065c: DUP2 0000065d: ADD 0000065e: SWAP1 0000065f: PUSH2 0x0668 00000662: SWAP2 00000663: SWAP1 00000664: PUSH2 0x3718 00000667: JUMP 00000668: JUMPDEST 00000669: PUSH2 0x1156 0000066c: JUMP 0000066d: JUMPDEST 0000066e: PUSH1 0x40 00000670: MLOAD 00000671: PUSH2 0x067a 00000674: SWAP2 00000675: SWAP1 00000676: PUSH2 0x33b9 00000679: JUMP 0000067a: JUMPDEST 0000067b: PUSH1 0x40 0000067d: MLOAD 0000067e: DUP1 0000067f: SWAP2 00000680: SUB 00000681: SWAP1 00000682: RETURN 00000683: JUMPDEST 00000684: CALLVALUE 00000685: DUP1 00000686: ISZERO 00000687: PUSH2 0x068f 0000068a: JUMPI 0000068b: PUSH1 0x00 0000068d: DUP1 0000068e: REVERT 0000068f: JUMPDEST 00000690: POP 00000691: PUSH2 0x06aa 00000694: PUSH1 0x04 00000696: DUP1 00000697: CALLDATASIZE 00000698: SUB 00000699: DUP2 0000069a: ADD 0000069b: SWAP1 0000069c: PUSH2 0x06a5 0000069f: SWAP2 000006a0: SWAP1 000006a1: PUSH2 0x325f 000006a4: JUMP 000006a5: JUMPDEST 000006a6: PUSH2 0x1206 000006a9: JUMP 000006aa: JUMPDEST 000006ab: PUSH1 0x40 000006ad: MLOAD 000006ae: PUSH2 0x06b7 000006b1: SWAP2 000006b2: SWAP1 000006b3: PUSH2 0x3476 000006b6: JUMP 000006b7: JUMPDEST 000006b8: PUSH1 0x40 000006ba: MLOAD 000006bb: DUP1 000006bc: SWAP2 000006bd: SUB 000006be: SWAP1 000006bf: RETURN 000006c0: JUMPDEST 000006c1: CALLVALUE 000006c2: DUP1 000006c3: ISZERO 000006c4: PUSH2 0x06cc 000006c7: JUMPI 000006c8: PUSH1 0x00 000006ca: DUP1 000006cb: REVERT 000006cc: JUMPDEST 000006cd: POP 000006ce: PUSH2 0x06d5 000006d1: PUSH2 0x12bd 000006d4: JUMP 000006d5: JUMPDEST 000006d6: STOP 000006d7: JUMPDEST 000006d8: CALLVALUE 000006d9: DUP1 000006da: ISZERO 000006db: PUSH2 0x06e3 000006de: JUMPI 000006df: PUSH1 0x00 000006e1: DUP1 000006e2: REVERT 000006e3: JUMPDEST 000006e4: POP 000006e5: PUSH2 0x06fe 000006e8: PUSH1 0x04 000006ea: DUP1 000006eb: CALLDATASIZE 000006ec: SUB 000006ed: DUP2 000006ee: ADD 000006ef: SWAP1 000006f0: PUSH2 0x06f9 000006f3: SWAP2 000006f4: SWAP1 000006f5: PUSH2 0x37c2 000006f8: JUMP 000006f9: JUMPDEST 000006fa: PUSH2 0x12d1 000006fd: JUMP 000006fe: JUMPDEST 000006ff: STOP 00000700: JUMPDEST 00000701: CALLVALUE 00000702: DUP1 00000703: ISZERO 00000704: PUSH2 0x070c 00000707: JUMPI 00000708: PUSH1 0x00 0000070a: DUP1 0000070b: REVERT 0000070c: JUMPDEST 0000070d: POP 0000070e: PUSH2 0x0727 00000711: PUSH1 0x04 00000713: DUP1 00000714: CALLDATASIZE 00000715: SUB 00000716: DUP2 00000717: ADD 00000718: SWAP1 00000719: PUSH2 0x0722 0000071c: SWAP2 0000071d: SWAP1 0000071e: PUSH2 0x383f 00000721: JUMP 00000722: JUMPDEST 00000723: PUSH2 0x16ab 00000726: JUMP 00000727: JUMPDEST 00000728: PUSH1 0x40 0000072a: MLOAD 0000072b: PUSH2 0x0734 0000072e: SWAP2 0000072f: SWAP1 00000730: PUSH2 0x3325 00000733: JUMP 00000734: JUMPDEST 00000735: PUSH1 0x40 00000737: MLOAD 00000738: DUP1 00000739: SWAP2 0000073a: SUB 0000073b: SWAP1 0000073c: RETURN 0000073d: JUMPDEST 0000073e: CALLVALUE 0000073f: DUP1 00000740: ISZERO 00000741: PUSH2 0x0749 00000744: JUMPI 00000745: PUSH1 0x00 00000747: DUP1 00000748: REVERT 00000749: JUMPDEST 0000074a: POP 0000074b: PUSH2 0x0752 0000074e: PUSH2 0x1749 00000751: JUMP 00000752: JUMPDEST 00000753: PUSH1 0x40 00000755: MLOAD 00000756: PUSH2 0x075f 00000759: SWAP2 0000075a: SWAP1 0000075b: PUSH2 0x3476 0000075e: JUMP 0000075f: JUMPDEST 00000760: PUSH1 0x40 00000762: MLOAD 00000763: DUP1 00000764: SWAP2 00000765: SUB 00000766: SWAP1 00000767: RETURN 00000768: JUMPDEST 00000769: CALLVALUE 0000076a: DUP1 0000076b: ISZERO 0000076c: PUSH2 0x0774 0000076f: JUMPI 00000770: PUSH1 0x00 00000772: DUP1 00000773: REVERT 00000774: JUMPDEST 00000775: POP 00000776: PUSH2 0x077d 00000779: PUSH2 0x174f 0000077c: JUMP 0000077d: JUMPDEST 0000077e: PUSH1 0x40 00000780: MLOAD 00000781: PUSH2 0x078a 00000784: SWAP2 00000785: SWAP1 00000786: PUSH2 0x33b9 00000789: JUMP 0000078a: JUMPDEST 0000078b: PUSH1 0x40 0000078d: MLOAD 0000078e: DUP1 0000078f: SWAP2 00000790: SUB 00000791: SWAP1 00000792: RETURN 00000793: JUMPDEST 00000794: CALLVALUE 00000795: DUP1 00000796: ISZERO 00000797: PUSH2 0x079f 0000079a: JUMPI 0000079b: PUSH1 0x00 0000079d: DUP1 0000079e: REVERT 0000079f: JUMPDEST 000007a0: POP 000007a1: PUSH2 0x07a8 000007a4: PUSH2 0x1779 000007a7: JUMP 000007a8: JUMPDEST 000007a9: PUSH1 0x40 000007ab: MLOAD 000007ac: PUSH2 0x07b5 000007af: SWAP2 000007b0: SWAP1 000007b1: PUSH2 0x3476 000007b4: JUMP 000007b5: JUMPDEST 000007b6: PUSH1 0x40 000007b8: MLOAD 000007b9: DUP1 000007ba: SWAP2 000007bb: SUB 000007bc: SWAP1 000007bd: RETURN 000007be: JUMPDEST 000007bf: CALLVALUE 000007c0: DUP1 000007c1: ISZERO 000007c2: PUSH2 0x07ca 000007c5: JUMPI 000007c6: PUSH1 0x00 000007c8: DUP1 000007c9: REVERT 000007ca: JUMPDEST 000007cb: POP 000007cc: PUSH2 0x07d3 000007cf: PUSH2 0x177f 000007d2: JUMP 000007d3: JUMPDEST 000007d4: PUSH1 0x40 000007d6: MLOAD 000007d7: PUSH2 0x07e0 000007da: SWAP2 000007db: SWAP1 000007dc: PUSH2 0x3325 000007df: JUMP 000007e0: JUMPDEST 000007e1: PUSH1 0x40 000007e3: MLOAD 000007e4: DUP1 000007e5: SWAP2 000007e6: SUB 000007e7: SWAP1 000007e8: RETURN 000007e9: JUMPDEST 000007ea: PUSH2 0x0803 000007ed: PUSH1 0x04 000007ef: DUP1 000007f0: CALLDATASIZE 000007f1: SUB 000007f2: DUP2 000007f3: ADD 000007f4: SWAP1 000007f5: PUSH2 0x07fe 000007f8: SWAP2 000007f9: SWAP1 000007fa: PUSH2 0x38ae 000007fd: JUMP 000007fe: JUMPDEST 000007ff: PUSH2 0x1811 00000802: JUMP 00000803: JUMPDEST 00000804: STOP 00000805: JUMPDEST 00000806: CALLVALUE 00000807: DUP1 00000808: ISZERO 00000809: PUSH2 0x0811 0000080c: JUMPI 0000080d: PUSH1 0x00 0000080f: DUP1 00000810: REVERT 00000811: JUMPDEST 00000812: POP 00000813: PUSH2 0x082c 00000816: PUSH1 0x04 00000818: DUP1 00000819: CALLDATASIZE 0000081a: SUB 0000081b: DUP2 0000081c: ADD 0000081d: SWAP1 0000081e: PUSH2 0x0827 00000821: SWAP2 00000822: SWAP1 00000823: PUSH2 0x3941 00000826: JUMP 00000827: JUMPDEST 00000828: PUSH2 0x1be1 0000082b: JUMP 0000082c: JUMPDEST 0000082d: STOP 0000082e: JUMPDEST 0000082f: PUSH2 0x0848 00000832: PUSH1 0x04 00000834: DUP1 00000835: CALLDATASIZE 00000836: SUB 00000837: DUP2 00000838: ADD 00000839: SWAP1 0000083a: PUSH2 0x0843 0000083d: SWAP2 0000083e: SWAP1 0000083f: PUSH2 0x38ae 00000842: JUMP 00000843: JUMPDEST 00000844: PUSH2 0x1bf7 00000847: JUMP 00000848: JUMPDEST 00000849: STOP 0000084a: JUMPDEST 0000084b: CALLVALUE 0000084c: DUP1 0000084d: ISZERO 0000084e: PUSH2 0x0856 00000851: JUMPI 00000852: PUSH1 0x00 00000854: DUP1 00000855: REVERT 00000856: JUMPDEST 00000857: POP 00000858: PUSH2 0x085f 0000085b: PUSH2 0x1f77 0000085e: JUMP 0000085f: JUMPDEST 00000860: PUSH1 0x40 00000862: MLOAD 00000863: PUSH2 0x086c 00000866: SWAP2 00000867: SWAP1 00000868: PUSH2 0x3476 0000086b: JUMP 0000086c: JUMPDEST 0000086d: PUSH1 0x40 0000086f: MLOAD 00000870: DUP1 00000871: SWAP2 00000872: SUB 00000873: SWAP1 00000874: RETURN 00000875: JUMPDEST 00000876: CALLVALUE 00000877: DUP1 00000878: ISZERO 00000879: PUSH2 0x0881 0000087c: JUMPI 0000087d: PUSH1 0x00 0000087f: DUP1 00000880: REVERT 00000881: JUMPDEST 00000882: POP 00000883: PUSH2 0x089c 00000886: PUSH1 0x04 00000888: DUP1 00000889: CALLDATASIZE 0000088a: SUB 0000088b: DUP2 0000088c: ADD 0000088d: SWAP1 0000088e: PUSH2 0x0897 00000891: SWAP2 00000892: SWAP1 00000893: PUSH2 0x3a22 00000896: JUMP 00000897: JUMPDEST 00000898: PUSH2 0x1f7d 0000089b: JUMP 0000089c: JUMPDEST 0000089d: STOP 0000089e: JUMPDEST 0000089f: CALLVALUE 000008a0: DUP1 000008a1: ISZERO 000008a2: PUSH2 0x08aa 000008a5: JUMPI 000008a6: PUSH1 0x00 000008a8: DUP1 000008a9: REVERT 000008aa: JUMPDEST 000008ab: POP 000008ac: PUSH2 0x08b3 000008af: PUSH2 0x1fdf 000008b2: JUMP 000008b3: JUMPDEST 000008b4: PUSH1 0x40 000008b6: MLOAD 000008b7: PUSH2 0x08c0 000008ba: SWAP2 000008bb: SWAP1 000008bc: PUSH2 0x3476 000008bf: JUMP 000008c0: JUMPDEST 000008c1: PUSH1 0x40 000008c3: MLOAD 000008c4: DUP1 000008c5: SWAP2 000008c6: SUB 000008c7: SWAP1 000008c8: RETURN 000008c9: JUMPDEST 000008ca: CALLVALUE 000008cb: DUP1 000008cc: ISZERO 000008cd: PUSH2 0x08d5 000008d0: JUMPI 000008d1: PUSH1 0x00 000008d3: DUP1 000008d4: REVERT 000008d5: JUMPDEST 000008d6: POP 000008d7: PUSH2 0x08f0 000008da: PUSH1 0x04 000008dc: DUP1 000008dd: CALLDATASIZE 000008de: SUB 000008df: DUP2 000008e0: ADD 000008e1: SWAP1 000008e2: PUSH2 0x08eb 000008e5: SWAP2 000008e6: SWAP1 000008e7: PUSH2 0x3aa5 000008ea: JUMP 000008eb: JUMPDEST 000008ec: PUSH2 0x1fe5 000008ef: JUMP 000008f0: JUMPDEST 000008f1: STOP 000008f2: JUMPDEST 000008f3: CALLVALUE 000008f4: DUP1 000008f5: ISZERO 000008f6: PUSH2 0x08fe 000008f9: JUMPI 000008fa: PUSH1 0x00 000008fc: DUP1 000008fd: REVERT 000008fe: JUMPDEST 000008ff: POP 00000900: PUSH2 0x0919 00000903: PUSH1 0x04 00000905: DUP1 00000906: CALLDATASIZE 00000907: SUB 00000908: DUP2 00000909: ADD 0000090a: SWAP1 0000090b: PUSH2 0x0914 0000090e: SWAP2 0000090f: SWAP1 00000910: PUSH2 0x337d 00000913: JUMP 00000914: JUMPDEST 00000915: PUSH2 0x20bb 00000918: JUMP 00000919: JUMPDEST 0000091a: PUSH1 0x40 0000091c: MLOAD 0000091d: PUSH2 0x0926 00000920: SWAP2 00000921: SWAP1 00000922: PUSH2 0x3325 00000925: JUMP 00000926: JUMPDEST 00000927: PUSH1 0x40 00000929: MLOAD 0000092a: DUP1 0000092b: SWAP2 0000092c: SUB 0000092d: SWAP1 0000092e: RETURN 0000092f: JUMPDEST 00000930: CALLVALUE 00000931: DUP1 00000932: ISZERO 00000933: PUSH2 0x093b 00000936: JUMPI 00000937: PUSH1 0x00 00000939: DUP1 0000093a: REVERT 0000093b: JUMPDEST 0000093c: POP 0000093d: PUSH2 0x0944 00000940: PUSH2 0x2161 00000943: JUMP 00000944: JUMPDEST 00000945: PUSH1 0x40 00000947: MLOAD 00000948: PUSH2 0x0951 0000094b: SWAP2 0000094c: SWAP1 0000094d: PUSH2 0x3476 00000950: JUMP 00000951: JUMPDEST 00000952: PUSH1 0x40 00000954: MLOAD 00000955: DUP1 00000956: SWAP2 00000957: SUB 00000958: SWAP1 00000959: RETURN 0000095a: JUMPDEST 0000095b: CALLVALUE 0000095c: DUP1 0000095d: ISZERO 0000095e: PUSH2 0x0966 00000961: JUMPI 00000962: PUSH1 0x00 00000964: DUP1 00000965: REVERT 00000966: JUMPDEST 00000967: POP 00000968: PUSH2 0x096f 0000096b: PUSH2 0x2167 0000096e: JUMP 0000096f: JUMPDEST 00000970: PUSH1 0x40 00000972: MLOAD 00000973: PUSH2 0x097c 00000976: SWAP2 00000977: SWAP1 00000978: PUSH2 0x3476 0000097b: JUMP 0000097c: JUMPDEST 0000097d: PUSH1 0x40 0000097f: MLOAD 00000980: DUP1 00000981: SWAP2 00000982: SUB 00000983: SWAP1 00000984: RETURN 00000985: JUMPDEST 00000986: CALLVALUE 00000987: DUP1 00000988: ISZERO 00000989: PUSH2 0x0991 0000098c: JUMPI 0000098d: PUSH1 0x00 0000098f: DUP1 00000990: REVERT 00000991: JUMPDEST 00000992: POP 00000993: PUSH2 0x09ac 00000996: PUSH1 0x04 00000998: DUP1 00000999: CALLDATASIZE 0000099a: SUB 0000099b: DUP2 0000099c: ADD 0000099d: SWAP1 0000099e: PUSH2 0x09a7 000009a1: SWAP2 000009a2: SWAP1 000009a3: PUSH2 0x3ae5 000009a6: JUMP 000009a7: JUMPDEST 000009a8: PUSH2 0x216d 000009ab: JUMP 000009ac: JUMPDEST 000009ad: PUSH1 0x40 000009af: MLOAD 000009b0: PUSH2 0x09b9 000009b3: SWAP2 000009b4: SWAP1 000009b5: PUSH2 0x31e6 000009b8: JUMP 000009b9: JUMPDEST 000009ba: PUSH1 0x40 000009bc: MLOAD 000009bd: DUP1 000009be: SWAP2 000009bf: SUB 000009c0: SWAP1 000009c1: RETURN 000009c2: JUMPDEST 000009c3: CALLVALUE 000009c4: DUP1 000009c5: ISZERO 000009c6: PUSH2 0x09ce 000009c9: JUMPI 000009ca: PUSH1 0x00 000009cc: DUP1 000009cd: REVERT 000009ce: JUMPDEST 000009cf: POP 000009d0: PUSH2 0x09e9 000009d3: PUSH1 0x04 000009d5: DUP1 000009d6: CALLDATASIZE 000009d7: SUB 000009d8: DUP2 000009d9: ADD 000009da: SWAP1 000009db: PUSH2 0x09e4 000009de: SWAP2 000009df: SWAP1 000009e0: PUSH2 0x325f 000009e3: JUMP 000009e4: JUMPDEST 000009e5: PUSH2 0x2201 000009e8: JUMP 000009e9: JUMPDEST 000009ea: STOP 000009eb: JUMPDEST 000009ec: CALLVALUE 000009ed: DUP1 000009ee: ISZERO 000009ef: PUSH2 0x09f7 000009f2: JUMPI 000009f3: PUSH1 0x00 000009f5: DUP1 000009f6: REVERT 000009f7: JUMPDEST 000009f8: POP 000009f9: PUSH2 0x0a12 000009fc: PUSH1 0x04 000009fe: DUP1 000009ff: CALLDATASIZE 00000a00: SUB 00000a01: DUP2 00000a02: ADD 00000a03: SWAP1 00000a04: PUSH2 0x0a0d 00000a07: SWAP2 00000a08: SWAP1 00000a09: PUSH2 0x325f 00000a0c: JUMP 00000a0d: JUMPDEST 00000a0e: PUSH2 0x2284 00000a11: JUMP 00000a12: JUMPDEST 00000a13: PUSH1 0x40 00000a15: MLOAD 00000a16: PUSH2 0x0a1f 00000a19: SWAP2 00000a1a: SWAP1 00000a1b: PUSH2 0x3476 00000a1e: JUMP 00000a1f: JUMPDEST 00000a20: PUSH1 0x40 00000a22: MLOAD 00000a23: DUP1 00000a24: SWAP2 00000a25: SUB 00000a26: SWAP1 00000a27: RETURN 00000a28: JUMPDEST 00000a29: PUSH1 0x00 00000a2b: PUSH32 0x80ac58cd00000000000000000000000000000000000000000000000000000000 00000a4c: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000a69: NOT 00000a6a: AND 00000a6b: DUP3 00000a6c: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000a89: NOT 00000a8a: AND 00000a8b: EQ 00000a8c: DUP1 00000a8d: PUSH2 0x0af3 00000a90: JUMPI 00000a91: POP 00000a92: PUSH32 0x5b5e139f00000000000000000000000000000000000000000000000000000000 00000ab3: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000ad0: NOT 00000ad1: AND 00000ad2: DUP3 00000ad3: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000af0: NOT 00000af1: AND 00000af2: EQ 00000af3: JUMPDEST 00000af4: DUP1 00000af5: PUSH2 0x0b03 00000af8: JUMPI 00000af9: POP 00000afa: PUSH2 0x0b02 00000afd: DUP3 00000afe: PUSH2 0x229c 00000b01: JUMP 00000b02: JUMPDEST 00000b03: JUMPDEST 00000b04: SWAP1 00000b05: POP 00000b06: SWAP2 00000b07: SWAP1 00000b08: POP 00000b09: JUMP 00000b0a: JUMPDEST 00000b0b: PUSH2 0x0b12 00000b0e: PUSH2 0x2306 00000b11: JUMP 00000b12: JUMPDEST 00000b13: DUP1 00000b14: PUSH1 0x08 00000b16: PUSH1 0x00 00000b18: PUSH2 0x0100 00000b1b: EXP 00000b1c: DUP2 00000b1d: SLOAD 00000b1e: DUP2 00000b1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b34: MUL 00000b35: NOT 00000b36: AND 00000b37: SWAP1 00000b38: DUP4 00000b39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b4e: AND 00000b4f: MUL 00000b50: OR 00000b51: SWAP1 00000b52: SSTORE 00000b53: POP 00000b54: POP 00000b55: JUMP 00000b56: JUMPDEST 00000b57: PUSH1 0x60 00000b59: PUSH1 0x00 00000b5b: DUP1 00000b5c: SLOAD 00000b5d: PUSH2 0x0b65 00000b60: SWAP1 00000b61: PUSH2 0x3b54 00000b64: JUMP 00000b65: JUMPDEST 00000b66: DUP1 00000b67: PUSH1 0x1f 00000b69: ADD 00000b6a: PUSH1 0x20 00000b6c: DUP1 00000b6d: SWAP2 00000b6e: DIV 00000b6f: MUL 00000b70: PUSH1 0x20 00000b72: ADD 00000b73: PUSH1 0x40 00000b75: MLOAD 00000b76: SWAP1 00000b77: DUP2 00000b78: ADD 00000b79: PUSH1 0x40 00000b7b: MSTORE 00000b7c: DUP1 00000b7d: SWAP3 00000b7e: SWAP2 00000b7f: SWAP1 00000b80: DUP2 00000b81: DUP2 00000b82: MSTORE 00000b83: PUSH1 0x20 00000b85: ADD 00000b86: DUP3 00000b87: DUP1 00000b88: SLOAD 00000b89: PUSH2 0x0b91 00000b8c: SWAP1 00000b8d: PUSH2 0x3b54 00000b90: JUMP 00000b91: JUMPDEST 00000b92: DUP1 00000b93: ISZERO 00000b94: PUSH2 0x0bde 00000b97: JUMPI 00000b98: DUP1 00000b99: PUSH1 0x1f 00000b9b: LT 00000b9c: PUSH2 0x0bb3 00000b9f: JUMPI 00000ba0: PUSH2 0x0100 00000ba3: DUP1 00000ba4: DUP4 00000ba5: SLOAD 00000ba6: DIV 00000ba7: MUL 00000ba8: DUP4 00000ba9: MSTORE 00000baa: SWAP2 00000bab: PUSH1 0x20 00000bad: ADD 00000bae: SWAP2 00000baf: PUSH2 0x0bde 00000bb2: JUMP 00000bb3: JUMPDEST 00000bb4: DUP3 00000bb5: ADD 00000bb6: SWAP2 00000bb7: SWAP1 00000bb8: PUSH1 0x00 00000bba: MSTORE 00000bbb: PUSH1 0x20 00000bbd: PUSH1 0x00 00000bbf: KECCAK256 00000bc0: SWAP1 00000bc1: JUMPDEST 00000bc2: DUP2 00000bc3: SLOAD 00000bc4: DUP2 00000bc5: MSTORE 00000bc6: SWAP1 00000bc7: PUSH1 0x01 00000bc9: ADD 00000bca: SWAP1 00000bcb: PUSH1 0x20 00000bcd: ADD 00000bce: DUP1 00000bcf: DUP4 00000bd0: GT 00000bd1: PUSH2 0x0bc1 00000bd4: JUMPI 00000bd5: DUP3 00000bd6: SWAP1 00000bd7: SUB 00000bd8: PUSH1 0x1f 00000bda: AND 00000bdb: DUP3 00000bdc: ADD 00000bdd: SWAP2 00000bde: JUMPDEST 00000bdf: POP 00000be0: POP 00000be1: POP 00000be2: POP 00000be3: POP 00000be4: SWAP1 00000be5: POP 00000be6: SWAP1 00000be7: JUMP 00000be8: JUMPDEST 00000be9: PUSH1 0x00 00000beb: PUSH2 0x0bf3 00000bee: DUP3 00000bef: PUSH2 0x2384 00000bf2: JUMP 00000bf3: JUMPDEST 00000bf4: PUSH1 0x04 00000bf6: PUSH1 0x00 00000bf8: DUP4 00000bf9: DUP2 00000bfa: MSTORE 00000bfb: PUSH1 0x20 00000bfd: ADD 00000bfe: SWAP1 00000bff: DUP2 00000c00: MSTORE 00000c01: PUSH1 0x20 00000c03: ADD 00000c04: PUSH1 0x00 00000c06: KECCAK256 00000c07: PUSH1 0x00 00000c09: SWAP1 00000c0a: SLOAD 00000c0b: SWAP1 00000c0c: PUSH2 0x0100 00000c0f: EXP 00000c10: SWAP1 00000c11: DIV 00000c12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c27: AND 00000c28: SWAP1 00000c29: POP 00000c2a: SWAP2 00000c2b: SWAP1 00000c2c: POP 00000c2d: JUMP 00000c2e: JUMPDEST 00000c2f: PUSH1 0x00 00000c31: PUSH2 0x0c39 00000c34: DUP3 00000c35: PUSH2 0x0fb3 00000c38: JUMP 00000c39: JUMPDEST 00000c3a: SWAP1 00000c3b: POP 00000c3c: DUP1 00000c3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c52: AND 00000c53: DUP4 00000c54: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c69: AND 00000c6a: SUB 00000c6b: PUSH2 0x0ca9 00000c6e: JUMPI 00000c6f: PUSH1 0x40 00000c71: MLOAD 00000c72: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c93: DUP2 00000c94: MSTORE 00000c95: PUSH1 0x04 00000c97: ADD 00000c98: PUSH2 0x0ca0 00000c9b: SWAP1 00000c9c: PUSH2 0x3bf7 00000c9f: JUMP 00000ca0: JUMPDEST 00000ca1: PUSH1 0x40 00000ca3: MLOAD 00000ca4: DUP1 00000ca5: SWAP2 00000ca6: SUB 00000ca7: SWAP1 00000ca8: REVERT 00000ca9: JUMPDEST 00000caa: DUP1 00000cab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cc0: AND 00000cc1: PUSH2 0x0cc8 00000cc4: PUSH2 0x23cf 00000cc7: JUMP 00000cc8: JUMPDEST 00000cc9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cde: AND 00000cdf: EQ 00000ce0: DUP1 00000ce1: PUSH2 0x0cf7 00000ce4: JUMPI 00000ce5: POP 00000ce6: PUSH2 0x0cf6 00000ce9: DUP2 00000cea: PUSH2 0x0cf1 00000ced: PUSH2 0x23cf 00000cf0: JUMP 00000cf1: JUMPDEST 00000cf2: PUSH2 0x216d 00000cf5: JUMP 00000cf6: JUMPDEST 00000cf7: JUMPDEST 00000cf8: PUSH2 0x0d36 00000cfb: JUMPI 00000cfc: PUSH1 0x40 00000cfe: MLOAD 00000cff: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d20: DUP2 00000d21: MSTORE 00000d22: PUSH1 0x04 00000d24: ADD 00000d25: PUSH2 0x0d2d 00000d28: SWAP1 00000d29: PUSH2 0x3c89 00000d2c: JUMP 00000d2d: JUMPDEST 00000d2e: PUSH1 0x40 00000d30: MLOAD 00000d31: DUP1 00000d32: SWAP2 00000d33: SUB 00000d34: SWAP1 00000d35: REVERT 00000d36: JUMPDEST 00000d37: PUSH2 0x0d40 00000d3a: DUP4 00000d3b: DUP4 00000d3c: PUSH2 0x23d7 00000d3f: JUMP 00000d40: JUMPDEST 00000d41: POP 00000d42: POP 00000d43: POP 00000d44: JUMP 00000d45: JUMPDEST 00000d46: PUSH2 0x0d56 00000d49: PUSH2 0x0d50 00000d4c: PUSH2 0x23cf 00000d4f: JUMP 00000d50: JUMPDEST 00000d51: DUP3 00000d52: PUSH2 0x2490 00000d55: JUMP 00000d56: JUMPDEST 00000d57: PUSH2 0x0d95 00000d5a: JUMPI 00000d5b: PUSH1 0x40 00000d5d: MLOAD 00000d5e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d7f: DUP2 00000d80: MSTORE 00000d81: PUSH1 0x04 00000d83: ADD 00000d84: PUSH2 0x0d8c 00000d87: SWAP1 00000d88: PUSH2 0x3d1b 00000d8b: JUMP 00000d8c: JUMPDEST 00000d8d: PUSH1 0x40 00000d8f: MLOAD 00000d90: DUP1 00000d91: SWAP2 00000d92: SUB 00000d93: SWAP1 00000d94: REVERT 00000d95: JUMPDEST 00000d96: PUSH2 0x0da0 00000d99: DUP4 00000d9a: DUP4 00000d9b: DUP4 00000d9c: PUSH2 0x2525 00000d9f: JUMP 00000da0: JUMPDEST 00000da1: POP 00000da2: POP 00000da3: POP 00000da4: JUMP 00000da5: JUMPDEST 00000da6: PUSH1 0x16 00000da8: PUSH1 0x20 00000daa: MSTORE 00000dab: DUP1 00000dac: PUSH1 0x00 00000dae: MSTORE 00000daf: PUSH1 0x40 00000db1: PUSH1 0x00 00000db3: KECCAK256 00000db4: PUSH1 0x00 00000db6: SWAP2 00000db7: POP 00000db8: SWAP1 00000db9: POP 00000dba: SLOAD 00000dbb: DUP2 00000dbc: JUMP 00000dbd: JUMPDEST 00000dbe: PUSH2 0x0dd8 00000dc1: DUP4 00000dc2: DUP4 00000dc3: DUP4 00000dc4: PUSH1 0x40 00000dc6: MLOAD 00000dc7: DUP1 00000dc8: PUSH1 0x20 00000dca: ADD 00000dcb: PUSH1 0x40 00000dcd: MSTORE 00000dce: DUP1 00000dcf: PUSH1 0x00 00000dd1: DUP2 00000dd2: MSTORE 00000dd3: POP 00000dd4: PUSH2 0x1f7d 00000dd7: JUMP 00000dd8: JUMPDEST 00000dd9: POP 00000dda: POP 00000ddb: POP 00000ddc: JUMP 00000ddd: JUMPDEST 00000dde: PUSH2 0x0dee 00000de1: PUSH2 0x0de8 00000de4: PUSH2 0x23cf 00000de7: JUMP 00000de8: JUMPDEST 00000de9: DUP3 00000dea: PUSH2 0x2490 00000ded: JUMP 00000dee: JUMPDEST 00000def: PUSH2 0x0e2d 00000df2: JUMPI 00000df3: PUSH1 0x40 00000df5: MLOAD 00000df6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e17: DUP2 00000e18: MSTORE 00000e19: PUSH1 0x04 00000e1b: ADD 00000e1c: PUSH2 0x0e24 00000e1f: SWAP1 00000e20: PUSH2 0x3d1b 00000e23: JUMP 00000e24: JUMPDEST 00000e25: PUSH1 0x40 00000e27: MLOAD 00000e28: DUP1 00000e29: SWAP2 00000e2a: SUB 00000e2b: SWAP1 00000e2c: REVERT 00000e2d: JUMPDEST 00000e2e: PUSH2 0x0e36 00000e31: DUP2 00000e32: PUSH2 0x278b 00000e35: JUMP 00000e36: JUMPDEST 00000e37: POP 00000e38: JUMP 00000e39: JUMPDEST 00000e3a: PUSH1 0x0c 00000e3c: SLOAD 00000e3d: DUP2 00000e3e: JUMP 00000e3f: JUMPDEST 00000e40: PUSH2 0x0e47 00000e43: PUSH2 0x2306 00000e46: JUMP 00000e47: JUMPDEST 00000e48: PUSH1 0x07 00000e4a: PUSH1 0x00 00000e4c: SWAP1 00000e4d: SLOAD 00000e4e: SWAP1 00000e4f: PUSH2 0x0100 00000e52: EXP 00000e53: SWAP1 00000e54: DIV 00000e55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e6a: AND 00000e6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e80: AND 00000e81: PUSH4 0x19165587 00000e86: DUP3 00000e87: PUSH1 0x40 00000e89: MLOAD 00000e8a: DUP3 00000e8b: PUSH4 0xffffffff 00000e90: AND 00000e91: PUSH1 0xe0 00000e93: SHL 00000e94: DUP2 00000e95: MSTORE 00000e96: PUSH1 0x04 00000e98: ADD 00000e99: PUSH2 0x0ea2 00000e9c: SWAP2 00000e9d: SWAP1 00000e9e: PUSH2 0x3d4a 00000ea1: JUMP 00000ea2: JUMPDEST 00000ea3: PUSH1 0x00 00000ea5: PUSH1 0x40 00000ea7: MLOAD 00000ea8: DUP1 00000ea9: DUP4 00000eaa: SUB 00000eab: DUP2 00000eac: PUSH1 0x00 00000eae: DUP8 00000eaf: DUP1 00000eb0: EXTCODESIZE 00000eb1: ISZERO 00000eb2: DUP1 00000eb3: ISZERO 00000eb4: PUSH2 0x0ebc 00000eb7: JUMPI 00000eb8: PUSH1 0x00 00000eba: DUP1 00000ebb: REVERT 00000ebc: JUMPDEST 00000ebd: POP 00000ebe: GAS 00000ebf: CALL 00000ec0: ISZERO 00000ec1: DUP1 00000ec2: ISZERO 00000ec3: PUSH2 0x0ed0 00000ec6: JUMPI 00000ec7: RETURNDATASIZE 00000ec8: PUSH1 0x00 00000eca: DUP1 00000ecb: RETURNDATACOPY 00000ecc: RETURNDATASIZE 00000ecd: PUSH1 0x00 00000ecf: REVERT 00000ed0: JUMPDEST 00000ed1: POP 00000ed2: POP 00000ed3: POP 00000ed4: POP 00000ed5: POP 00000ed6: JUMP 00000ed7: JUMPDEST 00000ed8: PUSH1 0x14 00000eda: DUP1 00000edb: SLOAD 00000edc: PUSH2 0x0ee4 00000edf: SWAP1 00000ee0: PUSH2 0x3b54 00000ee3: JUMP 00000ee4: JUMPDEST 00000ee5: DUP1 00000ee6: PUSH1 0x1f 00000ee8: ADD 00000ee9: PUSH1 0x20 00000eeb: DUP1 00000eec: SWAP2 00000eed: DIV 00000eee: MUL 00000eef: PUSH1 0x20 00000ef1: ADD 00000ef2: PUSH1 0x40 00000ef4: MLOAD 00000ef5: SWAP1 00000ef6: DUP2 00000ef7: ADD 00000ef8: PUSH1 0x40 00000efa: MSTORE 00000efb: DUP1 00000efc: SWAP3 00000efd: SWAP2 00000efe: SWAP1 00000eff: DUP2 00000f00: DUP2 00000f01: MSTORE 00000f02: PUSH1 0x20 00000f04: ADD 00000f05: DUP3 00000f06: DUP1 00000f07: SLOAD 00000f08: PUSH2 0x0f10 00000f0b: SWAP1 00000f0c: PUSH2 0x3b54 00000f0f: JUMP 00000f10: JUMPDEST 00000f11: DUP1 00000f12: ISZERO 00000f13: PUSH2 0x0f5d 00000f16: JUMPI 00000f17: DUP1 00000f18: PUSH1 0x1f 00000f1a: LT 00000f1b: PUSH2 0x0f32 00000f1e: JUMPI 00000f1f: PUSH2 0x0100 00000f22: DUP1 00000f23: DUP4 00000f24: SLOAD 00000f25: DIV 00000f26: MUL 00000f27: DUP4 00000f28: MSTORE 00000f29: SWAP2 00000f2a: PUSH1 0x20 00000f2c: ADD 00000f2d: SWAP2 00000f2e: PUSH2 0x0f5d 00000f31: JUMP 00000f32: JUMPDEST 00000f33: DUP3 00000f34: ADD 00000f35: SWAP2 00000f36: SWAP1 00000f37: PUSH1 0x00 00000f39: MSTORE 00000f3a: PUSH1 0x20 00000f3c: PUSH1 0x00 00000f3e: KECCAK256 00000f3f: SWAP1 00000f40: JUMPDEST 00000f41: DUP2 00000f42: SLOAD 00000f43: DUP2 00000f44: MSTORE 00000f45: SWAP1 00000f46: PUSH1 0x01 00000f48: ADD 00000f49: SWAP1 00000f4a: PUSH1 0x20 00000f4c: ADD 00000f4d: DUP1 00000f4e: DUP4 00000f4f: GT 00000f50: PUSH2 0x0f40 00000f53: JUMPI 00000f54: DUP3 00000f55: SWAP1 00000f56: SUB 00000f57: PUSH1 0x1f 00000f59: AND 00000f5a: DUP3 00000f5b: ADD 00000f5c: SWAP2 00000f5d: JUMPDEST 00000f5e: POP 00000f5f: POP 00000f60: POP 00000f61: POP 00000f62: POP 00000f63: DUP2 00000f64: JUMP 00000f65: JUMPDEST 00000f66: PUSH1 0x08 00000f68: PUSH1 0x00 00000f6a: SWAP1 00000f6b: SLOAD 00000f6c: SWAP1 00000f6d: PUSH2 0x0100 00000f70: EXP 00000f71: SWAP1 00000f72: DIV 00000f73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f88: AND 00000f89: DUP2 00000f8a: JUMP 00000f8b: JUMPDEST 00000f8c: PUSH1 0x60 00000f8e: PUSH2 0x0fac 00000f91: DUP3 00000f92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fa7: AND 00000fa8: PUSH2 0x28a8 00000fab: JUMP 00000fac: JUMPDEST 00000fad: SWAP1 00000fae: POP 00000faf: SWAP2 00000fb0: SWAP1 00000fb1: POP 00000fb2: JUMP 00000fb3: JUMPDEST 00000fb4: PUSH1 0x00 00000fb6: DUP1 00000fb7: PUSH1 0x02 00000fb9: PUSH1 0x00 00000fbb: DUP5 00000fbc: DUP2 00000fbd: MSTORE 00000fbe: PUSH1 0x20 00000fc0: ADD 00000fc1: SWAP1 00000fc2: DUP2 00000fc3: MSTORE 00000fc4: PUSH1 0x20 00000fc6: ADD 00000fc7: PUSH1 0x00 00000fc9: KECCAK256 00000fca: PUSH1 0x00 00000fcc: SWAP1 00000fcd: SLOAD 00000fce: SWAP1 00000fcf: PUSH2 0x0100 00000fd2: EXP 00000fd3: SWAP1 00000fd4: DIV 00000fd5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fea: AND 00000feb: SWAP1 00000fec: POP 00000fed: PUSH1 0x00 00000fef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001004: AND 00001005: DUP2 00001006: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000101b: AND 0000101c: SUB 0000101d: PUSH2 0x105b 00001020: JUMPI 00001021: PUSH1 0x40 00001023: MLOAD 00001024: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001045: DUP2 00001046: MSTORE 00001047: PUSH1 0x04 00001049: ADD 0000104a: PUSH2 0x1052 0000104d: SWAP1 0000104e: PUSH2 0x3db1 00001051: JUMP 00001052: JUMPDEST 00001053: PUSH1 0x40 00001055: MLOAD 00001056: DUP1 00001057: SWAP2 00001058: SUB 00001059: SWAP1 0000105a: REVERT 0000105b: JUMPDEST 0000105c: DUP1 0000105d: SWAP2 0000105e: POP 0000105f: POP 00001060: SWAP2 00001061: SWAP1 00001062: POP 00001063: JUMP 00001064: JUMPDEST 00001065: PUSH1 0x0e 00001067: SLOAD 00001068: DUP2 00001069: JUMP 0000106a: JUMPDEST 0000106b: PUSH2 0x1072 0000106e: PUSH2 0x2306 00001071: JUMP 00001072: JUMPDEST 00001073: DUP2 00001074: PUSH1 0x13 00001076: SWAP1 00001077: DUP1 00001078: MLOAD 00001079: SWAP1 0000107a: PUSH1 0x20 0000107c: ADD 0000107d: SWAP1 0000107e: PUSH2 0x1088 00001081: SWAP3 00001082: SWAP2 00001083: SWAP1 00001084: PUSH2 0x308f 00001087: JUMP 00001088: JUMPDEST 00001089: POP 0000108a: DUP1 0000108b: PUSH1 0x14 0000108d: SWAP1 0000108e: DUP1 0000108f: MLOAD 00001090: SWAP1 00001091: PUSH1 0x20 00001093: ADD 00001094: SWAP1 00001095: PUSH2 0x109f 00001098: SWAP3 00001099: SWAP2 0000109a: SWAP1 0000109b: PUSH2 0x308f 0000109e: JUMP 0000109f: JUMPDEST 000010a0: POP 000010a1: POP 000010a2: POP 000010a3: JUMP 000010a4: JUMPDEST 000010a5: PUSH1 0x12 000010a7: SLOAD 000010a8: DUP2 000010a9: JUMP 000010aa: JUMPDEST 000010ab: PUSH1 0x13 000010ad: DUP1 000010ae: SLOAD 000010af: PUSH2 0x10b7 000010b2: SWAP1 000010b3: PUSH2 0x3b54 000010b6: JUMP 000010b7: JUMPDEST 000010b8: DUP1 000010b9: PUSH1 0x1f 000010bb: ADD 000010bc: PUSH1 0x20 000010be: DUP1 000010bf: SWAP2 000010c0: DIV 000010c1: MUL 000010c2: PUSH1 0x20 000010c4: ADD 000010c5: PUSH1 0x40 000010c7: MLOAD 000010c8: SWAP1 000010c9: DUP2 000010ca: ADD 000010cb: PUSH1 0x40 000010cd: MSTORE 000010ce: DUP1 000010cf: SWAP3 000010d0: SWAP2 000010d1: SWAP1 000010d2: DUP2 000010d3: DUP2 000010d4: MSTORE 000010d5: PUSH1 0x20 000010d7: ADD 000010d8: DUP3 000010d9: DUP1 000010da: SLOAD 000010db: PUSH2 0x10e3 000010de: SWAP1 000010df: PUSH2 0x3b54 000010e2: JUMP 000010e3: JUMPDEST 000010e4: DUP1 000010e5: ISZERO 000010e6: PUSH2 0x1130 000010e9: JUMPI 000010ea: DUP1 000010eb: PUSH1 0x1f 000010ed: LT 000010ee: PUSH2 0x1105 000010f1: JUMPI 000010f2: PUSH2 0x0100 000010f5: DUP1 000010f6: DUP4 000010f7: SLOAD 000010f8: DIV 000010f9: MUL 000010fa: DUP4 000010fb: MSTORE 000010fc: SWAP2 000010fd: PUSH1 0x20 000010ff: ADD 00001100: SWAP2 00001101: PUSH2 0x1130 00001104: JUMP 00001105: JUMPDEST 00001106: DUP3 00001107: ADD 00001108: SWAP2 00001109: SWAP1 0000110a: PUSH1 0x00 0000110c: MSTORE 0000110d: PUSH1 0x20 0000110f: PUSH1 0x00 00001111: KECCAK256 00001112: SWAP1 00001113: JUMPDEST 00001114: DUP2 00001115: SLOAD 00001116: DUP2 00001117: MSTORE 00001118: SWAP1 00001119: PUSH1 0x01 0000111b: ADD 0000111c: SWAP1 0000111d: PUSH1 0x20 0000111f: ADD 00001120: DUP1 00001121: DUP4 00001122: GT 00001123: PUSH2 0x1113 00001126: JUMPI 00001127: DUP3 00001128: SWAP1 00001129: SUB 0000112a: PUSH1 0x1f 0000112c: AND 0000112d: DUP3 0000112e: ADD 0000112f: SWAP2 00001130: JUMPDEST 00001131: POP 00001132: POP 00001133: POP 00001134: POP 00001135: POP 00001136: DUP2 00001137: JUMP 00001138: JUMPDEST 00001139: PUSH1 0x17 0000113b: PUSH1 0x20 0000113d: MSTORE 0000113e: DUP1 0000113f: PUSH1 0x00 00001141: MSTORE 00001142: PUSH1 0x40 00001144: PUSH1 0x00 00001146: KECCAK256 00001147: PUSH1 0x00 00001149: SWAP2 0000114a: POP 0000114b: SWAP1 0000114c: POP 0000114d: SLOAD 0000114e: DUP2 0000114f: JUMP 00001150: JUMPDEST 00001151: PUSH1 0x0a 00001153: SLOAD 00001154: DUP2 00001155: JUMP 00001156: JUMPDEST 00001157: PUSH1 0x00 00001159: DUP1 0000115a: PUSH2 0x1163 0000115d: DUP7 0000115e: MLOAD 0000115f: PUSH2 0x28a8 00001162: JUMP 00001163: JUMPDEST 00001164: PUSH1 0x40 00001166: MLOAD 00001167: PUSH1 0x20 00001169: ADD 0000116a: PUSH2 0x1173 0000116d: SWAP2 0000116e: SWAP1 0000116f: PUSH2 0x3e33 00001172: JUMP 00001173: JUMPDEST 00001174: PUSH1 0x40 00001176: MLOAD 00001177: PUSH1 0x20 00001179: DUP2 0000117a: DUP4 0000117b: SUB 0000117c: SUB 0000117d: DUP2 0000117e: MSTORE 0000117f: SWAP1 00001180: PUSH1 0x40 00001182: MSTORE 00001183: DUP7 00001184: PUSH1 0x40 00001186: MLOAD 00001187: PUSH1 0x20 00001189: ADD 0000118a: PUSH2 0x1194 0000118d: SWAP3 0000118e: SWAP2 0000118f: SWAP1 00001190: PUSH2 0x3e59 00001193: JUMP 00001194: JUMPDEST 00001195: PUSH1 0x40 00001197: MLOAD 00001198: PUSH1 0x20 0000119a: DUP2 0000119b: DUP4 0000119c: SUB 0000119d: SUB 0000119e: DUP2 0000119f: MSTORE 000011a0: SWAP1 000011a1: PUSH1 0x40 000011a3: MSTORE 000011a4: DUP1 000011a5: MLOAD 000011a6: SWAP1 000011a7: PUSH1 0x20 000011a9: ADD 000011aa: KECCAK256 000011ab: SWAP1 000011ac: POP 000011ad: PUSH1 0x01 000011af: DUP2 000011b0: DUP7 000011b1: DUP7 000011b2: DUP7 000011b3: PUSH1 0x40 000011b5: MLOAD 000011b6: PUSH1 0x00 000011b8: DUP2 000011b9: MSTORE 000011ba: PUSH1 0x20 000011bc: ADD 000011bd: PUSH1 0x40 000011bf: MSTORE 000011c0: PUSH1 0x40 000011c2: MLOAD 000011c3: PUSH2 0x11cf 000011c6: SWAP5 000011c7: SWAP4 000011c8: SWAP3 000011c9: SWAP2 000011ca: SWAP1 000011cb: PUSH2 0x3e9b 000011ce: JUMP 000011cf: JUMPDEST 000011d0: PUSH1 0x20 000011d2: PUSH1 0x40 000011d4: MLOAD 000011d5: PUSH1 0x20 000011d7: DUP2 000011d8: SUB 000011d9: SWAP1 000011da: DUP1 000011db: DUP5 000011dc: SUB 000011dd: SWAP1 000011de: DUP6 000011df: GAS 000011e0: STATICCALL 000011e1: ISZERO 000011e2: DUP1 000011e3: ISZERO 000011e4: PUSH2 0x11f1 000011e7: JUMPI 000011e8: RETURNDATASIZE 000011e9: PUSH1 0x00 000011eb: DUP1 000011ec: RETURNDATACOPY 000011ed: RETURNDATASIZE 000011ee: PUSH1 0x00 000011f0: REVERT 000011f1: JUMPDEST 000011f2: POP 000011f3: POP 000011f4: POP 000011f5: PUSH1 0x20 000011f7: PUSH1 0x40 000011f9: MLOAD 000011fa: SUB 000011fb: MLOAD 000011fc: SWAP2 000011fd: POP 000011fe: POP 000011ff: SWAP5 00001200: SWAP4 00001201: POP 00001202: POP 00001203: POP 00001204: POP 00001205: JUMP 00001206: JUMPDEST 00001207: PUSH1 0x00 00001209: DUP1 0000120a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000121f: AND 00001220: DUP3 00001221: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001236: AND 00001237: SUB 00001238: PUSH2 0x1276 0000123b: JUMPI 0000123c: PUSH1 0x40 0000123e: MLOAD 0000123f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001260: DUP2 00001261: MSTORE 00001262: PUSH1 0x04 00001264: ADD 00001265: PUSH2 0x126d 00001268: SWAP1 00001269: PUSH2 0x3f52 0000126c: JUMP 0000126d: JUMPDEST 0000126e: PUSH1 0x40 00001270: MLOAD 00001271: DUP1 00001272: SWAP2 00001273: SUB 00001274: SWAP1 00001275: REVERT 00001276: JUMPDEST 00001277: PUSH1 0x03 00001279: PUSH1 0x00 0000127b: DUP4 0000127c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001291: AND 00001292: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012a7: AND 000012a8: DUP2 000012a9: MSTORE 000012aa: PUSH1 0x20 000012ac: ADD 000012ad: SWAP1 000012ae: DUP2 000012af: MSTORE 000012b0: PUSH1 0x20 000012b2: ADD 000012b3: PUSH1 0x00 000012b5: KECCAK256 000012b6: SLOAD 000012b7: SWAP1 000012b8: POP 000012b9: SWAP2 000012ba: SWAP1 000012bb: POP 000012bc: JUMP 000012bd: JUMPDEST 000012be: PUSH2 0x12c5 000012c1: PUSH2 0x2306 000012c4: JUMP 000012c5: JUMPDEST 000012c6: PUSH2 0x12cf 000012c9: PUSH1 0x00 000012cb: PUSH2 0x2a08 000012ce: JUMP 000012cf: JUMPDEST 000012d0: JUMP 000012d1: JUMPDEST 000012d2: PUSH1 0x00 000012d4: JUMPDEST 000012d5: PUSH1 0x05 000012d7: DUP2 000012d8: LT 000012d9: ISZERO 000012da: PUSH2 0x137d 000012dd: JUMPI 000012de: CALLER 000012df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012f4: AND 000012f5: PUSH2 0x1314 000012f8: DUP8 000012f9: DUP4 000012fa: PUSH1 0x05 000012fc: DUP2 000012fd: LT 000012fe: PUSH2 0x130a 00001301: JUMPI 00001302: PUSH2 0x1309 00001305: PUSH2 0x3f72 00001308: JUMP 00001309: JUMPDEST 0000130a: JUMPDEST 0000130b: PUSH1 0x20 0000130d: MUL 0000130e: ADD 0000130f: CALLDATALOAD 00001310: PUSH2 0x0fb3 00001313: JUMP 00001314: JUMPDEST 00001315: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000132a: AND 0000132b: EQ 0000132c: PUSH2 0x136a 0000132f: JUMPI 00001330: PUSH1 0x40 00001332: MLOAD 00001333: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001354: DUP2 00001355: MSTORE 00001356: PUSH1 0x04 00001358: ADD 00001359: PUSH2 0x1361 0000135c: SWAP1 0000135d: PUSH2 0x3fed 00001360: JUMP 00001361: JUMPDEST 00001362: PUSH1 0x40 00001364: MLOAD 00001365: DUP1 00001366: SWAP2 00001367: SUB 00001368: SWAP1 00001369: REVERT 0000136a: JUMPDEST 0000136b: DUP1 0000136c: DUP1 0000136d: PUSH2 0x1375 00001370: SWAP1 00001371: PUSH2 0x403c 00001374: JUMP 00001375: JUMPDEST 00001376: SWAP2 00001377: POP 00001378: POP 00001379: PUSH2 0x12d4 0000137c: JUMP 0000137d: JUMPDEST 0000137e: POP 0000137f: PUSH1 0x00 00001381: PUSH2 0x13a1 00001384: DUP7 00001385: PUSH1 0x00 00001387: PUSH1 0x05 00001389: DUP2 0000138a: LT 0000138b: PUSH2 0x1397 0000138e: JUMPI 0000138f: PUSH2 0x1396 00001392: PUSH2 0x3f72 00001395: JUMP 00001396: JUMPDEST 00001397: JUMPDEST 00001398: PUSH1 0x20 0000139a: MUL 0000139b: ADD 0000139c: CALLDATALOAD 0000139d: PUSH2 0x28a8 000013a0: JUMP 000013a1: JUMPDEST 000013a2: PUSH2 0x13c2 000013a5: DUP8 000013a6: PUSH1 0x01 000013a8: PUSH1 0x05 000013aa: DUP2 000013ab: LT 000013ac: PUSH2 0x13b8 000013af: JUMPI 000013b0: PUSH2 0x13b7 000013b3: PUSH2 0x3f72 000013b6: JUMP 000013b7: JUMPDEST 000013b8: JUMPDEST 000013b9: PUSH1 0x20 000013bb: MUL 000013bc: ADD 000013bd: CALLDATALOAD 000013be: PUSH2 0x28a8 000013c1: JUMP 000013c2: JUMPDEST 000013c3: PUSH2 0x13e3 000013c6: DUP9 000013c7: PUSH1 0x02 000013c9: PUSH1 0x05 000013cb: DUP2 000013cc: LT 000013cd: PUSH2 0x13d9 000013d0: JUMPI 000013d1: PUSH2 0x13d8 000013d4: PUSH2 0x3f72 000013d7: JUMP 000013d8: JUMPDEST 000013d9: JUMPDEST 000013da: PUSH1 0x20 000013dc: MUL 000013dd: ADD 000013de: CALLDATALOAD 000013df: PUSH2 0x28a8 000013e2: JUMP 000013e3: JUMPDEST 000013e4: PUSH2 0x1404 000013e7: DUP10 000013e8: PUSH1 0x03 000013ea: PUSH1 0x05 000013ec: DUP2 000013ed: LT 000013ee: PUSH2 0x13fa 000013f1: JUMPI 000013f2: PUSH2 0x13f9 000013f5: PUSH2 0x3f72 000013f8: JUMP 000013f9: JUMPDEST 000013fa: JUMPDEST 000013fb: PUSH1 0x20 000013fd: MUL 000013fe: ADD 000013ff: CALLDATALOAD 00001400: PUSH2 0x28a8 00001403: JUMP 00001404: JUMPDEST 00001405: PUSH2 0x1425 00001408: DUP11 00001409: PUSH1 0x04 0000140b: PUSH1 0x05 0000140d: DUP2 0000140e: LT 0000140f: PUSH2 0x141b 00001412: JUMPI 00001413: PUSH2 0x141a 00001416: PUSH2 0x3f72 00001419: JUMP 0000141a: JUMPDEST 0000141b: JUMPDEST 0000141c: PUSH1 0x20 0000141e: MUL 0000141f: ADD 00001420: CALLDATALOAD 00001421: PUSH2 0x28a8 00001424: JUMP 00001425: JUMPDEST 00001426: PUSH1 0x40 00001428: MLOAD 00001429: PUSH1 0x20 0000142b: ADD 0000142c: PUSH2 0x1439 0000142f: SWAP6 00001430: SWAP5 00001431: SWAP4 00001432: SWAP3 00001433: SWAP2 00001434: SWAP1 00001435: PUSH2 0x4084 00001438: JUMP 00001439: JUMPDEST 0000143a: PUSH1 0x40 0000143c: MLOAD 0000143d: PUSH1 0x20 0000143f: DUP2 00001440: DUP4 00001441: SUB 00001442: SUB 00001443: DUP2 00001444: MSTORE 00001445: SWAP1 00001446: PUSH1 0x40 00001448: MSTORE 00001449: SWAP1 0000144a: POP 0000144b: PUSH1 0x00 0000144d: PUSH2 0x146b 00001450: CALLER 00001451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001466: AND 00001467: PUSH2 0x28a8 0000146a: JUMP 0000146b: JUMPDEST 0000146c: DUP3 0000146d: PUSH2 0x1475 00001470: DUP9 00001471: PUSH2 0x28a8 00001474: JUMP 00001475: JUMPDEST 00001476: PUSH2 0x14bd 00001479: PUSH1 0x16 0000147b: PUSH1 0x00 0000147d: CALLER 0000147e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001493: AND 00001494: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014a9: AND 000014aa: DUP2 000014ab: MSTORE 000014ac: PUSH1 0x20 000014ae: ADD 000014af: SWAP1 000014b0: DUP2 000014b1: MSTORE 000014b2: PUSH1 0x20 000014b4: ADD 000014b5: PUSH1 0x00 000014b7: KECCAK256 000014b8: SLOAD 000014b9: PUSH2 0x28a8 000014bc: JUMP 000014bd: JUMPDEST 000014be: PUSH1 0x40 000014c0: MLOAD 000014c1: PUSH1 0x20 000014c3: ADD 000014c4: PUSH2 0x14d0 000014c7: SWAP5 000014c8: SWAP4 000014c9: SWAP3 000014ca: SWAP2 000014cb: SWAP1 000014cc: PUSH2 0x40f5 000014cf: JUMP 000014d0: JUMPDEST 000014d1: PUSH1 0x40 000014d3: MLOAD 000014d4: PUSH1 0x20 000014d6: DUP2 000014d7: DUP4 000014d8: SUB 000014d9: SUB 000014da: DUP2 000014db: MSTORE 000014dc: SWAP1 000014dd: PUSH1 0x40 000014df: MSTORE 000014e0: SWAP1 000014e1: POP 000014e2: PUSH1 0x08 000014e4: PUSH1 0x00 000014e6: SWAP1 000014e7: SLOAD 000014e8: SWAP1 000014e9: PUSH2 0x0100 000014ec: EXP 000014ed: SWAP1 000014ee: DIV 000014ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001504: AND 00001505: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000151a: AND 0000151b: PUSH2 0x1526 0000151e: DUP3 0000151f: DUP8 00001520: DUP8 00001521: DUP8 00001522: PUSH2 0x1156 00001525: JUMP 00001526: JUMPDEST 00001527: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000153c: AND 0000153d: EQ 0000153e: PUSH2 0x157c 00001541: JUMPI 00001542: PUSH1 0x40 00001544: MLOAD 00001545: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001566: DUP2 00001567: MSTORE 00001568: PUSH1 0x04 0000156a: ADD 0000156b: PUSH2 0x1573 0000156e: SWAP1 0000156f: PUSH2 0x418e 00001572: JUMP 00001573: JUMPDEST 00001574: PUSH1 0x40 00001576: MLOAD 00001577: DUP1 00001578: SWAP2 00001579: SUB 0000157a: SWAP1 0000157b: REVERT 0000157c: JUMPDEST 0000157d: PUSH1 0x01 0000157f: PUSH1 0x16 00001581: PUSH1 0x00 00001583: CALLER 00001584: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001599: AND 0000159a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015af: AND 000015b0: DUP2 000015b1: MSTORE 000015b2: PUSH1 0x20 000015b4: ADD 000015b5: SWAP1 000015b6: DUP2 000015b7: MSTORE 000015b8: PUSH1 0x20 000015ba: ADD 000015bb: PUSH1 0x00 000015bd: KECCAK256 000015be: PUSH1 0x00 000015c0: DUP3 000015c1: DUP3 000015c2: SLOAD 000015c3: PUSH2 0x15cc 000015c6: SWAP2 000015c7: SWAP1 000015c8: PUSH2 0x41ae 000015cb: JUMP 000015cc: JUMPDEST 000015cd: SWAP3 000015ce: POP 000015cf: POP 000015d0: DUP2 000015d1: SWAP1 000015d2: SSTORE 000015d3: POP 000015d4: PUSH1 0x00 000015d6: JUMPDEST 000015d7: PUSH1 0x05 000015d9: DUP2 000015da: LT 000015db: ISZERO 000015dc: PUSH2 0x1612 000015df: JUMPI 000015e0: PUSH2 0x15ff 000015e3: DUP9 000015e4: DUP3 000015e5: PUSH1 0x05 000015e7: DUP2 000015e8: LT 000015e9: PUSH2 0x15f5 000015ec: JUMPI 000015ed: PUSH2 0x15f4 000015f0: PUSH2 0x3f72 000015f3: JUMP 000015f4: JUMPDEST 000015f5: JUMPDEST 000015f6: PUSH1 0x20 000015f8: MUL 000015f9: ADD 000015fa: CALLDATALOAD 000015fb: PUSH2 0x278b 000015fe: JUMP 000015ff: JUMPDEST 00001600: DUP1 00001601: DUP1 00001602: PUSH2 0x160a 00001605: SWAP1 00001606: PUSH2 0x403c 00001609: JUMP 0000160a: JUMPDEST 0000160b: SWAP2 0000160c: POP 0000160d: POP 0000160e: PUSH2 0x15d6 00001611: JUMP 00001612: JUMPDEST 00001613: POP 00001614: DUP6 00001615: PUSH1 0x17 00001617: PUSH1 0x00 00001619: CALLER 0000161a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000162f: AND 00001630: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001645: AND 00001646: DUP2 00001647: MSTORE 00001648: PUSH1 0x20 0000164a: ADD 0000164b: SWAP1 0000164c: DUP2 0000164d: MSTORE 0000164e: PUSH1 0x20 00001650: ADD 00001651: PUSH1 0x00 00001653: KECCAK256 00001654: PUSH1 0x00 00001656: DUP3 00001657: DUP3 00001658: SLOAD 00001659: PUSH2 0x1662 0000165c: SWAP2 0000165d: SWAP1 0000165e: PUSH2 0x41ae 00001661: JUMP 00001662: JUMPDEST 00001663: SWAP3 00001664: POP 00001665: POP 00001666: DUP2 00001667: SWAP1 00001668: SSTORE 00001669: POP 0000166a: PUSH32 0x22a38ee28ba86d0e727f9f5042523bff464ffe8ee9ee76d6aaae6213e20465c2 0000168b: DUP7 0000168c: CALLER 0000168d: PUSH1 0x40 0000168f: MLOAD 00001690: PUSH2 0x169a 00001693: SWAP3 00001694: SWAP2 00001695: SWAP1 00001696: PUSH2 0x4204 00001699: JUMP 0000169a: JUMPDEST 0000169b: PUSH1 0x40 0000169d: MLOAD 0000169e: DUP1 0000169f: SWAP2 000016a0: SUB 000016a1: SWAP1 000016a2: LOG1 000016a3: POP 000016a4: POP 000016a5: POP 000016a6: POP 000016a7: POP 000016a8: POP 000016a9: POP 000016aa: JUMP 000016ab: JUMPDEST 000016ac: PUSH1 0x60 000016ae: PUSH2 0x16cc 000016b1: DUP5 000016b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016c7: AND 000016c8: PUSH2 0x28a8 000016cb: JUMP 000016cc: JUMPDEST 000016cd: DUP4 000016ce: PUSH2 0x16d6 000016d1: DUP5 000016d2: PUSH2 0x28a8 000016d5: JUMP 000016d6: JUMPDEST 000016d7: PUSH2 0x171e 000016da: PUSH1 0x16 000016dc: PUSH1 0x00 000016de: CALLER 000016df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016f4: AND 000016f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000170a: AND 0000170b: DUP2 0000170c: MSTORE 0000170d: PUSH1 0x20 0000170f: ADD 00001710: SWAP1 00001711: DUP2 00001712: MSTORE 00001713: PUSH1 0x20 00001715: ADD 00001716: PUSH1 0x00 00001718: KECCAK256 00001719: SLOAD 0000171a: PUSH2 0x28a8 0000171d: JUMP 0000171e: JUMPDEST 0000171f: PUSH1 0x40 00001721: MLOAD 00001722: PUSH1 0x20 00001724: ADD 00001725: PUSH2 0x1731 00001728: SWAP5 00001729: SWAP4 0000172a: SWAP3 0000172b: SWAP2 0000172c: SWAP1 0000172d: PUSH2 0x422d 00001730: JUMP 00001731: JUMPDEST 00001732: PUSH1 0x40 00001734: MLOAD 00001735: PUSH1 0x20 00001737: DUP2 00001738: DUP4 00001739: SUB 0000173a: SUB 0000173b: DUP2 0000173c: MSTORE 0000173d: SWAP1 0000173e: PUSH1 0x40 00001740: MSTORE 00001741: SWAP1 00001742: POP 00001743: SWAP4 00001744: SWAP3 00001745: POP 00001746: POP 00001747: POP 00001748: JUMP 00001749: JUMPDEST 0000174a: PUSH1 0x0d 0000174c: SLOAD 0000174d: DUP2 0000174e: JUMP 0000174f: JUMPDEST 00001750: PUSH1 0x00 00001752: PUSH1 0x06 00001754: PUSH1 0x00 00001756: SWAP1 00001757: SLOAD 00001758: SWAP1 00001759: PUSH2 0x0100 0000175c: EXP 0000175d: SWAP1 0000175e: DIV 0000175f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001774: AND 00001775: SWAP1 00001776: POP 00001777: SWAP1 00001778: JUMP 00001779: JUMPDEST 0000177a: PUSH1 0x09 0000177c: SLOAD 0000177d: DUP2 0000177e: JUMP 0000177f: JUMPDEST 00001780: PUSH1 0x60 00001782: PUSH1 0x01 00001784: DUP1 00001785: SLOAD 00001786: PUSH2 0x178e 00001789: SWAP1 0000178a: PUSH2 0x3b54 0000178d: JUMP 0000178e: JUMPDEST 0000178f: DUP1 00001790: PUSH1 0x1f 00001792: ADD 00001793: PUSH1 0x20 00001795: DUP1 00001796: SWAP2 00001797: DIV 00001798: MUL 00001799: PUSH1 0x20 0000179b: ADD 0000179c: PUSH1 0x40 0000179e: MLOAD 0000179f: SWAP1 000017a0: DUP2 000017a1: ADD 000017a2: PUSH1 0x40 000017a4: MSTORE 000017a5: DUP1 000017a6: SWAP3 000017a7: SWAP2 000017a8: SWAP1 000017a9: DUP2 000017aa: DUP2 000017ab: MSTORE 000017ac: PUSH1 0x20 000017ae: ADD 000017af: DUP3 000017b0: DUP1 000017b1: SLOAD 000017b2: PUSH2 0x17ba 000017b5: SWAP1 000017b6: PUSH2 0x3b54 000017b9: JUMP 000017ba: JUMPDEST 000017bb: DUP1 000017bc: ISZERO 000017bd: PUSH2 0x1807 000017c0: JUMPI 000017c1: DUP1 000017c2: PUSH1 0x1f 000017c4: LT 000017c5: PUSH2 0x17dc 000017c8: JUMPI 000017c9: PUSH2 0x0100 000017cc: DUP1 000017cd: DUP4 000017ce: SLOAD 000017cf: DIV 000017d0: MUL 000017d1: DUP4 000017d2: MSTORE 000017d3: SWAP2 000017d4: PUSH1 0x20 000017d6: ADD 000017d7: SWAP2 000017d8: PUSH2 0x1807 000017db: JUMP 000017dc: JUMPDEST 000017dd: DUP3 000017de: ADD 000017df: SWAP2 000017e0: SWAP1 000017e1: PUSH1 0x00 000017e3: MSTORE 000017e4: PUSH1 0x20 000017e6: PUSH1 0x00 000017e8: KECCAK256 000017e9: SWAP1 000017ea: JUMPDEST 000017eb: DUP2 000017ec: SLOAD 000017ed: DUP2 000017ee: MSTORE 000017ef: SWAP1 000017f0: PUSH1 0x01 000017f2: ADD 000017f3: SWAP1 000017f4: PUSH1 0x20 000017f6: ADD 000017f7: DUP1 000017f8: DUP4 000017f9: GT 000017fa: PUSH2 0x17ea 000017fd: JUMPI 000017fe: DUP3 000017ff: SWAP1 00001800: SUB 00001801: PUSH1 0x1f 00001803: AND 00001804: DUP3 00001805: ADD 00001806: SWAP2 00001807: JUMPDEST 00001808: POP 00001809: POP 0000180a: POP 0000180b: POP 0000180c: POP 0000180d: SWAP1 0000180e: POP 0000180f: SWAP1 00001810: JUMP 00001811: JUMPDEST 00001812: PUSH1 0x0e 00001814: SLOAD 00001815: DUP5 00001816: PUSH1 0x0a 00001818: SLOAD 00001819: PUSH2 0x1822 0000181c: SWAP2 0000181d: SWAP1 0000181e: PUSH2 0x41ae 00001821: JUMP 00001822: JUMPDEST 00001823: GT 00001824: ISZERO 00001825: PUSH2 0x1863 00001828: JUMPI 00001829: PUSH1 0x40 0000182b: MLOAD 0000182c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000184d: DUP2 0000184e: MSTORE 0000184f: PUSH1 0x04 00001851: ADD 00001852: PUSH2 0x185a 00001855: SWAP1 00001856: PUSH2 0x42b7 00001859: JUMP 0000185a: JUMPDEST 0000185b: PUSH1 0x40 0000185d: MLOAD 0000185e: DUP1 0000185f: SWAP2 00001860: SUB 00001861: SWAP1 00001862: REVERT 00001863: JUMPDEST 00001864: PUSH1 0x00 00001866: PUSH2 0x1884 00001869: CALLER 0000186a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000187f: AND 00001880: PUSH2 0x28a8 00001883: JUMP 00001884: JUMPDEST 00001885: PUSH2 0x188d 00001888: DUP7 00001889: PUSH2 0x28a8 0000188c: JUMP 0000188d: JUMPDEST 0000188e: PUSH2 0x18d5 00001891: PUSH1 0x16 00001893: PUSH1 0x00 00001895: CALLER 00001896: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018ab: AND 000018ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018c1: AND 000018c2: DUP2 000018c3: MSTORE 000018c4: PUSH1 0x20 000018c6: ADD 000018c7: SWAP1 000018c8: DUP2 000018c9: MSTORE 000018ca: PUSH1 0x20 000018cc: ADD 000018cd: PUSH1 0x00 000018cf: KECCAK256 000018d0: SLOAD 000018d1: PUSH2 0x28a8 000018d4: JUMP 000018d5: JUMPDEST 000018d6: PUSH1 0x40 000018d8: MLOAD 000018d9: PUSH1 0x20 000018db: ADD 000018dc: PUSH2 0x18e7 000018df: SWAP4 000018e0: SWAP3 000018e1: SWAP2 000018e2: SWAP1 000018e3: PUSH2 0x42fd 000018e6: JUMP 000018e7: JUMPDEST 000018e8: PUSH1 0x40 000018ea: MLOAD 000018eb: PUSH1 0x20 000018ed: DUP2 000018ee: DUP4 000018ef: SUB 000018f0: SUB 000018f1: DUP2 000018f2: MSTORE 000018f3: SWAP1 000018f4: PUSH1 0x40 000018f6: MSTORE 000018f7: SWAP1 000018f8: POP 000018f9: PUSH1 0x08 000018fb: PUSH1 0x00 000018fd: SWAP1 000018fe: SLOAD 000018ff: SWAP1 00001900: PUSH2 0x0100 00001903: EXP 00001904: SWAP1 00001905: DIV 00001906: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000191b: AND 0000191c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001931: AND 00001932: PUSH2 0x193d 00001935: DUP3 00001936: DUP7 00001937: DUP7 00001938: DUP7 00001939: PUSH2 0x1156 0000193c: JUMP 0000193d: JUMPDEST 0000193e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001953: AND 00001954: EQ 00001955: PUSH2 0x1993 00001958: JUMPI 00001959: PUSH1 0x40 0000195b: MLOAD 0000195c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000197d: DUP2 0000197e: MSTORE 0000197f: PUSH1 0x04 00001981: ADD 00001982: PUSH2 0x198a 00001985: SWAP1 00001986: PUSH2 0x4389 00001989: JUMP 0000198a: JUMPDEST 0000198b: PUSH1 0x40 0000198d: MLOAD 0000198e: DUP1 0000198f: SWAP2 00001990: SUB 00001991: SWAP1 00001992: REVERT 00001993: JUMPDEST 00001994: PUSH1 0x00 00001996: DUP6 00001997: GT 00001998: PUSH2 0x19d6 0000199b: JUMPI 0000199c: PUSH1 0x40 0000199e: MLOAD 0000199f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000019c0: DUP2 000019c1: MSTORE 000019c2: PUSH1 0x04 000019c4: ADD 000019c5: PUSH2 0x19cd 000019c8: SWAP1 000019c9: PUSH2 0x43f5 000019cc: JUMP 000019cd: JUMPDEST 000019ce: PUSH1 0x40 000019d0: MLOAD 000019d1: DUP1 000019d2: SWAP2 000019d3: SUB 000019d4: SWAP1 000019d5: REVERT 000019d6: JUMPDEST 000019d7: PUSH1 0x11 000019d9: SLOAD 000019da: DUP6 000019db: PUSH1 0x15 000019dd: PUSH1 0x00 000019df: CALLER 000019e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019f5: AND 000019f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a0b: AND 00001a0c: DUP2 00001a0d: MSTORE 00001a0e: PUSH1 0x20 00001a10: ADD 00001a11: SWAP1 00001a12: DUP2 00001a13: MSTORE 00001a14: PUSH1 0x20 00001a16: ADD 00001a17: PUSH1 0x00 00001a19: KECCAK256 00001a1a: SLOAD 00001a1b: PUSH2 0x1a24 00001a1e: SWAP2 00001a1f: SWAP1 00001a20: PUSH2 0x41ae 00001a23: JUMP 00001a24: JUMPDEST 00001a25: GT 00001a26: ISZERO 00001a27: PUSH2 0x1a65 00001a2a: JUMPI 00001a2b: PUSH1 0x40 00001a2d: MLOAD 00001a2e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001a4f: DUP2 00001a50: MSTORE 00001a51: PUSH1 0x04 00001a53: ADD 00001a54: PUSH2 0x1a5c 00001a57: SWAP1 00001a58: PUSH2 0x4461 00001a5b: JUMP 00001a5c: JUMPDEST 00001a5d: PUSH1 0x40 00001a5f: MLOAD 00001a60: DUP1 00001a61: SWAP2 00001a62: SUB 00001a63: SWAP1 00001a64: REVERT 00001a65: JUMPDEST 00001a66: CALLVALUE 00001a67: DUP6 00001a68: PUSH1 0x12 00001a6a: SLOAD 00001a6b: PUSH2 0x1a74 00001a6e: SWAP2 00001a6f: SWAP1 00001a70: PUSH2 0x4481 00001a73: JUMP 00001a74: JUMPDEST 00001a75: GT 00001a76: ISZERO 00001a77: PUSH2 0x1ab5 00001a7a: JUMPI 00001a7b: PUSH1 0x40 00001a7d: MLOAD 00001a7e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001a9f: DUP2 00001aa0: MSTORE 00001aa1: PUSH1 0x04 00001aa3: ADD 00001aa4: PUSH2 0x1aac 00001aa7: SWAP1 00001aa8: PUSH2 0x4527 00001aab: JUMP 00001aac: JUMPDEST 00001aad: PUSH1 0x40 00001aaf: MLOAD 00001ab0: DUP1 00001ab1: SWAP2 00001ab2: SUB 00001ab3: SWAP1 00001ab4: REVERT 00001ab5: JUMPDEST 00001ab6: PUSH1 0x01 00001ab8: PUSH1 0x16 00001aba: PUSH1 0x00 00001abc: CALLER 00001abd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ad2: AND 00001ad3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ae8: AND 00001ae9: DUP2 00001aea: MSTORE 00001aeb: PUSH1 0x20 00001aed: ADD 00001aee: SWAP1 00001aef: DUP2 00001af0: MSTORE 00001af1: PUSH1 0x20 00001af3: ADD 00001af4: PUSH1 0x00 00001af6: KECCAK256 00001af7: PUSH1 0x00 00001af9: DUP3 00001afa: DUP3 00001afb: SLOAD 00001afc: PUSH2 0x1b05 00001aff: SWAP2 00001b00: SWAP1 00001b01: PUSH2 0x41ae 00001b04: JUMP 00001b05: JUMPDEST 00001b06: SWAP3 00001b07: POP 00001b08: POP 00001b09: DUP2 00001b0a: SWAP1 00001b0b: SSTORE 00001b0c: POP 00001b0d: DUP5 00001b0e: PUSH1 0x15 00001b10: PUSH1 0x00 00001b12: CALLER 00001b13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b28: AND 00001b29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b3e: AND 00001b3f: DUP2 00001b40: MSTORE 00001b41: PUSH1 0x20 00001b43: ADD 00001b44: SWAP1 00001b45: DUP2 00001b46: MSTORE 00001b47: PUSH1 0x20 00001b49: ADD 00001b4a: PUSH1 0x00 00001b4c: KECCAK256 00001b4d: PUSH1 0x00 00001b4f: DUP3 00001b50: DUP3 00001b51: SLOAD 00001b52: PUSH2 0x1b5b 00001b55: SWAP2 00001b56: SWAP1 00001b57: PUSH2 0x41ae 00001b5a: JUMP 00001b5b: JUMPDEST 00001b5c: SWAP3 00001b5d: POP 00001b5e: POP 00001b5f: DUP2 00001b60: SWAP1 00001b61: SSTORE 00001b62: POP 00001b63: PUSH1 0x00 00001b65: PUSH1 0x01 00001b67: SWAP1 00001b68: POP 00001b69: JUMPDEST 00001b6a: PUSH1 0x01 00001b6c: DUP7 00001b6d: PUSH2 0x1b76 00001b70: SWAP2 00001b71: SWAP1 00001b72: PUSH2 0x41ae 00001b75: JUMP 00001b76: JUMPDEST 00001b77: DUP2 00001b78: LT 00001b79: ISZERO 00001b7a: PUSH2 0x1ba7 00001b7d: JUMPI 00001b7e: PUSH2 0x1b94 00001b81: CALLER 00001b82: DUP3 00001b83: PUSH1 0x0c 00001b85: SLOAD 00001b86: PUSH2 0x1b8f 00001b89: SWAP2 00001b8a: SWAP1 00001b8b: PUSH2 0x41ae 00001b8e: JUMP 00001b8f: JUMPDEST 00001b90: PUSH2 0x2ace 00001b93: JUMP 00001b94: JUMPDEST 00001b95: DUP1 00001b96: DUP1 00001b97: PUSH2 0x1b9f 00001b9a: SWAP1 00001b9b: PUSH2 0x403c 00001b9e: JUMP 00001b9f: JUMPDEST 00001ba0: SWAP2 00001ba1: POP 00001ba2: POP 00001ba3: PUSH2 0x1b69 00001ba6: JUMP 00001ba7: JUMPDEST 00001ba8: POP 00001ba9: DUP5 00001baa: PUSH1 0x0c 00001bac: PUSH1 0x00 00001bae: DUP3 00001baf: DUP3 00001bb0: SLOAD 00001bb1: PUSH2 0x1bba 00001bb4: SWAP2 00001bb5: SWAP1 00001bb6: PUSH2 0x41ae 00001bb9: JUMP 00001bba: JUMPDEST 00001bbb: SWAP3 00001bbc: POP 00001bbd: POP 00001bbe: DUP2 00001bbf: SWAP1 00001bc0: SSTORE 00001bc1: POP 00001bc2: DUP5 00001bc3: PUSH1 0x0a 00001bc5: PUSH1 0x00 00001bc7: DUP3 00001bc8: DUP3 00001bc9: SLOAD 00001bca: PUSH2 0x1bd3 00001bcd: SWAP2 00001bce: SWAP1 00001bcf: PUSH2 0x41ae 00001bd2: JUMP 00001bd3: JUMPDEST 00001bd4: SWAP3 00001bd5: POP 00001bd6: POP 00001bd7: DUP2 00001bd8: SWAP1 00001bd9: SSTORE 00001bda: POP 00001bdb: POP 00001bdc: POP 00001bdd: POP 00001bde: POP 00001bdf: POP 00001be0: JUMP 00001be1: JUMPDEST 00001be2: PUSH2 0x1bf3 00001be5: PUSH2 0x1bec 00001be8: PUSH2 0x23cf 00001beb: JUMP 00001bec: JUMPDEST 00001bed: DUP4 00001bee: DUP4 00001bef: PUSH2 0x2ca7 00001bf2: JUMP 00001bf3: JUMPDEST 00001bf4: POP 00001bf5: POP 00001bf6: JUMP 00001bf7: JUMPDEST 00001bf8: PUSH1 0x0d 00001bfa: SLOAD 00001bfb: DUP5 00001bfc: PUSH1 0x09 00001bfe: SLOAD 00001bff: PUSH2 0x1c08 00001c02: SWAP2 00001c03: SWAP1 00001c04: PUSH2 0x41ae 00001c07: JUMP 00001c08: JUMPDEST 00001c09: GT 00001c0a: ISZERO 00001c0b: PUSH2 0x1c49 00001c0e: JUMPI 00001c0f: PUSH1 0x40 00001c11: MLOAD 00001c12: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001c33: DUP2 00001c34: MSTORE 00001c35: PUSH1 0x04 00001c37: ADD 00001c38: PUSH2 0x1c40 00001c3b: SWAP1 00001c3c: PUSH2 0x4593 00001c3f: JUMP 00001c40: JUMPDEST 00001c41: PUSH1 0x40 00001c43: MLOAD 00001c44: DUP1 00001c45: SWAP2 00001c46: SUB 00001c47: SWAP1 00001c48: REVERT 00001c49: JUMPDEST 00001c4a: PUSH1 0x00 00001c4c: PUSH2 0x1c6a 00001c4f: CALLER 00001c50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c65: AND 00001c66: PUSH2 0x28a8 00001c69: JUMP 00001c6a: JUMPDEST 00001c6b: PUSH2 0x1c73 00001c6e: DUP7 00001c6f: PUSH2 0x28a8 00001c72: JUMP 00001c73: JUMPDEST 00001c74: PUSH2 0x1cbb 00001c77: PUSH1 0x16 00001c79: PUSH1 0x00 00001c7b: CALLER 00001c7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c91: AND 00001c92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ca7: AND 00001ca8: DUP2 00001ca9: MSTORE 00001caa: PUSH1 0x20 00001cac: ADD 00001cad: SWAP1 00001cae: DUP2 00001caf: MSTORE 00001cb0: PUSH1 0x20 00001cb2: ADD 00001cb3: PUSH1 0x00 00001cb5: KECCAK256 00001cb6: SLOAD 00001cb7: PUSH2 0x28a8 00001cba: JUMP 00001cbb: JUMPDEST 00001cbc: PUSH1 0x40 00001cbe: MLOAD 00001cbf: PUSH1 0x20 00001cc1: ADD 00001cc2: PUSH2 0x1ccd 00001cc5: SWAP4 00001cc6: SWAP3 00001cc7: SWAP2 00001cc8: SWAP1 00001cc9: PUSH2 0x45d9 00001ccc: JUMP 00001ccd: JUMPDEST 00001cce: PUSH1 0x40 00001cd0: MLOAD 00001cd1: PUSH1 0x20 00001cd3: DUP2 00001cd4: DUP4 00001cd5: SUB 00001cd6: SUB 00001cd7: DUP2 00001cd8: MSTORE 00001cd9: SWAP1 00001cda: PUSH1 0x40 00001cdc: MSTORE 00001cdd: SWAP1 00001cde: POP 00001cdf: PUSH1 0x08 00001ce1: PUSH1 0x00 00001ce3: SWAP1 00001ce4: SLOAD 00001ce5: SWAP1 00001ce6: PUSH2 0x0100 00001ce9: EXP 00001cea: SWAP1 00001ceb: DIV 00001cec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d01: AND 00001d02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d17: AND 00001d18: PUSH2 0x1d23 00001d1b: DUP3 00001d1c: DUP7 00001d1d: DUP7 00001d1e: DUP7 00001d1f: PUSH2 0x1156 00001d22: JUMP 00001d23: JUMPDEST 00001d24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d39: AND 00001d3a: EQ 00001d3b: PUSH2 0x1d79 00001d3e: JUMPI 00001d3f: PUSH1 0x40 00001d41: MLOAD 00001d42: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001d63: DUP2 00001d64: MSTORE 00001d65: PUSH1 0x04 00001d67: ADD 00001d68: PUSH2 0x1d70 00001d6b: SWAP1 00001d6c: PUSH2 0x4389 00001d6f: JUMP 00001d70: JUMPDEST 00001d71: PUSH1 0x40 00001d73: MLOAD 00001d74: DUP1 00001d75: SWAP2 00001d76: SUB 00001d77: SWAP1 00001d78: REVERT 00001d79: JUMPDEST 00001d7a: PUSH1 0x00 00001d7c: DUP6 00001d7d: GT 00001d7e: PUSH2 0x1dbc 00001d81: JUMPI 00001d82: PUSH1 0x40 00001d84: MLOAD 00001d85: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001da6: DUP2 00001da7: MSTORE 00001da8: PUSH1 0x04 00001daa: ADD 00001dab: PUSH2 0x1db3 00001dae: SWAP1 00001daf: PUSH2 0x43f5 00001db2: JUMP 00001db3: JUMPDEST 00001db4: PUSH1 0x40 00001db6: MLOAD 00001db7: DUP1 00001db8: SWAP2 00001db9: SUB 00001dba: SWAP1 00001dbb: REVERT 00001dbc: JUMPDEST 00001dbd: PUSH1 0x10 00001dbf: SLOAD 00001dc0: DUP6 00001dc1: PUSH1 0x15 00001dc3: PUSH1 0x00 00001dc5: CALLER 00001dc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ddb: AND 00001ddc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001df1: AND 00001df2: DUP2 00001df3: MSTORE 00001df4: PUSH1 0x20 00001df6: ADD 00001df7: SWAP1 00001df8: DUP2 00001df9: MSTORE 00001dfa: PUSH1 0x20 00001dfc: ADD 00001dfd: PUSH1 0x00 00001dff: KECCAK256 00001e00: SLOAD 00001e01: PUSH2 0x1e0a 00001e04: SWAP2 00001e05: SWAP1 00001e06: PUSH2 0x41ae 00001e09: JUMP 00001e0a: JUMPDEST 00001e0b: GT 00001e0c: ISZERO 00001e0d: PUSH2 0x1e4b 00001e10: JUMPI 00001e11: PUSH1 0x40 00001e13: MLOAD 00001e14: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001e35: DUP2 00001e36: MSTORE 00001e37: PUSH1 0x04 00001e39: ADD 00001e3a: PUSH2 0x1e42 00001e3d: SWAP1 00001e3e: PUSH2 0x4461 00001e41: JUMP 00001e42: JUMPDEST 00001e43: PUSH1 0x40 00001e45: MLOAD 00001e46: DUP1 00001e47: SWAP2 00001e48: SUB 00001e49: SWAP1 00001e4a: REVERT 00001e4b: JUMPDEST 00001e4c: PUSH1 0x01 00001e4e: PUSH1 0x16 00001e50: PUSH1 0x00 00001e52: CALLER 00001e53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e68: AND 00001e69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e7e: AND 00001e7f: DUP2 00001e80: MSTORE 00001e81: PUSH1 0x20 00001e83: ADD 00001e84: SWAP1 00001e85: DUP2 00001e86: MSTORE 00001e87: PUSH1 0x20 00001e89: ADD 00001e8a: PUSH1 0x00 00001e8c: KECCAK256 00001e8d: PUSH1 0x00 00001e8f: DUP3 00001e90: DUP3 00001e91: SLOAD 00001e92: PUSH2 0x1e9b 00001e95: SWAP2 00001e96: SWAP1 00001e97: PUSH2 0x41ae 00001e9a: JUMP 00001e9b: JUMPDEST 00001e9c: SWAP3 00001e9d: POP 00001e9e: POP 00001e9f: DUP2 00001ea0: SWAP1 00001ea1: SSTORE 00001ea2: POP 00001ea3: DUP5 00001ea4: PUSH1 0x15 00001ea6: PUSH1 0x00 00001ea8: CALLER 00001ea9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ebe: AND 00001ebf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ed4: AND 00001ed5: DUP2 00001ed6: MSTORE 00001ed7: PUSH1 0x20 00001ed9: ADD 00001eda: SWAP1 00001edb: DUP2 00001edc: MSTORE 00001edd: PUSH1 0x20 00001edf: ADD 00001ee0: PUSH1 0x00 00001ee2: KECCAK256 00001ee3: PUSH1 0x00 00001ee5: DUP3 00001ee6: DUP3 00001ee7: SLOAD 00001ee8: PUSH2 0x1ef1 00001eeb: SWAP2 00001eec: SWAP1 00001eed: PUSH2 0x41ae 00001ef0: JUMP 00001ef1: JUMPDEST 00001ef2: SWAP3 00001ef3: POP 00001ef4: POP 00001ef5: DUP2 00001ef6: SWAP1 00001ef7: SSTORE 00001ef8: POP 00001ef9: PUSH1 0x00 00001efb: PUSH1 0x01 00001efd: SWAP1 00001efe: POP 00001eff: JUMPDEST 00001f00: PUSH1 0x01 00001f02: DUP7 00001f03: PUSH2 0x1f0c 00001f06: SWAP2 00001f07: SWAP1 00001f08: PUSH2 0x41ae 00001f0b: JUMP 00001f0c: JUMPDEST 00001f0d: DUP2 00001f0e: LT 00001f0f: ISZERO 00001f10: PUSH2 0x1f3d 00001f13: JUMPI 00001f14: PUSH2 0x1f2a 00001f17: CALLER 00001f18: DUP3 00001f19: PUSH1 0x0c 00001f1b: SLOAD 00001f1c: PUSH2 0x1f25 00001f1f: SWAP2 00001f20: SWAP1 00001f21: PUSH2 0x41ae 00001f24: JUMP 00001f25: JUMPDEST 00001f26: PUSH2 0x2ace 00001f29: JUMP 00001f2a: JUMPDEST 00001f2b: DUP1 00001f2c: DUP1 00001f2d: PUSH2 0x1f35 00001f30: SWAP1 00001f31: PUSH2 0x403c 00001f34: JUMP 00001f35: JUMPDEST 00001f36: SWAP2 00001f37: POP 00001f38: POP 00001f39: PUSH2 0x1eff 00001f3c: JUMP 00001f3d: JUMPDEST 00001f3e: POP 00001f3f: DUP5 00001f40: PUSH1 0x0c 00001f42: PUSH1 0x00 00001f44: DUP3 00001f45: DUP3 00001f46: SLOAD 00001f47: PUSH2 0x1f50 00001f4a: SWAP2 00001f4b: SWAP1 00001f4c: PUSH2 0x41ae 00001f4f: JUMP 00001f50: JUMPDEST 00001f51: SWAP3 00001f52: POP 00001f53: POP 00001f54: DUP2 00001f55: SWAP1 00001f56: SSTORE 00001f57: POP 00001f58: DUP5 00001f59: PUSH1 0x09 00001f5b: PUSH1 0x00 00001f5d: DUP3 00001f5e: DUP3 00001f5f: SLOAD 00001f60: PUSH2 0x1f69 00001f63: SWAP2 00001f64: SWAP1 00001f65: PUSH2 0x41ae 00001f68: JUMP 00001f69: JUMPDEST 00001f6a: SWAP3 00001f6b: POP 00001f6c: POP 00001f6d: DUP2 00001f6e: SWAP1 00001f6f: SSTORE 00001f70: POP 00001f71: POP 00001f72: POP 00001f73: POP 00001f74: POP 00001f75: POP 00001f76: JUMP 00001f77: JUMPDEST 00001f78: PUSH1 0x11 00001f7a: SLOAD 00001f7b: DUP2 00001f7c: JUMP 00001f7d: JUMPDEST 00001f7e: PUSH2 0x1f8e 00001f81: PUSH2 0x1f88 00001f84: PUSH2 0x23cf 00001f87: JUMP 00001f88: JUMPDEST 00001f89: DUP4 00001f8a: PUSH2 0x2490 00001f8d: JUMP 00001f8e: JUMPDEST 00001f8f: PUSH2 0x1fcd 00001f92: JUMPI 00001f93: PUSH1 0x40 00001f95: MLOAD 00001f96: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001fb7: DUP2 00001fb8: MSTORE 00001fb9: PUSH1 0x04 00001fbb: ADD 00001fbc: PUSH2 0x1fc4 00001fbf: SWAP1 00001fc0: PUSH2 0x3d1b 00001fc3: JUMP 00001fc4: JUMPDEST 00001fc5: PUSH1 0x40 00001fc7: MLOAD 00001fc8: DUP1 00001fc9: SWAP2 00001fca: SUB 00001fcb: SWAP1 00001fcc: REVERT 00001fcd: JUMPDEST 00001fce: PUSH2 0x1fd9 00001fd1: DUP5 00001fd2: DUP5 00001fd3: DUP5 00001fd4: DUP5 00001fd5: PUSH2 0x2e13 00001fd8: JUMP 00001fd9: JUMPDEST 00001fda: POP 00001fdb: POP 00001fdc: POP 00001fdd: POP 00001fde: JUMP 00001fdf: JUMPDEST 00001fe0: PUSH1 0x10 00001fe2: SLOAD 00001fe3: DUP2 00001fe4: JUMP 00001fe5: JUMPDEST 00001fe6: PUSH2 0x1fed 00001fe9: PUSH2 0x2306 00001fec: JUMP 00001fed: JUMPDEST 00001fee: PUSH1 0x0f 00001ff0: SLOAD 00001ff1: DUP3 00001ff2: PUSH1 0x0b 00001ff4: SLOAD 00001ff5: PUSH2 0x1ffe 00001ff8: SWAP2 00001ff9: SWAP1 00001ffa: PUSH2 0x41ae 00001ffd: JUMP 00001ffe: JUMPDEST 00001fff: GT 00002000: ISZERO 00002001: PUSH2 0x203f 00002004: JUMPI 00002005: PUSH1 0x40 00002007: MLOAD 00002008: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002029: DUP2 0000202a: MSTORE 0000202b: PUSH1 0x04 0000202d: ADD 0000202e: PUSH2 0x2036 00002031: SWAP1 00002032: PUSH2 0x4665 00002035: JUMP 00002036: JUMPDEST 00002037: PUSH1 0x40 00002039: MLOAD 0000203a: DUP1 0000203b: SWAP2 0000203c: SUB 0000203d: SWAP1 0000203e: REVERT 0000203f: JUMPDEST 00002040: PUSH1 0x00 00002042: PUSH1 0x01 00002044: SWAP1 00002045: POP 00002046: JUMPDEST 00002047: PUSH1 0x01 00002049: DUP4 0000204a: PUSH2 0x2053 0000204d: SWAP2 0000204e: SWAP1 0000204f: PUSH2 0x41ae 00002052: JUMP 00002053: JUMPDEST 00002054: DUP2 00002055: LT 00002056: ISZERO 00002057: PUSH2 0x2084 0000205a: JUMPI 0000205b: PUSH2 0x2071 0000205e: DUP3 0000205f: DUP3 00002060: PUSH1 0x0c 00002062: SLOAD 00002063: PUSH2 0x206c 00002066: SWAP2 00002067: SWAP1 00002068: PUSH2 0x41ae 0000206b: JUMP 0000206c: JUMPDEST 0000206d: PUSH2 0x2ace 00002070: JUMP 00002071: JUMPDEST 00002072: DUP1 00002073: DUP1 00002074: PUSH2 0x207c 00002077: SWAP1 00002078: PUSH2 0x403c 0000207b: JUMP 0000207c: JUMPDEST 0000207d: SWAP2 0000207e: POP 0000207f: POP 00002080: PUSH2 0x2046 00002083: JUMP 00002084: JUMPDEST 00002085: POP 00002086: DUP2 00002087: PUSH1 0x0c 00002089: PUSH1 0x00 0000208b: DUP3 0000208c: DUP3 0000208d: SLOAD 0000208e: PUSH2 0x2097 00002091: SWAP2 00002092: SWAP1 00002093: PUSH2 0x41ae 00002096: JUMP 00002097: JUMPDEST 00002098: SWAP3 00002099: POP 0000209a: POP 0000209b: DUP2 0000209c: SWAP1 0000209d: SSTORE 0000209e: POP 0000209f: DUP2 000020a0: PUSH1 0x0b 000020a2: PUSH1 0x00 000020a4: DUP3 000020a5: DUP3 000020a6: SLOAD 000020a7: PUSH2 0x20b0 000020aa: SWAP2 000020ab: SWAP1 000020ac: PUSH2 0x41ae 000020af: JUMP 000020b0: JUMPDEST 000020b1: SWAP3 000020b2: POP 000020b3: POP 000020b4: DUP2 000020b5: SWAP1 000020b6: SSTORE 000020b7: POP 000020b8: POP 000020b9: POP 000020ba: JUMP 000020bb: JUMPDEST 000020bc: PUSH1 0x60 000020be: PUSH2 0x20c6 000020c1: DUP3 000020c2: PUSH2 0x2e6f 000020c5: JUMP 000020c6: JUMPDEST 000020c7: PUSH2 0x2105 000020ca: JUMPI 000020cb: PUSH1 0x40 000020cd: MLOAD 000020ce: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000020ef: DUP2 000020f0: MSTORE 000020f1: PUSH1 0x04 000020f3: ADD 000020f4: PUSH2 0x20fc 000020f7: SWAP1 000020f8: PUSH2 0x46d1 000020fb: JUMP 000020fc: JUMPDEST 000020fd: PUSH1 0x40 000020ff: MLOAD 00002100: DUP1 00002101: SWAP2 00002102: SUB 00002103: SWAP1 00002104: REVERT 00002105: JUMPDEST 00002106: PUSH1 0x00 00002108: PUSH1 0x13 0000210a: DUP1 0000210b: SLOAD 0000210c: PUSH2 0x2114 0000210f: SWAP1 00002110: PUSH2 0x3b54 00002113: JUMP 00002114: JUMPDEST 00002115: SWAP1 00002116: POP 00002117: SUB 00002118: PUSH2 0x212b 0000211b: JUMPI 0000211c: PUSH2 0x2124 0000211f: DUP3 00002120: PUSH2 0x28a8 00002123: JUMP 00002124: JUMPDEST 00002125: SWAP1 00002126: POP 00002127: PUSH2 0x215c 0000212a: JUMP 0000212b: JUMPDEST 0000212c: PUSH1 0x13 0000212e: PUSH2 0x2136 00002131: DUP4 00002132: PUSH2 0x28a8 00002135: JUMP 00002136: JUMPDEST 00002137: PUSH1 0x14 00002139: PUSH1 0x40 0000213b: MLOAD 0000213c: PUSH1 0x20 0000213e: ADD 0000213f: PUSH2 0x214a 00002142: SWAP4 00002143: SWAP3 00002144: SWAP2 00002145: SWAP1 00002146: PUSH2 0x4785 00002149: JUMP 0000214a: JUMPDEST 0000214b: PUSH1 0x40 0000214d: MLOAD 0000214e: PUSH1 0x20 00002150: DUP2 00002151: DUP4 00002152: SUB 00002153: SUB 00002154: DUP2 00002155: MSTORE 00002156: SWAP1 00002157: PUSH1 0x40 00002159: MSTORE 0000215a: SWAP1 0000215b: POP 0000215c: JUMPDEST 0000215d: SWAP2 0000215e: SWAP1 0000215f: POP 00002160: JUMP 00002161: JUMPDEST 00002162: PUSH1 0x0f 00002164: SLOAD 00002165: DUP2 00002166: JUMP 00002167: JUMPDEST 00002168: PUSH1 0x0b 0000216a: SLOAD 0000216b: DUP2 0000216c: JUMP 0000216d: JUMPDEST 0000216e: PUSH1 0x00 00002170: PUSH1 0x05 00002172: PUSH1 0x00 00002174: DUP5 00002175: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000218a: AND 0000218b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021a0: AND 000021a1: DUP2 000021a2: MSTORE 000021a3: PUSH1 0x20 000021a5: ADD 000021a6: SWAP1 000021a7: DUP2 000021a8: MSTORE 000021a9: PUSH1 0x20 000021ab: ADD 000021ac: PUSH1 0x00 000021ae: KECCAK256 000021af: PUSH1 0x00 000021b1: DUP4 000021b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021c7: AND 000021c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021dd: AND 000021de: DUP2 000021df: MSTORE 000021e0: PUSH1 0x20 000021e2: ADD 000021e3: SWAP1 000021e4: DUP2 000021e5: MSTORE 000021e6: PUSH1 0x20 000021e8: ADD 000021e9: PUSH1 0x00 000021eb: KECCAK256 000021ec: PUSH1 0x00 000021ee: SWAP1 000021ef: SLOAD 000021f0: SWAP1 000021f1: PUSH2 0x0100 000021f4: EXP 000021f5: SWAP1 000021f6: DIV 000021f7: PUSH1 0xff 000021f9: AND 000021fa: SWAP1 000021fb: POP 000021fc: SWAP3 000021fd: SWAP2 000021fe: POP 000021ff: POP 00002200: JUMP 00002201: JUMPDEST 00002202: PUSH2 0x2209 00002205: PUSH2 0x2306 00002208: JUMP 00002209: JUMPDEST 0000220a: PUSH1 0x00 0000220c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002221: AND 00002222: DUP2 00002223: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002238: AND 00002239: SUB 0000223a: PUSH2 0x2278 0000223d: JUMPI 0000223e: PUSH1 0x40 00002240: MLOAD 00002241: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002262: DUP2 00002263: MSTORE 00002264: PUSH1 0x04 00002266: ADD 00002267: PUSH2 0x226f 0000226a: SWAP1 0000226b: PUSH2 0x4828 0000226e: JUMP 0000226f: JUMPDEST 00002270: PUSH1 0x40 00002272: MLOAD 00002273: DUP1 00002274: SWAP2 00002275: SUB 00002276: SWAP1 00002277: REVERT 00002278: JUMPDEST 00002279: PUSH2 0x2281 0000227c: DUP2 0000227d: PUSH2 0x2a08 00002280: JUMP 00002281: JUMPDEST 00002282: POP 00002283: JUMP 00002284: JUMPDEST 00002285: PUSH1 0x15 00002287: PUSH1 0x20 00002289: MSTORE 0000228a: DUP1 0000228b: PUSH1 0x00 0000228d: MSTORE 0000228e: PUSH1 0x40 00002290: PUSH1 0x00 00002292: KECCAK256 00002293: PUSH1 0x00 00002295: SWAP2 00002296: POP 00002297: SWAP1 00002298: POP 00002299: SLOAD 0000229a: DUP2 0000229b: JUMP 0000229c: JUMPDEST 0000229d: PUSH1 0x00 0000229f: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000 000022c0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000022dd: NOT 000022de: AND 000022df: DUP3 000022e0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000022fd: NOT 000022fe: AND 000022ff: EQ 00002300: SWAP1 00002301: POP 00002302: SWAP2 00002303: SWAP1 00002304: POP 00002305: JUMP 00002306: JUMPDEST 00002307: PUSH2 0x230e 0000230a: PUSH2 0x23cf 0000230d: JUMP 0000230e: JUMPDEST 0000230f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002324: AND 00002325: PUSH2 0x232c 00002328: PUSH2 0x174f 0000232b: JUMP 0000232c: JUMPDEST 0000232d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002342: AND 00002343: EQ 00002344: PUSH2 0x2382 00002347: JUMPI 00002348: PUSH1 0x40 0000234a: MLOAD 0000234b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000236c: DUP2 0000236d: MSTORE 0000236e: PUSH1 0x04 00002370: ADD 00002371: PUSH2 0x2379 00002374: SWAP1 00002375: PUSH2 0x4894 00002378: JUMP 00002379: JUMPDEST 0000237a: PUSH1 0x40 0000237c: MLOAD 0000237d: DUP1 0000237e: SWAP2 0000237f: SUB 00002380: SWAP1 00002381: REVERT 00002382: JUMPDEST 00002383: JUMP 00002384: JUMPDEST 00002385: PUSH2 0x238d 00002388: DUP2 00002389: PUSH2 0x2e6f 0000238c: JUMP 0000238d: JUMPDEST 0000238e: PUSH2 0x23cc 00002391: JUMPI 00002392: PUSH1 0x40 00002394: MLOAD 00002395: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000023b6: DUP2 000023b7: MSTORE 000023b8: PUSH1 0x04 000023ba: ADD 000023bb: PUSH2 0x23c3 000023be: SWAP1 000023bf: PUSH2 0x3db1 000023c2: JUMP 000023c3: JUMPDEST 000023c4: PUSH1 0x40 000023c6: MLOAD 000023c7: DUP1 000023c8: SWAP2 000023c9: SUB 000023ca: SWAP1 000023cb: REVERT 000023cc: JUMPDEST 000023cd: POP 000023ce: JUMP 000023cf: JUMPDEST 000023d0: PUSH1 0x00 000023d2: CALLER 000023d3: SWAP1 000023d4: POP 000023d5: SWAP1 000023d6: JUMP 000023d7: JUMPDEST 000023d8: DUP2 000023d9: PUSH1 0x04 000023db: PUSH1 0x00 000023dd: DUP4 000023de: DUP2 000023df: MSTORE 000023e0: PUSH1 0x20 000023e2: ADD 000023e3: SWAP1 000023e4: DUP2 000023e5: MSTORE 000023e6: PUSH1 0x20 000023e8: ADD 000023e9: PUSH1 0x00 000023eb: KECCAK256 000023ec: PUSH1 0x00 000023ee: PUSH2 0x0100 000023f1: EXP 000023f2: DUP2 000023f3: SLOAD 000023f4: DUP2 000023f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000240a: MUL 0000240b: NOT 0000240c: AND 0000240d: SWAP1 0000240e: DUP4 0000240f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002424: AND 00002425: MUL 00002426: OR 00002427: SWAP1 00002428: SSTORE 00002429: POP 0000242a: DUP1 0000242b: DUP3 0000242c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002441: AND 00002442: PUSH2 0x244a 00002445: DUP4 00002446: PUSH2 0x0fb3 00002449: JUMP 0000244a: JUMPDEST 0000244b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002460: AND 00002461: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00002482: PUSH1 0x40 00002484: MLOAD 00002485: PUSH1 0x40 00002487: MLOAD 00002488: DUP1 00002489: SWAP2 0000248a: SUB 0000248b: SWAP1 0000248c: LOG4 0000248d: POP 0000248e: POP 0000248f: JUMP 00002490: JUMPDEST 00002491: PUSH1 0x00 00002493: DUP1 00002494: PUSH2 0x249c 00002497: DUP4 00002498: PUSH2 0x0fb3 0000249b: JUMP 0000249c: JUMPDEST 0000249d: SWAP1 0000249e: POP 0000249f: DUP1 000024a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024b5: AND 000024b6: DUP5 000024b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024cc: AND 000024cd: EQ 000024ce: DUP1 000024cf: PUSH2 0x24de 000024d2: JUMPI 000024d3: POP 000024d4: PUSH2 0x24dd 000024d7: DUP2 000024d8: DUP6 000024d9: PUSH2 0x216d 000024dc: JUMP 000024dd: JUMPDEST 000024de: JUMPDEST 000024df: DUP1 000024e0: PUSH2 0x251c 000024e3: JUMPI 000024e4: POP 000024e5: DUP4 000024e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024fb: AND 000024fc: PUSH2 0x2504 000024ff: DUP5 00002500: PUSH2 0x0be8 00002503: JUMP 00002504: JUMPDEST 00002505: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000251a: AND 0000251b: EQ 0000251c: JUMPDEST 0000251d: SWAP2 0000251e: POP 0000251f: POP 00002520: SWAP3 00002521: SWAP2 00002522: POP 00002523: POP 00002524: JUMP 00002525: JUMPDEST 00002526: DUP3 00002527: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000253c: AND 0000253d: PUSH2 0x2545 00002540: DUP3 00002541: PUSH2 0x0fb3 00002544: JUMP 00002545: JUMPDEST 00002546: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000255b: AND 0000255c: EQ 0000255d: PUSH2 0x259b 00002560: JUMPI 00002561: PUSH1 0x40 00002563: MLOAD 00002564: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002585: DUP2 00002586: MSTORE 00002587: PUSH1 0x04 00002589: ADD 0000258a: PUSH2 0x2592 0000258d: SWAP1 0000258e: PUSH2 0x4926 00002591: JUMP 00002592: JUMPDEST 00002593: PUSH1 0x40 00002595: MLOAD 00002596: DUP1 00002597: SWAP2 00002598: SUB 00002599: SWAP1 0000259a: REVERT 0000259b: JUMPDEST 0000259c: PUSH1 0x00 0000259e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025b3: AND 000025b4: DUP3 000025b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025ca: AND 000025cb: SUB 000025cc: PUSH2 0x260a 000025cf: JUMPI 000025d0: PUSH1 0x40 000025d2: MLOAD 000025d3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000025f4: DUP2 000025f5: MSTORE 000025f6: PUSH1 0x04 000025f8: ADD 000025f9: PUSH2 0x2601 000025fc: SWAP1 000025fd: PUSH2 0x49b8 00002600: JUMP 00002601: JUMPDEST 00002602: PUSH1 0x40 00002604: MLOAD 00002605: DUP1 00002606: SWAP2 00002607: SUB 00002608: SWAP1 00002609: REVERT 0000260a: JUMPDEST 0000260b: PUSH2 0x2615 0000260e: DUP4 0000260f: DUP4 00002610: DUP4 00002611: PUSH2 0x2edb 00002614: JUMP 00002615: JUMPDEST 00002616: PUSH2 0x2620 00002619: PUSH1 0x00 0000261b: DUP3 0000261c: PUSH2 0x23d7 0000261f: JUMP 00002620: JUMPDEST 00002621: PUSH1 0x01 00002623: PUSH1 0x03 00002625: PUSH1 0x00 00002627: DUP6 00002628: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000263d: AND 0000263e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002653: AND 00002654: DUP2 00002655: MSTORE 00002656: PUSH1 0x20 00002658: ADD 00002659: SWAP1 0000265a: DUP2 0000265b: MSTORE 0000265c: PUSH1 0x20 0000265e: ADD 0000265f: PUSH1 0x00 00002661: KECCAK256 00002662: PUSH1 0x00 00002664: DUP3 00002665: DUP3 00002666: SLOAD 00002667: PUSH2 0x2670 0000266a: SWAP2 0000266b: SWAP1 0000266c: PUSH2 0x49d8 0000266f: JUMP 00002670: JUMPDEST 00002671: SWAP3 00002672: POP 00002673: POP 00002674: DUP2 00002675: SWAP1 00002676: SSTORE 00002677: POP 00002678: PUSH1 0x01 0000267a: PUSH1 0x03 0000267c: PUSH1 0x00 0000267e: DUP5 0000267f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002694: AND 00002695: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026aa: AND 000026ab: DUP2 000026ac: MSTORE 000026ad: PUSH1 0x20 000026af: ADD 000026b0: SWAP1 000026b1: DUP2 000026b2: MSTORE 000026b3: PUSH1 0x20 000026b5: ADD 000026b6: PUSH1 0x00 000026b8: KECCAK256 000026b9: PUSH1 0x00 000026bb: DUP3 000026bc: DUP3 000026bd: SLOAD 000026be: PUSH2 0x26c7 000026c1: SWAP2 000026c2: SWAP1 000026c3: PUSH2 0x41ae 000026c6: JUMP 000026c7: JUMPDEST 000026c8: SWAP3 000026c9: POP 000026ca: POP 000026cb: DUP2 000026cc: SWAP1 000026cd: SSTORE 000026ce: POP 000026cf: DUP2 000026d0: PUSH1 0x02 000026d2: PUSH1 0x00 000026d4: DUP4 000026d5: DUP2 000026d6: MSTORE 000026d7: PUSH1 0x20 000026d9: ADD 000026da: SWAP1 000026db: DUP2 000026dc: MSTORE 000026dd: PUSH1 0x20 000026df: ADD 000026e0: PUSH1 0x00 000026e2: KECCAK256 000026e3: PUSH1 0x00 000026e5: PUSH2 0x0100 000026e8: EXP 000026e9: DUP2 000026ea: SLOAD 000026eb: DUP2 000026ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002701: MUL 00002702: NOT 00002703: AND 00002704: SWAP1 00002705: DUP4 00002706: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000271b: AND 0000271c: MUL 0000271d: OR 0000271e: SWAP1 0000271f: SSTORE 00002720: POP 00002721: DUP1 00002722: DUP3 00002723: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002738: AND 00002739: DUP5 0000273a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000274f: AND 00002750: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002771: PUSH1 0x40 00002773: MLOAD 00002774: PUSH1 0x40 00002776: MLOAD 00002777: DUP1 00002778: SWAP2 00002779: SUB 0000277a: SWAP1 0000277b: LOG4 0000277c: PUSH2 0x2786 0000277f: DUP4 00002780: DUP4 00002781: DUP4 00002782: PUSH2 0x2ee0 00002785: JUMP 00002786: JUMPDEST 00002787: POP 00002788: POP 00002789: POP 0000278a: JUMP 0000278b: JUMPDEST 0000278c: PUSH1 0x00 0000278e: PUSH2 0x2796 00002791: DUP3 00002792: PUSH2 0x0fb3 00002795: JUMP 00002796: JUMPDEST 00002797: SWAP1 00002798: POP 00002799: PUSH2 0x27a4 0000279c: DUP2 0000279d: PUSH1 0x00 0000279f: DUP5 000027a0: PUSH2 0x2edb 000027a3: JUMP 000027a4: JUMPDEST 000027a5: PUSH2 0x27af 000027a8: PUSH1 0x00 000027aa: DUP4 000027ab: PUSH2 0x23d7 000027ae: JUMP 000027af: JUMPDEST 000027b0: PUSH1 0x01 000027b2: PUSH1 0x03 000027b4: PUSH1 0x00 000027b6: DUP4 000027b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027cc: AND 000027cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027e2: AND 000027e3: DUP2 000027e4: MSTORE 000027e5: PUSH1 0x20 000027e7: ADD 000027e8: SWAP1 000027e9: DUP2 000027ea: MSTORE 000027eb: PUSH1 0x20 000027ed: ADD 000027ee: PUSH1 0x00 000027f0: KECCAK256 000027f1: PUSH1 0x00 000027f3: DUP3 000027f4: DUP3 000027f5: SLOAD 000027f6: PUSH2 0x27ff 000027f9: SWAP2 000027fa: SWAP1 000027fb: PUSH2 0x49d8 000027fe: JUMP 000027ff: JUMPDEST 00002800: SWAP3 00002801: POP 00002802: POP 00002803: DUP2 00002804: SWAP1 00002805: SSTORE 00002806: POP 00002807: PUSH1 0x02 00002809: PUSH1 0x00 0000280b: DUP4 0000280c: DUP2 0000280d: MSTORE 0000280e: PUSH1 0x20 00002810: ADD 00002811: SWAP1 00002812: DUP2 00002813: MSTORE 00002814: PUSH1 0x20 00002816: ADD 00002817: PUSH1 0x00 00002819: KECCAK256 0000281a: PUSH1 0x00 0000281c: PUSH2 0x0100 0000281f: EXP 00002820: DUP2 00002821: SLOAD 00002822: SWAP1 00002823: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002838: MUL 00002839: NOT 0000283a: AND 0000283b: SWAP1 0000283c: SSTORE 0000283d: DUP2 0000283e: PUSH1 0x00 00002840: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002855: AND 00002856: DUP3 00002857: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000286c: AND 0000286d: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 0000288e: PUSH1 0x40 00002890: MLOAD 00002891: PUSH1 0x40 00002893: MLOAD 00002894: DUP1 00002895: SWAP2 00002896: SUB 00002897: SWAP1 00002898: LOG4 00002899: PUSH2 0x28a4 0000289c: DUP2 0000289d: PUSH1 0x00 0000289f: DUP5 000028a0: PUSH2 0x2ee0 000028a3: JUMP 000028a4: JUMPDEST 000028a5: POP 000028a6: POP 000028a7: JUMP 000028a8: JUMPDEST 000028a9: PUSH1 0x60 000028ab: PUSH1 0x00 000028ad: DUP3 000028ae: SUB 000028af: PUSH2 0x28ef 000028b2: JUMPI 000028b3: PUSH1 0x40 000028b5: MLOAD 000028b6: DUP1 000028b7: PUSH1 0x40 000028b9: ADD 000028ba: PUSH1 0x40 000028bc: MSTORE 000028bd: DUP1 000028be: PUSH1 0x01 000028c0: DUP2 000028c1: MSTORE 000028c2: PUSH1 0x20 000028c4: ADD 000028c5: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 000028e6: DUP2 000028e7: MSTORE 000028e8: POP 000028e9: SWAP1 000028ea: POP 000028eb: PUSH2 0x2a03 000028ee: JUMP 000028ef: JUMPDEST 000028f0: PUSH1 0x00 000028f2: DUP3 000028f3: SWAP1 000028f4: POP 000028f5: PUSH1 0x00 000028f7: JUMPDEST 000028f8: PUSH1 0x00 000028fa: DUP3 000028fb: EQ 000028fc: PUSH2 0x2921 000028ff: JUMPI 00002900: DUP1 00002901: DUP1 00002902: PUSH2 0x290a 00002905: SWAP1 00002906: PUSH2 0x403c 00002909: JUMP 0000290a: JUMPDEST 0000290b: SWAP2 0000290c: POP 0000290d: POP 0000290e: PUSH1 0x0a 00002910: DUP3 00002911: PUSH2 0x291a 00002914: SWAP2 00002915: SWAP1 00002916: PUSH2 0x4a3b 00002919: JUMP 0000291a: JUMPDEST 0000291b: SWAP2 0000291c: POP 0000291d: PUSH2 0x28f7 00002920: JUMP 00002921: JUMPDEST 00002922: PUSH1 0x00 00002924: DUP2 00002925: PUSH8 0xffffffffffffffff 0000292e: DUP2 0000292f: GT 00002930: ISZERO 00002931: PUSH2 0x293d 00002934: JUMPI 00002935: PUSH2 0x293c 00002938: PUSH2 0x3506 0000293b: JUMP 0000293c: JUMPDEST 0000293d: JUMPDEST 0000293e: PUSH1 0x40 00002940: MLOAD 00002941: SWAP1 00002942: DUP1 00002943: DUP3 00002944: MSTORE 00002945: DUP1 00002946: PUSH1 0x1f 00002948: ADD 00002949: PUSH1 0x1f 0000294b: NOT 0000294c: AND 0000294d: PUSH1 0x20 0000294f: ADD 00002950: DUP3 00002951: ADD 00002952: PUSH1 0x40 00002954: MSTORE 00002955: DUP1 00002956: ISZERO 00002957: PUSH2 0x296f 0000295a: JUMPI 0000295b: DUP2 0000295c: PUSH1 0x20 0000295e: ADD 0000295f: PUSH1 0x01 00002961: DUP3 00002962: MUL 00002963: DUP1 00002964: CALLDATASIZE 00002965: DUP4 00002966: CALLDATACOPY 00002967: DUP1 00002968: DUP3 00002969: ADD 0000296a: SWAP2 0000296b: POP 0000296c: POP 0000296d: SWAP1 0000296e: POP 0000296f: JUMPDEST 00002970: POP 00002971: SWAP1 00002972: POP 00002973: JUMPDEST 00002974: PUSH1 0x00 00002976: DUP6 00002977: EQ 00002978: PUSH2 0x29fc 0000297b: JUMPI 0000297c: PUSH1 0x01 0000297e: DUP3 0000297f: PUSH2 0x2988 00002982: SWAP2 00002983: SWAP1 00002984: PUSH2 0x49d8 00002987: JUMP 00002988: JUMPDEST 00002989: SWAP2 0000298a: POP 0000298b: PUSH1 0x0a 0000298d: DUP6 0000298e: PUSH2 0x2997 00002991: SWAP2 00002992: SWAP1 00002993: PUSH2 0x4a6c 00002996: JUMP 00002997: JUMPDEST 00002998: PUSH1 0x30 0000299a: PUSH2 0x29a3 0000299d: SWAP2 0000299e: SWAP1 0000299f: PUSH2 0x41ae 000029a2: JUMP 000029a3: JUMPDEST 000029a4: PUSH1 0xf8 000029a6: SHL 000029a7: DUP2 000029a8: DUP4 000029a9: DUP2 000029aa: MLOAD 000029ab: DUP2 000029ac: LT 000029ad: PUSH2 0x29b9 000029b0: JUMPI 000029b1: PUSH2 0x29b8 000029b4: PUSH2 0x3f72 000029b7: JUMP 000029b8: JUMPDEST 000029b9: JUMPDEST 000029ba: PUSH1 0x20 000029bc: ADD 000029bd: ADD 000029be: SWAP1 000029bf: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000029df: NOT 000029e0: AND 000029e1: SWAP1 000029e2: DUP2 000029e3: PUSH1 0x00 000029e5: BYTE 000029e6: SWAP1 000029e7: MSTORE8 000029e8: POP 000029e9: PUSH1 0x0a 000029eb: DUP6 000029ec: PUSH2 0x29f5 000029ef: SWAP2 000029f0: SWAP1 000029f1: PUSH2 0x4a3b 000029f4: JUMP 000029f5: JUMPDEST 000029f6: SWAP5 000029f7: POP 000029f8: PUSH2 0x2973 000029fb: JUMP 000029fc: JUMPDEST 000029fd: DUP1 000029fe: SWAP4 000029ff: POP 00002a00: POP 00002a01: POP 00002a02: POP 00002a03: JUMPDEST 00002a04: SWAP2 00002a05: SWAP1 00002a06: POP 00002a07: JUMP 00002a08: JUMPDEST 00002a09: PUSH1 0x00 00002a0b: PUSH1 0x06 00002a0d: PUSH1 0x00 00002a0f: SWAP1 00002a10: SLOAD 00002a11: SWAP1 00002a12: PUSH2 0x0100 00002a15: EXP 00002a16: SWAP1 00002a17: DIV 00002a18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a2d: AND 00002a2e: SWAP1 00002a2f: POP 00002a30: DUP2 00002a31: PUSH1 0x06 00002a33: PUSH1 0x00 00002a35: PUSH2 0x0100 00002a38: EXP 00002a39: DUP2 00002a3a: SLOAD 00002a3b: DUP2 00002a3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a51: MUL 00002a52: NOT 00002a53: AND 00002a54: SWAP1 00002a55: DUP4 00002a56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a6b: AND 00002a6c: MUL 00002a6d: OR 00002a6e: SWAP1 00002a6f: SSTORE 00002a70: POP 00002a71: DUP2 00002a72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a87: AND 00002a88: DUP2 00002a89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a9e: AND 00002a9f: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00002ac0: PUSH1 0x40 00002ac2: MLOAD 00002ac3: PUSH1 0x40 00002ac5: MLOAD 00002ac6: DUP1 00002ac7: SWAP2 00002ac8: SUB 00002ac9: SWAP1 00002aca: LOG3 00002acb: POP 00002acc: POP 00002acd: JUMP 00002ace: JUMPDEST 00002acf: PUSH1 0x00 00002ad1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ae6: AND 00002ae7: DUP3 00002ae8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002afd: AND 00002afe: SUB 00002aff: PUSH2 0x2b3d 00002b02: JUMPI 00002b03: PUSH1 0x40 00002b05: MLOAD 00002b06: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002b27: DUP2 00002b28: MSTORE 00002b29: PUSH1 0x04 00002b2b: ADD 00002b2c: PUSH2 0x2b34 00002b2f: SWAP1 00002b30: PUSH2 0x4ae9 00002b33: JUMP 00002b34: JUMPDEST 00002b35: PUSH1 0x40 00002b37: MLOAD 00002b38: DUP1 00002b39: SWAP2 00002b3a: SUB 00002b3b: SWAP1 00002b3c: REVERT 00002b3d: JUMPDEST 00002b3e: PUSH2 0x2b46 00002b41: DUP2 00002b42: PUSH2 0x2e6f 00002b45: JUMP 00002b46: JUMPDEST 00002b47: ISZERO 00002b48: PUSH2 0x2b86 00002b4b: JUMPI 00002b4c: PUSH1 0x40 00002b4e: MLOAD 00002b4f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002b70: DUP2 00002b71: MSTORE 00002b72: PUSH1 0x04 00002b74: ADD 00002b75: PUSH2 0x2b7d 00002b78: SWAP1 00002b79: PUSH2 0x4b55 00002b7c: JUMP 00002b7d: JUMPDEST 00002b7e: PUSH1 0x40 00002b80: MLOAD 00002b81: DUP1 00002b82: SWAP2 00002b83: SUB 00002b84: SWAP1 00002b85: REVERT 00002b86: JUMPDEST 00002b87: PUSH2 0x2b92 00002b8a: PUSH1 0x00 00002b8c: DUP4 00002b8d: DUP4 00002b8e: PUSH2 0x2edb 00002b91: JUMP 00002b92: JUMPDEST 00002b93: PUSH1 0x01 00002b95: PUSH1 0x03 00002b97: PUSH1 0x00 00002b99: DUP5 00002b9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002baf: AND 00002bb0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002bc5: AND 00002bc6: DUP2 00002bc7: MSTORE 00002bc8: PUSH1 0x20 00002bca: ADD 00002bcb: SWAP1 00002bcc: DUP2 00002bcd: MSTORE 00002bce: PUSH1 0x20 00002bd0: ADD 00002bd1: PUSH1 0x00 00002bd3: KECCAK256 00002bd4: PUSH1 0x00 00002bd6: DUP3 00002bd7: DUP3 00002bd8: SLOAD 00002bd9: PUSH2 0x2be2 00002bdc: SWAP2 00002bdd: SWAP1 00002bde: PUSH2 0x41ae 00002be1: JUMP 00002be2: JUMPDEST 00002be3: SWAP3 00002be4: POP 00002be5: POP 00002be6: DUP2 00002be7: SWAP1 00002be8: SSTORE 00002be9: POP 00002bea: DUP2 00002beb: PUSH1 0x02 00002bed: PUSH1 0x00 00002bef: DUP4 00002bf0: DUP2 00002bf1: MSTORE 00002bf2: PUSH1 0x20 00002bf4: ADD 00002bf5: SWAP1 00002bf6: DUP2 00002bf7: MSTORE 00002bf8: PUSH1 0x20 00002bfa: ADD 00002bfb: PUSH1 0x00 00002bfd: KECCAK256 00002bfe: PUSH1 0x00 00002c00: PUSH2 0x0100 00002c03: EXP 00002c04: DUP2 00002c05: SLOAD 00002c06: DUP2 00002c07: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c1c: MUL 00002c1d: NOT 00002c1e: AND 00002c1f: SWAP1 00002c20: DUP4 00002c21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c36: AND 00002c37: MUL 00002c38: OR 00002c39: SWAP1 00002c3a: SSTORE 00002c3b: POP 00002c3c: DUP1 00002c3d: DUP3 00002c3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c53: AND 00002c54: PUSH1 0x00 00002c56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c6b: AND 00002c6c: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002c8d: PUSH1 0x40 00002c8f: MLOAD 00002c90: PUSH1 0x40 00002c92: MLOAD 00002c93: DUP1 00002c94: SWAP2 00002c95: SUB 00002c96: SWAP1 00002c97: LOG4 00002c98: PUSH2 0x2ca3 00002c9b: PUSH1 0x00 00002c9d: DUP4 00002c9e: DUP4 00002c9f: PUSH2 0x2ee0 00002ca2: JUMP 00002ca3: JUMPDEST 00002ca4: POP 00002ca5: POP 00002ca6: JUMP 00002ca7: JUMPDEST 00002ca8: DUP2 00002ca9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cbe: AND 00002cbf: DUP4 00002cc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cd5: AND 00002cd6: SUB 00002cd7: PUSH2 0x2d15 00002cda: JUMPI 00002cdb: PUSH1 0x40 00002cdd: MLOAD 00002cde: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002cff: DUP2 00002d00: MSTORE 00002d01: PUSH1 0x04 00002d03: ADD 00002d04: PUSH2 0x2d0c 00002d07: SWAP1 00002d08: PUSH2 0x4bc1 00002d0b: JUMP 00002d0c: JUMPDEST 00002d0d: PUSH1 0x40 00002d0f: MLOAD 00002d10: DUP1 00002d11: SWAP2 00002d12: SUB 00002d13: SWAP1 00002d14: REVERT 00002d15: JUMPDEST 00002d16: DUP1 00002d17: PUSH1 0x05 00002d19: PUSH1 0x00 00002d1b: DUP6 00002d1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d31: AND 00002d32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d47: AND 00002d48: DUP2 00002d49: MSTORE 00002d4a: PUSH1 0x20 00002d4c: ADD 00002d4d: SWAP1 00002d4e: DUP2 00002d4f: MSTORE 00002d50: PUSH1 0x20 00002d52: ADD 00002d53: PUSH1 0x00 00002d55: KECCAK256 00002d56: PUSH1 0x00 00002d58: DUP5 00002d59: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d6e: AND 00002d6f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d84: AND 00002d85: DUP2 00002d86: MSTORE 00002d87: PUSH1 0x20 00002d89: ADD 00002d8a: SWAP1 00002d8b: DUP2 00002d8c: MSTORE 00002d8d: PUSH1 0x20 00002d8f: ADD 00002d90: PUSH1 0x00 00002d92: KECCAK256 00002d93: PUSH1 0x00 00002d95: PUSH2 0x0100 00002d98: EXP 00002d99: DUP2 00002d9a: SLOAD 00002d9b: DUP2 00002d9c: PUSH1 0xff 00002d9e: MUL 00002d9f: NOT 00002da0: AND 00002da1: SWAP1 00002da2: DUP4 00002da3: ISZERO 00002da4: ISZERO 00002da5: MUL 00002da6: OR 00002da7: SWAP1 00002da8: SSTORE 00002da9: POP 00002daa: DUP2 00002dab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002dc0: AND 00002dc1: DUP4 00002dc2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002dd7: AND 00002dd8: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31 00002df9: DUP4 00002dfa: PUSH1 0x40 00002dfc: MLOAD 00002dfd: PUSH2 0x2e06 00002e00: SWAP2 00002e01: SWAP1 00002e02: PUSH2 0x31e6 00002e05: JUMP 00002e06: JUMPDEST 00002e07: PUSH1 0x40 00002e09: MLOAD 00002e0a: DUP1 00002e0b: SWAP2 00002e0c: SUB 00002e0d: SWAP1 00002e0e: LOG3 00002e0f: POP 00002e10: POP 00002e11: POP 00002e12: JUMP 00002e13: JUMPDEST 00002e14: PUSH2 0x2e1e 00002e17: DUP5 00002e18: DUP5 00002e19: DUP5 00002e1a: PUSH2 0x2525 00002e1d: JUMP 00002e1e: JUMPDEST 00002e1f: PUSH2 0x2e2a 00002e22: DUP5 00002e23: DUP5 00002e24: DUP5 00002e25: DUP5 00002e26: PUSH2 0x2ee5 00002e29: JUMP 00002e2a: JUMPDEST 00002e2b: PUSH2 0x2e69 00002e2e: JUMPI 00002e2f: PUSH1 0x40 00002e31: MLOAD 00002e32: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002e53: DUP2 00002e54: MSTORE 00002e55: PUSH1 0x04 00002e57: ADD 00002e58: PUSH2 0x2e60 00002e5b: SWAP1 00002e5c: PUSH2 0x4c53 00002e5f: JUMP 00002e60: JUMPDEST 00002e61: PUSH1 0x40 00002e63: MLOAD 00002e64: DUP1 00002e65: SWAP2 00002e66: SUB 00002e67: SWAP1 00002e68: REVERT 00002e69: JUMPDEST 00002e6a: POP 00002e6b: POP 00002e6c: POP 00002e6d: POP 00002e6e: JUMP 00002e6f: JUMPDEST 00002e70: PUSH1 0x00 00002e72: DUP1 00002e73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e88: AND 00002e89: PUSH1 0x02 00002e8b: PUSH1 0x00 00002e8d: DUP5 00002e8e: DUP2 00002e8f: MSTORE 00002e90: PUSH1 0x20 00002e92: ADD 00002e93: SWAP1 00002e94: DUP2 00002e95: MSTORE 00002e96: PUSH1 0x20 00002e98: ADD 00002e99: PUSH1 0x00 00002e9b: KECCAK256 00002e9c: PUSH1 0x00 00002e9e: SWAP1 00002e9f: SLOAD 00002ea0: SWAP1 00002ea1: PUSH2 0x0100 00002ea4: EXP 00002ea5: SWAP1 00002ea6: DIV 00002ea7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ebc: AND 00002ebd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ed2: AND 00002ed3: EQ 00002ed4: ISZERO 00002ed5: SWAP1 00002ed6: POP 00002ed7: SWAP2 00002ed8: SWAP1 00002ed9: POP 00002eda: JUMP 00002edb: JUMPDEST 00002edc: POP 00002edd: POP 00002ede: POP 00002edf: JUMP 00002ee0: JUMPDEST 00002ee1: POP 00002ee2: POP 00002ee3: POP 00002ee4: JUMP 00002ee5: JUMPDEST 00002ee6: PUSH1 0x00 00002ee8: PUSH2 0x2f06 00002eeb: DUP5 00002eec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f01: AND 00002f02: PUSH2 0x306c 00002f05: JUMP 00002f06: JUMPDEST 00002f07: ISZERO 00002f08: PUSH2 0x305f 00002f0b: JUMPI 00002f0c: DUP4 00002f0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f22: AND 00002f23: PUSH4 0x150b7a02 00002f28: PUSH2 0x2f2f 00002f2b: PUSH2 0x23cf 00002f2e: JUMP 00002f2f: JUMPDEST 00002f30: DUP8 00002f31: DUP7 00002f32: DUP7 00002f33: PUSH1 0x40 00002f35: MLOAD 00002f36: DUP6 00002f37: PUSH4 0xffffffff 00002f3c: AND 00002f3d: PUSH1 0xe0 00002f3f: SHL 00002f40: DUP2 00002f41: MSTORE 00002f42: PUSH1 0x04 00002f44: ADD 00002f45: PUSH2 0x2f51 00002f48: SWAP5 00002f49: SWAP4 00002f4a: SWAP3 00002f4b: SWAP2 00002f4c: SWAP1 00002f4d: PUSH2 0x4cc8 00002f50: JUMP 00002f51: JUMPDEST 00002f52: PUSH1 0x20 00002f54: PUSH1 0x40 00002f56: MLOAD 00002f57: DUP1 00002f58: DUP4 00002f59: SUB 00002f5a: DUP2 00002f5b: PUSH1 0x00 00002f5d: DUP8 00002f5e: GAS 00002f5f: CALL 00002f60: SWAP3 00002f61: POP 00002f62: POP 00002f63: POP 00002f64: DUP1 00002f65: ISZERO 00002f66: PUSH2 0x2f8d 00002f69: JUMPI 00002f6a: POP 00002f6b: PUSH1 0x40 00002f6d: MLOAD 00002f6e: RETURNDATASIZE 00002f6f: PUSH1 0x1f 00002f71: NOT 00002f72: PUSH1 0x1f 00002f74: DUP3 00002f75: ADD 00002f76: AND 00002f77: DUP3 00002f78: ADD 00002f79: DUP1 00002f7a: PUSH1 0x40 00002f7c: MSTORE 00002f7d: POP 00002f7e: DUP2 00002f7f: ADD 00002f80: SWAP1 00002f81: PUSH2 0x2f8a 00002f84: SWAP2 00002f85: SWAP1 00002f86: PUSH2 0x4d29 00002f89: JUMP 00002f8a: JUMPDEST 00002f8b: PUSH1 0x01 00002f8d: JUMPDEST 00002f8e: PUSH2 0x300f 00002f91: JUMPI 00002f92: RETURNDATASIZE 00002f93: DUP1 00002f94: PUSH1 0x00 00002f96: DUP2 00002f97: EQ 00002f98: PUSH2 0x2fbd 00002f9b: JUMPI 00002f9c: PUSH1 0x40 00002f9e: MLOAD 00002f9f: SWAP2 00002fa0: POP 00002fa1: PUSH1 0x1f 00002fa3: NOT 00002fa4: PUSH1 0x3f 00002fa6: RETURNDATASIZE 00002fa7: ADD 00002fa8: AND 00002fa9: DUP3 00002faa: ADD 00002fab: PUSH1 0x40 00002fad: MSTORE 00002fae: RETURNDATASIZE 00002faf: DUP3 00002fb0: MSTORE 00002fb1: RETURNDATASIZE 00002fb2: PUSH1 0x00 00002fb4: PUSH1 0x20 00002fb6: DUP5 00002fb7: ADD 00002fb8: RETURNDATACOPY 00002fb9: PUSH2 0x2fc2 00002fbc: JUMP 00002fbd: JUMPDEST 00002fbe: PUSH1 0x60 00002fc0: SWAP2 00002fc1: POP 00002fc2: JUMPDEST 00002fc3: POP 00002fc4: PUSH1 0x00 00002fc6: DUP2 00002fc7: MLOAD 00002fc8: SUB 00002fc9: PUSH2 0x3007 00002fcc: JUMPI 00002fcd: PUSH1 0x40 00002fcf: MLOAD 00002fd0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002ff1: DUP2 00002ff2: MSTORE 00002ff3: PUSH1 0x04 00002ff5: ADD 00002ff6: PUSH2 0x2ffe 00002ff9: SWAP1 00002ffa: PUSH2 0x4c53 00002ffd: JUMP 00002ffe: JUMPDEST 00002fff: PUSH1 0x40 00003001: MLOAD 00003002: DUP1 00003003: SWAP2 00003004: SUB 00003005: SWAP1 00003006: REVERT 00003007: JUMPDEST 00003008: DUP1 00003009: MLOAD 0000300a: DUP2 0000300b: PUSH1 0x20 0000300d: ADD 0000300e: REVERT 0000300f: JUMPDEST 00003010: PUSH4 0x150b7a02 00003015: PUSH1 0xe0 00003017: SHL 00003018: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003035: NOT 00003036: AND 00003037: DUP2 00003038: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003055: NOT 00003056: AND 00003057: EQ 00003058: SWAP2 00003059: POP 0000305a: POP 0000305b: PUSH2 0x3064 0000305e: JUMP 0000305f: JUMPDEST 00003060: PUSH1 0x01 00003062: SWAP1 00003063: POP 00003064: JUMPDEST 00003065: SWAP5 00003066: SWAP4 00003067: POP 00003068: POP 00003069: POP 0000306a: POP 0000306b: JUMP 0000306c: JUMPDEST 0000306d: PUSH1 0x00 0000306f: DUP1 00003070: DUP3 00003071: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003086: AND 00003087: EXTCODESIZE 00003088: GT 00003089: SWAP1 0000308a: POP 0000308b: SWAP2 0000308c: SWAP1 0000308d: POP 0000308e: JUMP 0000308f: JUMPDEST 00003090: DUP3 00003091: DUP1 00003092: SLOAD 00003093: PUSH2 0x309b 00003096: SWAP1 00003097: PUSH2 0x3b54 0000309a: JUMP 0000309b: JUMPDEST 0000309c: SWAP1 0000309d: PUSH1 0x00 0000309f: MSTORE 000030a0: PUSH1 0x20 000030a2: PUSH1 0x00 000030a4: KECCAK256 000030a5: SWAP1 000030a6: PUSH1 0x1f 000030a8: ADD 000030a9: PUSH1 0x20 000030ab: SWAP1 000030ac: DIV 000030ad: DUP2 000030ae: ADD 000030af: SWAP3 000030b0: DUP3 000030b1: PUSH2 0x30bd 000030b4: JUMPI 000030b5: PUSH1 0x00 000030b7: DUP6 000030b8: SSTORE 000030b9: PUSH2 0x3104 000030bc: JUMP 000030bd: JUMPDEST 000030be: DUP3 000030bf: PUSH1 0x1f 000030c1: LT 000030c2: PUSH2 0x30d6 000030c5: JUMPI 000030c6: DUP1 000030c7: MLOAD 000030c8: PUSH1 0xff 000030ca: NOT 000030cb: AND 000030cc: DUP4 000030cd: DUP1 000030ce: ADD 000030cf: OR 000030d0: DUP6 000030d1: SSTORE 000030d2: PUSH2 0x3104 000030d5: JUMP 000030d6: JUMPDEST 000030d7: DUP3 000030d8: DUP1 000030d9: ADD 000030da: PUSH1 0x01 000030dc: ADD 000030dd: DUP6 000030de: SSTORE 000030df: DUP3 000030e0: ISZERO 000030e1: PUSH2 0x3104 000030e4: JUMPI 000030e5: SWAP2 000030e6: DUP3 000030e7: ADD 000030e8: JUMPDEST 000030e9: DUP3 000030ea: DUP2 000030eb: GT 000030ec: ISZERO 000030ed: PUSH2 0x3103 000030f0: JUMPI 000030f1: DUP3 000030f2: MLOAD 000030f3: DUP3 000030f4: SSTORE 000030f5: SWAP2 000030f6: PUSH1 0x20 000030f8: ADD 000030f9: SWAP2 000030fa: SWAP1 000030fb: PUSH1 0x01 000030fd: ADD 000030fe: SWAP1 000030ff: PUSH2 0x30e8 00003102: JUMP 00003103: JUMPDEST 00003104: JUMPDEST 00003105: POP 00003106: SWAP1 00003107: POP 00003108: PUSH2 0x3111 0000310b: SWAP2 0000310c: SWAP1 0000310d: PUSH2 0x3115 00003110: JUMP 00003111: JUMPDEST 00003112: POP 00003113: SWAP1 00003114: JUMP 00003115: JUMPDEST 00003116: JUMPDEST 00003117: DUP1 00003118: DUP3 00003119: GT 0000311a: ISZERO 0000311b: PUSH2 0x312e 0000311e: JUMPI 0000311f: PUSH1 0x00 00003121: DUP2 00003122: PUSH1 0x00 00003124: SWAP1 00003125: SSTORE 00003126: POP 00003127: PUSH1 0x01 00003129: ADD 0000312a: PUSH2 0x3116 0000312d: JUMP 0000312e: JUMPDEST 0000312f: POP 00003130: SWAP1 00003131: JUMP 00003132: JUMPDEST 00003133: PUSH1 0x00 00003135: PUSH1 0x40 00003137: MLOAD 00003138: SWAP1 00003139: POP 0000313a: SWAP1 0000313b: JUMP 0000313c: JUMPDEST 0000313d: PUSH1 0x00 0000313f: DUP1 00003140: REVERT 00003141: JUMPDEST 00003142: PUSH1 0x00 00003144: DUP1 00003145: REVERT 00003146: JUMPDEST 00003147: PUSH1 0x00 00003149: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 0000316a: DUP3 0000316b: AND 0000316c: SWAP1 0000316d: POP 0000316e: SWAP2 0000316f: SWAP1 00003170: POP 00003171: JUMP 00003172: JUMPDEST 00003173: PUSH2 0x317b 00003176: DUP2 00003177: PUSH2 0x3146 0000317a: JUMP 0000317b: JUMPDEST 0000317c: DUP2 0000317d: EQ 0000317e: PUSH2 0x3186 00003181: JUMPI 00003182: PUSH1 0x00 00003184: DUP1 00003185: REVERT 00003186: JUMPDEST 00003187: POP 00003188: JUMP 00003189: JUMPDEST 0000318a: PUSH1 0x00 0000318c: DUP2 0000318d: CALLDATALOAD 0000318e: SWAP1 0000318f: POP 00003190: PUSH2 0x3198 00003193: DUP2 00003194: PUSH2 0x3172 00003197: JUMP 00003198: JUMPDEST 00003199: SWAP3 0000319a: SWAP2 0000319b: POP 0000319c: POP 0000319d: JUMP 0000319e: JUMPDEST 0000319f: PUSH1 0x00 000031a1: PUSH1 0x20 000031a3: DUP3 000031a4: DUP5 000031a5: SUB 000031a6: SLT 000031a7: ISZERO 000031a8: PUSH2 0x31b4 000031ab: JUMPI 000031ac: PUSH2 0x31b3 000031af: PUSH2 0x313c 000031b2: JUMP 000031b3: JUMPDEST 000031b4: JUMPDEST 000031b5: PUSH1 0x00 000031b7: PUSH2 0x31c2 000031ba: DUP5 000031bb: DUP3 000031bc: DUP6 000031bd: ADD 000031be: PUSH2 0x3189 000031c1: JUMP 000031c2: JUMPDEST 000031c3: SWAP2 000031c4: POP 000031c5: POP 000031c6: SWAP3 000031c7: SWAP2 000031c8: POP 000031c9: POP 000031ca: JUMP 000031cb: JUMPDEST 000031cc: PUSH1 0x00 000031ce: DUP2 000031cf: ISZERO 000031d0: ISZERO 000031d1: SWAP1 000031d2: POP 000031d3: SWAP2 000031d4: SWAP1 000031d5: POP 000031d6: JUMP 000031d7: JUMPDEST 000031d8: PUSH2 0x31e0 000031db: DUP2 000031dc: PUSH2 0x31cb 000031df: JUMP 000031e0: JUMPDEST 000031e1: DUP3 000031e2: MSTORE 000031e3: POP 000031e4: POP 000031e5: JUMP 000031e6: JUMPDEST 000031e7: PUSH1 0x00 000031e9: PUSH1 0x20 000031eb: DUP3 000031ec: ADD 000031ed: SWAP1 000031ee: POP 000031ef: PUSH2 0x31fb 000031f2: PUSH1 0x00 000031f4: DUP4 000031f5: ADD 000031f6: DUP5 000031f7: PUSH2 0x31d7 000031fa: JUMP 000031fb: JUMPDEST 000031fc: SWAP3 000031fd: SWAP2 000031fe: POP 000031ff: POP 00003200: JUMP 00003201: JUMPDEST 00003202: PUSH1 0x00 00003204: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003219: DUP3 0000321a: AND 0000321b: SWAP1 0000321c: POP 0000321d: SWAP2 0000321e: SWAP1 0000321f: POP 00003220: JUMP 00003221: JUMPDEST 00003222: PUSH1 0x00 00003224: PUSH2 0x322c 00003227: DUP3 00003228: PUSH2 0x3201 0000322b: JUMP 0000322c: JUMPDEST 0000322d: SWAP1 0000322e: POP 0000322f: SWAP2 00003230: SWAP1 00003231: POP 00003232: JUMP 00003233: JUMPDEST 00003234: PUSH2 0x323c 00003237: DUP2 00003238: PUSH2 0x3221 0000323b: JUMP 0000323c: JUMPDEST 0000323d: DUP2 0000323e: EQ 0000323f: PUSH2 0x3247 00003242: JUMPI 00003243: PUSH1 0x00 00003245: DUP1 00003246: REVERT 00003247: JUMPDEST 00003248: POP 00003249: JUMP 0000324a: JUMPDEST 0000324b: PUSH1 0x00 0000324d: DUP2 0000324e: CALLDATALOAD 0000324f: SWAP1 00003250: POP 00003251: PUSH2 0x3259 00003254: DUP2 00003255: PUSH2 0x3233 00003258: JUMP 00003259: JUMPDEST 0000325a: SWAP3 0000325b: SWAP2 0000325c: POP 0000325d: POP 0000325e: JUMP 0000325f: JUMPDEST 00003260: PUSH1 0x00 00003262: PUSH1 0x20 00003264: DUP3 00003265: DUP5 00003266: SUB 00003267: SLT 00003268: ISZERO 00003269: PUSH2 0x3275 0000326c: JUMPI 0000326d: PUSH2 0x3274 00003270: PUSH2 0x313c 00003273: JUMP 00003274: JUMPDEST 00003275: JUMPDEST 00003276: PUSH1 0x00 00003278: PUSH2 0x3283 0000327b: DUP5 0000327c: DUP3 0000327d: DUP6 0000327e: ADD 0000327f: PUSH2 0x324a 00003282: JUMP 00003283: JUMPDEST 00003284: SWAP2 00003285: POP 00003286: POP 00003287: SWAP3 00003288: SWAP2 00003289: POP 0000328a: POP 0000328b: JUMP 0000328c: JUMPDEST 0000328d: PUSH1 0x00 0000328f: DUP2 00003290: MLOAD 00003291: SWAP1 00003292: POP 00003293: SWAP2 00003294: SWAP1 00003295: POP 00003296: JUMP 00003297: JUMPDEST 00003298: PUSH1 0x00 0000329a: DUP3 0000329b: DUP3 0000329c: MSTORE 0000329d: PUSH1 0x20 0000329f: DUP3 000032a0: ADD 000032a1: SWAP1 000032a2: POP 000032a3: SWAP3 000032a4: SWAP2 000032a5: POP 000032a6: POP 000032a7: JUMP 000032a8: JUMPDEST 000032a9: PUSH1 0x00 000032ab: JUMPDEST 000032ac: DUP4 000032ad: DUP2 000032ae: LT 000032af: ISZERO 000032b0: PUSH2 0x32c6 000032b3: JUMPI 000032b4: DUP1 000032b5: DUP3 000032b6: ADD 000032b7: MLOAD 000032b8: DUP2 000032b9: DUP5 000032ba: ADD 000032bb: MSTORE 000032bc: PUSH1 0x20 000032be: DUP2 000032bf: ADD 000032c0: SWAP1 000032c1: POP 000032c2: PUSH2 0x32ab 000032c5: JUMP 000032c6: JUMPDEST 000032c7: DUP4 000032c8: DUP2 000032c9: GT 000032ca: ISZERO 000032cb: PUSH2 0x32d5 000032ce: JUMPI 000032cf: PUSH1 0x00 000032d1: DUP5 000032d2: DUP5 000032d3: ADD 000032d4: MSTORE 000032d5: JUMPDEST 000032d6: POP 000032d7: POP 000032d8: POP 000032d9: POP 000032da: JUMP 000032db: JUMPDEST 000032dc: PUSH1 0x00 000032de: PUSH1 0x1f 000032e0: NOT 000032e1: PUSH1 0x1f 000032e3: DUP4 000032e4: ADD 000032e5: AND 000032e6: SWAP1 000032e7: POP 000032e8: SWAP2 000032e9: SWAP1 000032ea: POP 000032eb: JUMP 000032ec: JUMPDEST 000032ed: PUSH1 0x00 000032ef: PUSH2 0x32f7 000032f2: DUP3 000032f3: PUSH2 0x328c 000032f6: JUMP 000032f7: JUMPDEST 000032f8: PUSH2 0x3301 000032fb: DUP2 000032fc: DUP6 000032fd: PUSH2 0x3297 00003300: JUMP 00003301: JUMPDEST 00003302: SWAP4 00003303: POP 00003304: PUSH2 0x3311 00003307: DUP2 00003308: DUP6 00003309: PUSH1 0x20 0000330b: DUP7 0000330c: ADD 0000330d: PUSH2 0x32a8 00003310: JUMP 00003311: JUMPDEST 00003312: PUSH2 0x331a 00003315: DUP2 00003316: PUSH2 0x32db 00003319: JUMP 0000331a: JUMPDEST 0000331b: DUP5 0000331c: ADD 0000331d: SWAP2 0000331e: POP 0000331f: POP 00003320: SWAP3 00003321: SWAP2 00003322: POP 00003323: POP 00003324: JUMP 00003325: JUMPDEST 00003326: PUSH1 0x00 00003328: PUSH1 0x20 0000332a: DUP3 0000332b: ADD 0000332c: SWAP1 0000332d: POP 0000332e: DUP2 0000332f: DUP2 00003330: SUB 00003331: PUSH1 0x00 00003333: DUP4 00003334: ADD 00003335: MSTORE 00003336: PUSH2 0x333f 00003339: DUP2 0000333a: DUP5 0000333b: PUSH2 0x32ec 0000333e: JUMP 0000333f: JUMPDEST 00003340: SWAP1 00003341: POP 00003342: SWAP3 00003343: SWAP2 00003344: POP 00003345: POP 00003346: JUMP 00003347: JUMPDEST 00003348: PUSH1 0x00 0000334a: DUP2 0000334b: SWAP1 0000334c: POP 0000334d: SWAP2 0000334e: SWAP1 0000334f: POP 00003350: JUMP 00003351: JUMPDEST 00003352: PUSH2 0x335a 00003355: DUP2 00003356: PUSH2 0x3347 00003359: JUMP 0000335a: JUMPDEST 0000335b: DUP2 0000335c: EQ 0000335d: PUSH2 0x3365 00003360: JUMPI 00003361: PUSH1 0x00 00003363: DUP1 00003364: REVERT 00003365: JUMPDEST 00003366: POP 00003367: JUMP 00003368: JUMPDEST 00003369: PUSH1 0x00 0000336b: DUP2 0000336c: CALLDATALOAD 0000336d: SWAP1 0000336e: POP 0000336f: PUSH2 0x3377 00003372: DUP2 00003373: PUSH2 0x3351 00003376: JUMP 00003377: JUMPDEST 00003378: SWAP3 00003379: SWAP2 0000337a: POP 0000337b: POP 0000337c: JUMP 0000337d: JUMPDEST 0000337e: PUSH1 0x00 00003380: PUSH1 0x20 00003382: DUP3 00003383: DUP5 00003384: SUB 00003385: SLT 00003386: ISZERO 00003387: PUSH2 0x3393 0000338a: JUMPI 0000338b: PUSH2 0x3392 0000338e: PUSH2 0x313c 00003391: JUMP 00003392: JUMPDEST 00003393: JUMPDEST 00003394: PUSH1 0x00 00003396: PUSH2 0x33a1 00003399: DUP5 0000339a: DUP3 0000339b: DUP6 0000339c: ADD 0000339d: PUSH2 0x3368 000033a0: JUMP 000033a1: JUMPDEST 000033a2: SWAP2 000033a3: POP 000033a4: POP 000033a5: SWAP3 000033a6: SWAP2 000033a7: POP 000033a8: POP 000033a9: JUMP 000033aa: JUMPDEST 000033ab: PUSH2 0x33b3 000033ae: DUP2 000033af: PUSH2 0x3221 000033b2: JUMP 000033b3: JUMPDEST 000033b4: DUP3 000033b5: MSTORE 000033b6: POP 000033b7: POP 000033b8: JUMP 000033b9: JUMPDEST 000033ba: PUSH1 0x00 000033bc: PUSH1 0x20 000033be: DUP3 000033bf: ADD 000033c0: SWAP1 000033c1: POP 000033c2: PUSH2 0x33ce 000033c5: PUSH1 0x00 000033c7: DUP4 000033c8: ADD 000033c9: DUP5 000033ca: PUSH2 0x33aa 000033cd: JUMP 000033ce: JUMPDEST 000033cf: SWAP3 000033d0: SWAP2 000033d1: POP 000033d2: POP 000033d3: JUMP 000033d4: JUMPDEST 000033d5: PUSH1 0x00 000033d7: DUP1 000033d8: PUSH1 0x40 000033da: DUP4 000033db: DUP6 000033dc: SUB 000033dd: SLT 000033de: ISZERO 000033df: PUSH2 0x33eb 000033e2: JUMPI 000033e3: PUSH2 0x33ea 000033e6: PUSH2 0x313c 000033e9: JUMP 000033ea: JUMPDEST 000033eb: JUMPDEST 000033ec: PUSH1 0x00 000033ee: PUSH2 0x33f9 000033f1: DUP6 000033f2: DUP3 000033f3: DUP7 000033f4: ADD 000033f5: PUSH2 0x324a 000033f8: JUMP 000033f9: JUMPDEST 000033fa: SWAP3 000033fb: POP 000033fc: POP 000033fd: PUSH1 0x20 000033ff: PUSH2 0x340a 00003402: DUP6 00003403: DUP3 00003404: DUP7 00003405: ADD 00003406: PUSH2 0x3368 00003409: JUMP 0000340a: JUMPDEST 0000340b: SWAP2 0000340c: POP 0000340d: POP 0000340e: SWAP3 0000340f: POP 00003410: SWAP3 00003411: SWAP1 00003412: POP 00003413: JUMP 00003414: JUMPDEST 00003415: PUSH1 0x00 00003417: DUP1 00003418: PUSH1 0x00 0000341a: PUSH1 0x60 0000341c: DUP5 0000341d: DUP7 0000341e: SUB 0000341f: SLT 00003420: ISZERO 00003421: PUSH2 0x342d 00003424: JUMPI 00003425: PUSH2 0x342c 00003428: PUSH2 0x313c 0000342b: JUMP 0000342c: JUMPDEST 0000342d: JUMPDEST 0000342e: PUSH1 0x00 00003430: PUSH2 0x343b 00003433: DUP7 00003434: DUP3 00003435: DUP8 00003436: ADD 00003437: PUSH2 0x324a 0000343a: JUMP 0000343b: JUMPDEST 0000343c: SWAP4 0000343d: POP 0000343e: POP 0000343f: PUSH1 0x20 00003441: PUSH2 0x344c 00003444: DUP7 00003445: DUP3 00003446: DUP8 00003447: ADD 00003448: PUSH2 0x324a 0000344b: JUMP 0000344c: JUMPDEST 0000344d: SWAP3 0000344e: POP 0000344f: POP 00003450: PUSH1 0x40 00003452: PUSH2 0x345d 00003455: DUP7 00003456: DUP3 00003457: DUP8 00003458: ADD 00003459: PUSH2 0x3368 0000345c: JUMP 0000345d: JUMPDEST 0000345e: SWAP2 0000345f: POP 00003460: POP 00003461: SWAP3 00003462: POP 00003463: SWAP3 00003464: POP 00003465: SWAP3 00003466: JUMP 00003467: JUMPDEST 00003468: PUSH2 0x3470 0000346b: DUP2 0000346c: PUSH2 0x3347 0000346f: JUMP 00003470: JUMPDEST 00003471: DUP3 00003472: MSTORE 00003473: POP 00003474: POP 00003475: JUMP 00003476: JUMPDEST 00003477: PUSH1 0x00 00003479: PUSH1 0x20 0000347b: DUP3 0000347c: ADD 0000347d: SWAP1 0000347e: POP 0000347f: PUSH2 0x348b 00003482: PUSH1 0x00 00003484: DUP4 00003485: ADD 00003486: DUP5 00003487: PUSH2 0x3467 0000348a: JUMP 0000348b: JUMPDEST 0000348c: SWAP3 0000348d: SWAP2 0000348e: POP 0000348f: POP 00003490: JUMP 00003491: JUMPDEST 00003492: PUSH1 0x00 00003494: PUSH2 0x349c 00003497: DUP3 00003498: PUSH2 0x3201 0000349b: JUMP 0000349c: JUMPDEST 0000349d: SWAP1 0000349e: POP 0000349f: SWAP2 000034a0: SWAP1 000034a1: POP 000034a2: JUMP 000034a3: JUMPDEST 000034a4: PUSH2 0x34ac 000034a7: DUP2 000034a8: PUSH2 0x3491 000034ab: JUMP 000034ac: JUMPDEST 000034ad: DUP2 000034ae: EQ 000034af: PUSH2 0x34b7 000034b2: JUMPI 000034b3: PUSH1 0x00 000034b5: DUP1 000034b6: REVERT 000034b7: JUMPDEST 000034b8: POP 000034b9: JUMP 000034ba: JUMPDEST 000034bb: PUSH1 0x00 000034bd: DUP2 000034be: CALLDATALOAD 000034bf: SWAP1 000034c0: POP 000034c1: PUSH2 0x34c9 000034c4: DUP2 000034c5: PUSH2 0x34a3 000034c8: JUMP 000034c9: JUMPDEST 000034ca: SWAP3 000034cb: SWAP2 000034cc: POP 000034cd: POP 000034ce: JUMP 000034cf: JUMPDEST 000034d0: PUSH1 0x00 000034d2: PUSH1 0x20 000034d4: DUP3 000034d5: DUP5 000034d6: SUB 000034d7: SLT 000034d8: ISZERO 000034d9: PUSH2 0x34e5 000034dc: JUMPI 000034dd: PUSH2 0x34e4 000034e0: PUSH2 0x313c 000034e3: JUMP 000034e4: JUMPDEST 000034e5: JUMPDEST 000034e6: PUSH1 0x00 000034e8: PUSH2 0x34f3 000034eb: DUP5 000034ec: DUP3 000034ed: DUP6 000034ee: ADD 000034ef: PUSH2 0x34ba 000034f2: JUMP 000034f3: JUMPDEST 000034f4: SWAP2 000034f5: POP 000034f6: POP 000034f7: SWAP3 000034f8: SWAP2 000034f9: POP 000034fa: POP 000034fb: JUMP 000034fc: JUMPDEST 000034fd: PUSH1 0x00 000034ff: DUP1 00003500: REVERT 00003501: JUMPDEST 00003502: PUSH1 0x00 00003504: DUP1 00003505: REVERT 00003506: JUMPDEST 00003507: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003528: PUSH1 0x00 0000352a: MSTORE 0000352b: PUSH1 0x41 0000352d: PUSH1 0x04 0000352f: MSTORE 00003530: PUSH1 0x24 00003532: PUSH1 0x00 00003534: REVERT 00003535: JUMPDEST 00003536: PUSH2 0x353e 00003539: DUP3 0000353a: PUSH2 0x32db 0000353d: JUMP 0000353e: JUMPDEST 0000353f: DUP2 00003540: ADD 00003541: DUP2 00003542: DUP2 00003543: LT 00003544: PUSH8 0xffffffffffffffff 0000354d: DUP3 0000354e: GT 0000354f: OR 00003550: ISZERO 00003551: PUSH2 0x355d 00003554: JUMPI 00003555: PUSH2 0x355c 00003558: PUSH2 0x3506 0000355b: JUMP 0000355c: JUMPDEST 0000355d: JUMPDEST 0000355e: DUP1 0000355f: PUSH1 0x40 00003561: MSTORE 00003562: POP 00003563: POP 00003564: POP 00003565: JUMP 00003566: JUMPDEST 00003567: PUSH1 0x00 00003569: PUSH2 0x3570 0000356c: PUSH2 0x3132 0000356f: JUMP 00003570: JUMPDEST 00003571: SWAP1 00003572: POP 00003573: PUSH2 0x357c 00003576: DUP3 00003577: DUP3 00003578: PUSH2 0x3535 0000357b: JUMP 0000357c: JUMPDEST 0000357d: SWAP2 0000357e: SWAP1 0000357f: POP 00003580: JUMP 00003581: JUMPDEST 00003582: PUSH1 0x00 00003584: PUSH8 0xffffffffffffffff 0000358d: DUP3 0000358e: GT 0000358f: ISZERO 00003590: PUSH2 0x359c 00003593: JUMPI 00003594: PUSH2 0x359b 00003597: PUSH2 0x3506 0000359a: JUMP 0000359b: JUMPDEST 0000359c: JUMPDEST 0000359d: PUSH2 0x35a5 000035a0: DUP3 000035a1: PUSH2 0x32db 000035a4: JUMP 000035a5: JUMPDEST 000035a6: SWAP1 000035a7: POP 000035a8: PUSH1 0x20 000035aa: DUP2 000035ab: ADD 000035ac: SWAP1 000035ad: POP 000035ae: SWAP2 000035af: SWAP1 000035b0: POP 000035b1: JUMP 000035b2: JUMPDEST 000035b3: DUP3 000035b4: DUP2 000035b5: DUP4 000035b6: CALLDATACOPY 000035b7: PUSH1 0x00 000035b9: DUP4 000035ba: DUP4 000035bb: ADD 000035bc: MSTORE 000035bd: POP 000035be: POP 000035bf: POP 000035c0: JUMP 000035c1: JUMPDEST 000035c2: PUSH1 0x00 000035c4: PUSH2 0x35d4 000035c7: PUSH2 0x35cf 000035ca: DUP5 000035cb: PUSH2 0x3581 000035ce: JUMP 000035cf: JUMPDEST 000035d0: PUSH2 0x3566 000035d3: JUMP 000035d4: JUMPDEST 000035d5: SWAP1 000035d6: POP 000035d7: DUP3 000035d8: DUP2 000035d9: MSTORE 000035da: PUSH1 0x20 000035dc: DUP2 000035dd: ADD 000035de: DUP5 000035df: DUP5 000035e0: DUP5 000035e1: ADD 000035e2: GT 000035e3: ISZERO 000035e4: PUSH2 0x35f0 000035e7: JUMPI 000035e8: PUSH2 0x35ef 000035eb: PUSH2 0x3501 000035ee: JUMP 000035ef: JUMPDEST 000035f0: JUMPDEST 000035f1: PUSH2 0x35fb 000035f4: DUP5 000035f5: DUP3 000035f6: DUP6 000035f7: PUSH2 0x35b2 000035fa: JUMP 000035fb: JUMPDEST 000035fc: POP 000035fd: SWAP4 000035fe: SWAP3 000035ff: POP 00003600: POP 00003601: POP 00003602: JUMP 00003603: JUMPDEST 00003604: PUSH1 0x00 00003606: DUP3 00003607: PUSH1 0x1f 00003609: DUP4 0000360a: ADD 0000360b: SLT 0000360c: PUSH2 0x3618 0000360f: JUMPI 00003610: PUSH2 0x3617 00003613: PUSH2 0x34fc 00003616: JUMP 00003617: JUMPDEST 00003618: JUMPDEST 00003619: DUP2 0000361a: CALLDATALOAD 0000361b: PUSH2 0x3628 0000361e: DUP5 0000361f: DUP3 00003620: PUSH1 0x20 00003622: DUP7 00003623: ADD 00003624: PUSH2 0x35c1 00003627: JUMP 00003628: JUMPDEST 00003629: SWAP2 0000362a: POP 0000362b: POP 0000362c: SWAP3 0000362d: SWAP2 0000362e: POP 0000362f: POP 00003630: JUMP 00003631: JUMPDEST 00003632: PUSH1 0x00 00003634: DUP1 00003635: PUSH1 0x40 00003637: DUP4 00003638: DUP6 00003639: SUB 0000363a: SLT 0000363b: ISZERO 0000363c: PUSH2 0x3648 0000363f: JUMPI 00003640: PUSH2 0x3647 00003643: PUSH2 0x313c 00003646: JUMP 00003647: JUMPDEST 00003648: JUMPDEST 00003649: PUSH1 0x00 0000364b: DUP4 0000364c: ADD 0000364d: CALLDATALOAD 0000364e: PUSH8 0xffffffffffffffff 00003657: DUP2 00003658: GT 00003659: ISZERO 0000365a: PUSH2 0x3666 0000365d: JUMPI 0000365e: PUSH2 0x3665 00003661: PUSH2 0x3141 00003664: JUMP 00003665: JUMPDEST 00003666: JUMPDEST 00003667: PUSH2 0x3672 0000366a: DUP6 0000366b: DUP3 0000366c: DUP7 0000366d: ADD 0000366e: PUSH2 0x3603 00003671: JUMP 00003672: JUMPDEST 00003673: SWAP3 00003674: POP 00003675: POP 00003676: PUSH1 0x20 00003678: DUP4 00003679: ADD 0000367a: CALLDATALOAD 0000367b: PUSH8 0xffffffffffffffff 00003684: DUP2 00003685: GT 00003686: ISZERO 00003687: PUSH2 0x3693 0000368a: JUMPI 0000368b: PUSH2 0x3692 0000368e: PUSH2 0x3141 00003691: JUMP 00003692: JUMPDEST 00003693: JUMPDEST 00003694: PUSH2 0x369f 00003697: DUP6 00003698: DUP3 00003699: DUP7 0000369a: ADD 0000369b: PUSH2 0x3603 0000369e: JUMP 0000369f: JUMPDEST 000036a0: SWAP2 000036a1: POP 000036a2: POP 000036a3: SWAP3 000036a4: POP 000036a5: SWAP3 000036a6: SWAP1 000036a7: POP 000036a8: JUMP 000036a9: JUMPDEST 000036aa: PUSH1 0x00 000036ac: PUSH1 0xff 000036ae: DUP3 000036af: AND 000036b0: SWAP1 000036b1: POP 000036b2: SWAP2 000036b3: SWAP1 000036b4: POP 000036b5: JUMP 000036b6: JUMPDEST 000036b7: PUSH2 0x36bf 000036ba: DUP2 000036bb: PUSH2 0x36a9 000036be: JUMP 000036bf: JUMPDEST 000036c0: DUP2 000036c1: EQ 000036c2: PUSH2 0x36ca 000036c5: JUMPI 000036c6: PUSH1 0x00 000036c8: DUP1 000036c9: REVERT 000036ca: JUMPDEST 000036cb: POP 000036cc: JUMP 000036cd: JUMPDEST 000036ce: PUSH1 0x00 000036d0: DUP2 000036d1: CALLDATALOAD 000036d2: SWAP1 000036d3: POP 000036d4: PUSH2 0x36dc 000036d7: DUP2 000036d8: PUSH2 0x36b6 000036db: JUMP 000036dc: JUMPDEST 000036dd: SWAP3 000036de: SWAP2 000036df: POP 000036e0: POP 000036e1: JUMP 000036e2: JUMPDEST 000036e3: PUSH1 0x00 000036e5: DUP2 000036e6: SWAP1 000036e7: POP 000036e8: SWAP2 000036e9: SWAP1 000036ea: POP 000036eb: JUMP 000036ec: JUMPDEST 000036ed: PUSH2 0x36f5 000036f0: DUP2 000036f1: PUSH2 0x36e2 000036f4: JUMP 000036f5: JUMPDEST 000036f6: DUP2 000036f7: EQ 000036f8: PUSH2 0x3700 000036fb: JUMPI 000036fc: PUSH1 0x00 000036fe: DUP1 000036ff: REVERT 00003700: JUMPDEST 00003701: POP 00003702: JUMP 00003703: JUMPDEST 00003704: PUSH1 0x00 00003706: DUP2 00003707: CALLDATALOAD 00003708: SWAP1 00003709: POP 0000370a: PUSH2 0x3712 0000370d: DUP2 0000370e: PUSH2 0x36ec 00003711: JUMP 00003712: JUMPDEST 00003713: SWAP3 00003714: SWAP2 00003715: POP 00003716: POP 00003717: JUMP 00003718: JUMPDEST 00003719: PUSH1 0x00 0000371b: DUP1 0000371c: PUSH1 0x00 0000371e: DUP1 0000371f: PUSH1 0x80 00003721: DUP6 00003722: DUP8 00003723: SUB 00003724: SLT 00003725: ISZERO 00003726: PUSH2 0x3732 00003729: JUMPI 0000372a: PUSH2 0x3731 0000372d: PUSH2 0x313c 00003730: JUMP 00003731: JUMPDEST 00003732: JUMPDEST 00003733: PUSH1 0x00 00003735: DUP6 00003736: ADD 00003737: CALLDATALOAD 00003738: PUSH8 0xffffffffffffffff 00003741: DUP2 00003742: GT 00003743: ISZERO 00003744: PUSH2 0x3750 00003747: JUMPI 00003748: PUSH2 0x374f 0000374b: PUSH2 0x3141 0000374e: JUMP 0000374f: JUMPDEST 00003750: JUMPDEST 00003751: PUSH2 0x375c 00003754: DUP8 00003755: DUP3 00003756: DUP9 00003757: ADD 00003758: PUSH2 0x3603 0000375b: JUMP 0000375c: JUMPDEST 0000375d: SWAP5 0000375e: POP 0000375f: POP 00003760: PUSH1 0x20 00003762: PUSH2 0x376d 00003765: DUP8 00003766: DUP3 00003767: DUP9 00003768: ADD 00003769: PUSH2 0x36cd 0000376c: JUMP 0000376d: JUMPDEST 0000376e: SWAP4 0000376f: POP 00003770: POP 00003771: PUSH1 0x40 00003773: PUSH2 0x377e 00003776: DUP8 00003777: DUP3 00003778: DUP9 00003779: ADD 0000377a: PUSH2 0x3703 0000377d: JUMP 0000377e: JUMPDEST 0000377f: SWAP3 00003780: POP 00003781: POP 00003782: PUSH1 0x60 00003784: PUSH2 0x378f 00003787: DUP8 00003788: DUP3 00003789: DUP9 0000378a: ADD 0000378b: PUSH2 0x3703 0000378e: JUMP 0000378f: JUMPDEST 00003790: SWAP2 00003791: POP 00003792: POP 00003793: SWAP3 00003794: SWAP6 00003795: SWAP2 00003796: SWAP5 00003797: POP 00003798: SWAP3 00003799: POP 0000379a: JUMP 0000379b: JUMPDEST 0000379c: PUSH1 0x00 0000379e: DUP1 0000379f: REVERT 000037a0: JUMPDEST 000037a1: PUSH1 0x00 000037a3: DUP2 000037a4: SWAP1 000037a5: POP 000037a6: DUP3 000037a7: PUSH1 0x20 000037a9: PUSH1 0x05 000037ab: MUL 000037ac: DUP3 000037ad: ADD 000037ae: GT 000037af: ISZERO 000037b0: PUSH2 0x37bc 000037b3: JUMPI 000037b4: PUSH2 0x37bb 000037b7: PUSH2 0x379b 000037ba: JUMP 000037bb: JUMPDEST 000037bc: JUMPDEST 000037bd: SWAP3 000037be: SWAP2 000037bf: POP 000037c0: POP 000037c1: JUMP 000037c2: JUMPDEST 000037c3: PUSH1 0x00 000037c5: DUP1 000037c6: PUSH1 0x00 000037c8: DUP1 000037c9: PUSH1 0x00 000037cb: PUSH2 0x0120 000037ce: DUP7 000037cf: DUP9 000037d0: SUB 000037d1: SLT 000037d2: ISZERO 000037d3: PUSH2 0x37df 000037d6: JUMPI 000037d7: PUSH2 0x37de 000037da: PUSH2 0x313c 000037dd: JUMP 000037de: JUMPDEST 000037df: JUMPDEST 000037e0: PUSH1 0x00 000037e2: PUSH2 0x37ed 000037e5: DUP9 000037e6: DUP3 000037e7: DUP10 000037e8: ADD 000037e9: PUSH2 0x37a0 000037ec: JUMP 000037ed: JUMPDEST 000037ee: SWAP6 000037ef: POP 000037f0: POP 000037f1: PUSH1 0xa0 000037f3: PUSH2 0x37fe 000037f6: DUP9 000037f7: DUP3 000037f8: DUP10 000037f9: ADD 000037fa: PUSH2 0x3368 000037fd: JUMP 000037fe: JUMPDEST 000037ff: SWAP5 00003800: POP 00003801: POP 00003802: PUSH1 0xc0 00003804: PUSH2 0x380f 00003807: DUP9 00003808: DUP3 00003809: DUP10 0000380a: ADD 0000380b: PUSH2 0x36cd 0000380e: JUMP 0000380f: JUMPDEST 00003810: SWAP4 00003811: POP 00003812: POP 00003813: PUSH1 0xe0 00003815: PUSH2 0x3820 00003818: DUP9 00003819: DUP3 0000381a: DUP10 0000381b: ADD 0000381c: PUSH2 0x3703 0000381f: JUMP 00003820: JUMPDEST 00003821: SWAP3 00003822: POP 00003823: POP 00003824: PUSH2 0x0100 00003827: PUSH2 0x3832 0000382a: DUP9 0000382b: DUP3 0000382c: DUP10 0000382d: ADD 0000382e: PUSH2 0x3703 00003831: JUMP 00003832: JUMPDEST 00003833: SWAP2 00003834: POP 00003835: POP 00003836: SWAP3 00003837: SWAP6 00003838: POP 00003839: SWAP3 0000383a: SWAP6 0000383b: SWAP1 0000383c: SWAP4 0000383d: POP 0000383e: JUMP 0000383f: JUMPDEST 00003840: PUSH1 0x00 00003842: DUP1 00003843: PUSH1 0x00 00003845: PUSH1 0x60 00003847: DUP5 00003848: DUP7 00003849: SUB 0000384a: SLT 0000384b: ISZERO 0000384c: PUSH2 0x3858 0000384f: JUMPI 00003850: PUSH2 0x3857 00003853: PUSH2 0x313c 00003856: JUMP 00003857: JUMPDEST 00003858: JUMPDEST 00003859: PUSH1 0x00 0000385b: PUSH2 0x3866 0000385e: DUP7 0000385f: DUP3 00003860: DUP8 00003861: ADD 00003862: PUSH2 0x324a 00003865: JUMP 00003866: JUMPDEST 00003867: SWAP4 00003868: POP 00003869: POP 0000386a: PUSH1 0x20 0000386c: DUP5 0000386d: ADD 0000386e: CALLDATALOAD 0000386f: PUSH8 0xffffffffffffffff 00003878: DUP2 00003879: GT 0000387a: ISZERO 0000387b: PUSH2 0x3887 0000387e: JUMPI 0000387f: PUSH2 0x3886 00003882: PUSH2 0x3141 00003885: JUMP 00003886: JUMPDEST 00003887: JUMPDEST 00003888: PUSH2 0x3893 0000388b: DUP7 0000388c: DUP3 0000388d: DUP8 0000388e: ADD 0000388f: PUSH2 0x3603 00003892: JUMP 00003893: JUMPDEST 00003894: SWAP3 00003895: POP 00003896: POP 00003897: PUSH1 0x40 00003899: PUSH2 0x38a4 0000389c: DUP7 0000389d: DUP3 0000389e: DUP8 0000389f: ADD 000038a0: PUSH2 0x3368 000038a3: JUMP 000038a4: JUMPDEST 000038a5: SWAP2 000038a6: POP 000038a7: POP 000038a8: SWAP3 000038a9: POP 000038aa: SWAP3 000038ab: POP 000038ac: SWAP3 000038ad: JUMP 000038ae: JUMPDEST 000038af: PUSH1 0x00 000038b1: DUP1 000038b2: PUSH1 0x00 000038b4: DUP1 000038b5: PUSH1 0x80 000038b7: DUP6 000038b8: DUP8 000038b9: SUB 000038ba: SLT 000038bb: ISZERO 000038bc: PUSH2 0x38c8 000038bf: JUMPI 000038c0: PUSH2 0x38c7 000038c3: PUSH2 0x313c 000038c6: JUMP 000038c7: JUMPDEST 000038c8: JUMPDEST 000038c9: PUSH1 0x00 000038cb: PUSH2 0x38d6 000038ce: DUP8 000038cf: DUP3 000038d0: DUP9 000038d1: ADD 000038d2: PUSH2 0x3368 000038d5: JUMP 000038d6: JUMPDEST 000038d7: SWAP5 000038d8: POP 000038d9: POP 000038da: PUSH1 0x20 000038dc: PUSH2 0x38e7 000038df: DUP8 000038e0: DUP3 000038e1: DUP9 000038e2: ADD 000038e3: PUSH2 0x36cd 000038e6: JUMP 000038e7: JUMPDEST 000038e8: SWAP4 000038e9: POP 000038ea: POP 000038eb: PUSH1 0x40 000038ed: PUSH2 0x38f8 000038f0: DUP8 000038f1: DUP3 000038f2: DUP9 000038f3: ADD 000038f4: PUSH2 0x3703 000038f7: JUMP 000038f8: JUMPDEST 000038f9: SWAP3 000038fa: POP 000038fb: POP 000038fc: PUSH1 0x60 000038fe: PUSH2 0x3909 00003901: DUP8 00003902: DUP3 00003903: DUP9 00003904: ADD 00003905: PUSH2 0x3703 00003908: JUMP 00003909: JUMPDEST 0000390a: SWAP2 0000390b: POP 0000390c: POP 0000390d: SWAP3 0000390e: SWAP6 0000390f: SWAP2 00003910: SWAP5 00003911: POP 00003912: SWAP3 00003913: POP 00003914: JUMP 00003915: JUMPDEST 00003916: PUSH2 0x391e 00003919: DUP2 0000391a: PUSH2 0x31cb 0000391d: JUMP 0000391e: JUMPDEST 0000391f: DUP2 00003920: EQ 00003921: PUSH2 0x3929 00003924: JUMPI 00003925: PUSH1 0x00 00003927: DUP1 00003928: REVERT 00003929: JUMPDEST 0000392a: POP 0000392b: JUMP 0000392c: JUMPDEST 0000392d: PUSH1 0x00 0000392f: DUP2 00003930: CALLDATALOAD 00003931: SWAP1 00003932: POP 00003933: PUSH2 0x393b 00003936: DUP2 00003937: PUSH2 0x3915 0000393a: JUMP 0000393b: JUMPDEST 0000393c: SWAP3 0000393d: SWAP2 0000393e: POP 0000393f: POP 00003940: JUMP 00003941: JUMPDEST 00003942: PUSH1 0x00 00003944: DUP1 00003945: PUSH1 0x40 00003947: DUP4 00003948: DUP6 00003949: SUB 0000394a: SLT 0000394b: ISZERO 0000394c: PUSH2 0x3958 0000394f: JUMPI 00003950: PUSH2 0x3957 00003953: PUSH2 0x313c 00003956: JUMP 00003957: JUMPDEST 00003958: JUMPDEST 00003959: PUSH1 0x00 0000395b: PUSH2 0x3966 0000395e: DUP6 0000395f: DUP3 00003960: DUP7 00003961: ADD 00003962: PUSH2 0x324a 00003965: JUMP 00003966: JUMPDEST 00003967: SWAP3 00003968: POP 00003969: POP 0000396a: PUSH1 0x20 0000396c: PUSH2 0x3977 0000396f: DUP6 00003970: DUP3 00003971: DUP7 00003972: ADD 00003973: PUSH2 0x392c 00003976: JUMP 00003977: JUMPDEST 00003978: SWAP2 00003979: POP 0000397a: POP 0000397b: SWAP3 0000397c: POP 0000397d: SWAP3 0000397e: SWAP1 0000397f: POP 00003980: JUMP 00003981: JUMPDEST 00003982: PUSH1 0x00 00003984: PUSH8 0xffffffffffffffff 0000398d: DUP3 0000398e: GT 0000398f: ISZERO 00003990: PUSH2 0x399c 00003993: JUMPI 00003994: PUSH2 0x399b 00003997: PUSH2 0x3506 0000399a: JUMP 0000399b: JUMPDEST 0000399c: JUMPDEST 0000399d: PUSH2 0x39a5 000039a0: DUP3 000039a1: PUSH2 0x32db 000039a4: JUMP 000039a5: JUMPDEST 000039a6: SWAP1 000039a7: POP 000039a8: PUSH1 0x20 000039aa: DUP2 000039ab: ADD 000039ac: SWAP1 000039ad: POP 000039ae: SWAP2 000039af: SWAP1 000039b0: POP 000039b1: JUMP 000039b2: JUMPDEST 000039b3: PUSH1 0x00 000039b5: PUSH2 0x39c5 000039b8: PUSH2 0x39c0 000039bb: DUP5 000039bc: PUSH2 0x3981 000039bf: JUMP 000039c0: JUMPDEST 000039c1: PUSH2 0x3566 000039c4: JUMP 000039c5: JUMPDEST 000039c6: SWAP1 000039c7: POP 000039c8: DUP3 000039c9: DUP2 000039ca: MSTORE 000039cb: PUSH1 0x20 000039cd: DUP2 000039ce: ADD 000039cf: DUP5 000039d0: DUP5 000039d1: DUP5 000039d2: ADD 000039d3: GT 000039d4: ISZERO 000039d5: PUSH2 0x39e1 000039d8: JUMPI 000039d9: PUSH2 0x39e0 000039dc: PUSH2 0x3501 000039df: JUMP 000039e0: JUMPDEST 000039e1: JUMPDEST 000039e2: PUSH2 0x39ec 000039e5: DUP5 000039e6: DUP3 000039e7: DUP6 000039e8: PUSH2 0x35b2 000039eb: JUMP 000039ec: JUMPDEST 000039ed: POP 000039ee: SWAP4 000039ef: SWAP3 000039f0: POP 000039f1: POP 000039f2: POP 000039f3: JUMP 000039f4: JUMPDEST 000039f5: PUSH1 0x00 000039f7: DUP3 000039f8: PUSH1 0x1f 000039fa: DUP4 000039fb: ADD 000039fc: SLT 000039fd: PUSH2 0x3a09 00003a00: JUMPI 00003a01: PUSH2 0x3a08 00003a04: PUSH2 0x34fc 00003a07: JUMP 00003a08: JUMPDEST 00003a09: JUMPDEST 00003a0a: DUP2 00003a0b: CALLDATALOAD 00003a0c: PUSH2 0x3a19 00003a0f: DUP5 00003a10: DUP3 00003a11: PUSH1 0x20 00003a13: DUP7 00003a14: ADD 00003a15: PUSH2 0x39b2 00003a18: JUMP 00003a19: JUMPDEST 00003a1a: SWAP2 00003a1b: POP 00003a1c: POP 00003a1d: SWAP3 00003a1e: SWAP2 00003a1f: POP 00003a20: POP 00003a21: JUMP 00003a22: JUMPDEST 00003a23: PUSH1 0x00 00003a25: DUP1 00003a26: PUSH1 0x00 00003a28: DUP1 00003a29: PUSH1 0x80 00003a2b: DUP6 00003a2c: DUP8 00003a2d: SUB 00003a2e: SLT 00003a2f: ISZERO 00003a30: PUSH2 0x3a3c 00003a33: JUMPI 00003a34: PUSH2 0x3a3b 00003a37: PUSH2 0x313c 00003a3a: JUMP 00003a3b: JUMPDEST 00003a3c: JUMPDEST 00003a3d: PUSH1 0x00 00003a3f: PUSH2 0x3a4a 00003a42: DUP8 00003a43: DUP3 00003a44: DUP9 00003a45: ADD 00003a46: PUSH2 0x324a 00003a49: JUMP 00003a4a: JUMPDEST 00003a4b: SWAP5 00003a4c: POP 00003a4d: POP 00003a4e: PUSH1 0x20 00003a50: PUSH2 0x3a5b 00003a53: DUP8 00003a54: DUP3 00003a55: DUP9 00003a56: ADD 00003a57: PUSH2 0x324a 00003a5a: JUMP 00003a5b: JUMPDEST 00003a5c: SWAP4 00003a5d: POP 00003a5e: POP 00003a5f: PUSH1 0x40 00003a61: PUSH2 0x3a6c 00003a64: DUP8 00003a65: DUP3 00003a66: DUP9 00003a67: ADD 00003a68: PUSH2 0x3368 00003a6b: JUMP 00003a6c: JUMPDEST 00003a6d: SWAP3 00003a6e: POP 00003a6f: POP 00003a70: PUSH1 0x60 00003a72: DUP6 00003a73: ADD 00003a74: CALLDATALOAD 00003a75: PUSH8 0xffffffffffffffff 00003a7e: DUP2 00003a7f: GT 00003a80: ISZERO 00003a81: PUSH2 0x3a8d 00003a84: JUMPI 00003a85: PUSH2 0x3a8c 00003a88: PUSH2 0x3141 00003a8b: JUMP 00003a8c: JUMPDEST 00003a8d: JUMPDEST 00003a8e: PUSH2 0x3a99 00003a91: DUP8 00003a92: DUP3 00003a93: DUP9 00003a94: ADD 00003a95: PUSH2 0x39f4 00003a98: JUMP 00003a99: JUMPDEST 00003a9a: SWAP2 00003a9b: POP 00003a9c: POP 00003a9d: SWAP3 00003a9e: SWAP6 00003a9f: SWAP2 00003aa0: SWAP5 00003aa1: POP 00003aa2: SWAP3 00003aa3: POP 00003aa4: JUMP 00003aa5: JUMPDEST 00003aa6: PUSH1 0x00 00003aa8: DUP1 00003aa9: PUSH1 0x40 00003aab: DUP4 00003aac: DUP6 00003aad: SUB 00003aae: SLT 00003aaf: ISZERO 00003ab0: PUSH2 0x3abc 00003ab3: JUMPI 00003ab4: PUSH2 0x3abb 00003ab7: PUSH2 0x313c 00003aba: JUMP 00003abb: JUMPDEST 00003abc: JUMPDEST 00003abd: PUSH1 0x00 00003abf: PUSH2 0x3aca 00003ac2: DUP6 00003ac3: DUP3 00003ac4: DUP7 00003ac5: ADD 00003ac6: PUSH2 0x3368 00003ac9: JUMP 00003aca: JUMPDEST 00003acb: SWAP3 00003acc: POP 00003acd: POP 00003ace: PUSH1 0x20 00003ad0: PUSH2 0x3adb 00003ad3: DUP6 00003ad4: DUP3 00003ad5: DUP7 00003ad6: ADD 00003ad7: PUSH2 0x324a 00003ada: JUMP 00003adb: JUMPDEST 00003adc: SWAP2 00003add: POP 00003ade: POP 00003adf: SWAP3 00003ae0: POP 00003ae1: SWAP3 00003ae2: SWAP1 00003ae3: POP 00003ae4: JUMP 00003ae5: JUMPDEST 00003ae6: PUSH1 0x00 00003ae8: DUP1 00003ae9: PUSH1 0x40 00003aeb: DUP4 00003aec: DUP6 00003aed: SUB 00003aee: SLT 00003aef: ISZERO 00003af0: PUSH2 0x3afc 00003af3: JUMPI 00003af4: PUSH2 0x3afb 00003af7: PUSH2 0x313c 00003afa: JUMP 00003afb: JUMPDEST 00003afc: JUMPDEST 00003afd: PUSH1 0x00 00003aff: PUSH2 0x3b0a 00003b02: DUP6 00003b03: DUP3 00003b04: DUP7 00003b05: ADD 00003b06: PUSH2 0x324a 00003b09: JUMP 00003b0a: JUMPDEST 00003b0b: SWAP3 00003b0c: POP 00003b0d: POP 00003b0e: PUSH1 0x20 00003b10: PUSH2 0x3b1b 00003b13: DUP6 00003b14: DUP3 00003b15: DUP7 00003b16: ADD 00003b17: PUSH2 0x324a 00003b1a: JUMP 00003b1b: JUMPDEST 00003b1c: SWAP2 00003b1d: POP 00003b1e: POP 00003b1f: SWAP3 00003b20: POP 00003b21: SWAP3 00003b22: SWAP1 00003b23: POP 00003b24: JUMP 00003b25: JUMPDEST 00003b26: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003b47: PUSH1 0x00 00003b49: MSTORE 00003b4a: PUSH1 0x22 00003b4c: PUSH1 0x04 00003b4e: MSTORE 00003b4f: PUSH1 0x24 00003b51: PUSH1 0x00 00003b53: REVERT 00003b54: JUMPDEST 00003b55: PUSH1 0x00 00003b57: PUSH1 0x02 00003b59: DUP3 00003b5a: DIV 00003b5b: SWAP1 00003b5c: POP 00003b5d: PUSH1 0x01 00003b5f: DUP3 00003b60: AND 00003b61: DUP1 00003b62: PUSH2 0x3b6c 00003b65: JUMPI 00003b66: PUSH1 0x7f 00003b68: DUP3 00003b69: AND 00003b6a: SWAP2 00003b6b: POP 00003b6c: JUMPDEST 00003b6d: PUSH1 0x20 00003b6f: DUP3 00003b70: LT 00003b71: DUP2 00003b72: SUB 00003b73: PUSH2 0x3b7f 00003b76: JUMPI 00003b77: PUSH2 0x3b7e 00003b7a: PUSH2 0x3b25 00003b7d: JUMP 00003b7e: JUMPDEST 00003b7f: JUMPDEST 00003b80: POP 00003b81: SWAP2 00003b82: SWAP1 00003b83: POP 00003b84: JUMP 00003b85: JUMPDEST 00003b86: PUSH32 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65 00003ba7: PUSH1 0x00 00003ba9: DUP3 00003baa: ADD 00003bab: MSTORE 00003bac: PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000 00003bcd: PUSH1 0x20 00003bcf: DUP3 00003bd0: ADD 00003bd1: MSTORE 00003bd2: POP 00003bd3: JUMP 00003bd4: JUMPDEST 00003bd5: PUSH1 0x00 00003bd7: PUSH2 0x3be1 00003bda: PUSH1 0x21 00003bdc: DUP4 00003bdd: PUSH2 0x3297 00003be0: JUMP 00003be1: JUMPDEST 00003be2: SWAP2 00003be3: POP 00003be4: PUSH2 0x3bec 00003be7: DUP3 00003be8: PUSH2 0x3b85 00003beb: JUMP 00003bec: JUMPDEST 00003bed: PUSH1 0x40 00003bef: DUP3 00003bf0: ADD 00003bf1: SWAP1 00003bf2: POP 00003bf3: SWAP2 00003bf4: SWAP1 00003bf5: POP 00003bf6: JUMP 00003bf7: JUMPDEST 00003bf8: PUSH1 0x00 00003bfa: PUSH1 0x20 00003bfc: DUP3 00003bfd: ADD 00003bfe: SWAP1 00003bff: POP 00003c00: DUP2 00003c01: DUP2 00003c02: SUB 00003c03: PUSH1 0x00 00003c05: DUP4 00003c06: ADD 00003c07: MSTORE 00003c08: PUSH2 0x3c10 00003c0b: DUP2 00003c0c: PUSH2 0x3bd4 00003c0f: JUMP 00003c10: JUMPDEST 00003c11: SWAP1 00003c12: POP 00003c13: SWAP2 00003c14: SWAP1 00003c15: POP 00003c16: JUMP 00003c17: JUMPDEST 00003c18: PUSH32 0x4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f 00003c39: PUSH1 0x00 00003c3b: DUP3 00003c3c: ADD 00003c3d: MSTORE 00003c3e: PUSH32 0x6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000 00003c5f: PUSH1 0x20 00003c61: DUP3 00003c62: ADD 00003c63: MSTORE 00003c64: POP 00003c65: JUMP 00003c66: JUMPDEST 00003c67: PUSH1 0x00 00003c69: PUSH2 0x3c73 00003c6c: PUSH1 0x3e 00003c6e: DUP4 00003c6f: PUSH2 0x3297 00003c72: JUMP 00003c73: JUMPDEST 00003c74: SWAP2 00003c75: POP 00003c76: PUSH2 0x3c7e 00003c79: DUP3 00003c7a: PUSH2 0x3c17 00003c7d: JUMP 00003c7e: JUMPDEST 00003c7f: PUSH1 0x40 00003c81: DUP3 00003c82: ADD 00003c83: SWAP1 00003c84: POP 00003c85: SWAP2 00003c86: SWAP1 00003c87: POP 00003c88: JUMP 00003c89: JUMPDEST 00003c8a: PUSH1 0x00 00003c8c: PUSH1 0x20 00003c8e: DUP3 00003c8f: ADD 00003c90: SWAP1 00003c91: POP 00003c92: DUP2 00003c93: DUP2 00003c94: SUB 00003c95: PUSH1 0x00 00003c97: DUP4 00003c98: ADD 00003c99: MSTORE 00003c9a: PUSH2 0x3ca2 00003c9d: DUP2 00003c9e: PUSH2 0x3c66 00003ca1: JUMP 00003ca2: JUMPDEST 00003ca3: SWAP1 00003ca4: POP 00003ca5: SWAP2 00003ca6: SWAP1 00003ca7: POP 00003ca8: JUMP 00003ca9: JUMPDEST 00003caa: PUSH32 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65 00003ccb: PUSH1 0x00 00003ccd: DUP3 00003cce: ADD 00003ccf: MSTORE 00003cd0: PUSH32 0x72206e6f7220617070726f766564000000000000000000000000000000000000 00003cf1: PUSH1 0x20 00003cf3: DUP3 00003cf4: ADD 00003cf5: MSTORE 00003cf6: POP 00003cf7: JUMP 00003cf8: JUMPDEST 00003cf9: PUSH1 0x00 00003cfb: PUSH2 0x3d05 00003cfe: PUSH1 0x2e 00003d00: DUP4 00003d01: PUSH2 0x3297 00003d04: JUMP 00003d05: JUMPDEST 00003d06: SWAP2 00003d07: POP 00003d08: PUSH2 0x3d10 00003d0b: DUP3 00003d0c: PUSH2 0x3ca9 00003d0f: JUMP 00003d10: JUMPDEST 00003d11: PUSH1 0x40 00003d13: DUP3 00003d14: ADD 00003d15: SWAP1 00003d16: POP 00003d17: SWAP2 00003d18: SWAP1 00003d19: POP 00003d1a: JUMP 00003d1b: JUMPDEST 00003d1c: PUSH1 0x00 00003d1e: PUSH1 0x20 00003d20: DUP3 00003d21: ADD 00003d22: SWAP1 00003d23: POP 00003d24: DUP2 00003d25: DUP2 00003d26: SUB 00003d27: PUSH1 0x00 00003d29: DUP4 00003d2a: ADD 00003d2b: MSTORE 00003d2c: PUSH2 0x3d34 00003d2f: DUP2 00003d30: PUSH2 0x3cf8 00003d33: JUMP 00003d34: JUMPDEST 00003d35: SWAP1 00003d36: POP 00003d37: SWAP2 00003d38: SWAP1 00003d39: POP 00003d3a: JUMP 00003d3b: JUMPDEST 00003d3c: PUSH2 0x3d44 00003d3f: DUP2 00003d40: PUSH2 0x3491 00003d43: JUMP 00003d44: JUMPDEST 00003d45: DUP3 00003d46: MSTORE 00003d47: POP 00003d48: POP 00003d49: JUMP 00003d4a: JUMPDEST 00003d4b: PUSH1 0x00 00003d4d: PUSH1 0x20 00003d4f: DUP3 00003d50: ADD 00003d51: SWAP1 00003d52: POP 00003d53: PUSH2 0x3d5f 00003d56: PUSH1 0x00 00003d58: DUP4 00003d59: ADD 00003d5a: DUP5 00003d5b: PUSH2 0x3d3b 00003d5e: JUMP 00003d5f: JUMPDEST 00003d60: SWAP3 00003d61: SWAP2 00003d62: POP 00003d63: POP 00003d64: JUMP 00003d65: JUMPDEST 00003d66: PUSH32 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000 00003d87: PUSH1 0x00 00003d89: DUP3 00003d8a: ADD 00003d8b: MSTORE 00003d8c: POP 00003d8d: JUMP 00003d8e: JUMPDEST 00003d8f: PUSH1 0x00 00003d91: PUSH2 0x3d9b 00003d94: PUSH1 0x18 00003d96: DUP4 00003d97: PUSH2 0x3297 00003d9a: JUMP 00003d9b: JUMPDEST 00003d9c: SWAP2 00003d9d: POP 00003d9e: PUSH2 0x3da6 00003da1: DUP3 00003da2: PUSH2 0x3d65 00003da5: JUMP 00003da6: JUMPDEST 00003da7: PUSH1 0x20 00003da9: DUP3 00003daa: ADD 00003dab: SWAP1 00003dac: POP 00003dad: SWAP2 00003dae: SWAP1 00003daf: POP 00003db0: JUMP 00003db1: JUMPDEST 00003db2: PUSH1 0x00 00003db4: PUSH1 0x20 00003db6: DUP3 00003db7: ADD 00003db8: SWAP1 00003db9: POP 00003dba: DUP2 00003dbb: DUP2 00003dbc: SUB 00003dbd: PUSH1 0x00 00003dbf: DUP4 00003dc0: ADD 00003dc1: MSTORE 00003dc2: PUSH2 0x3dca 00003dc5: DUP2 00003dc6: PUSH2 0x3d8e 00003dc9: JUMP 00003dca: JUMPDEST 00003dcb: SWAP1 00003dcc: POP 00003dcd: SWAP2 00003dce: SWAP1 00003dcf: POP 00003dd0: JUMP 00003dd1: JUMPDEST 00003dd2: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a000000000000 00003df3: DUP2 00003df4: MSTORE 00003df5: POP 00003df6: JUMP 00003df7: JUMPDEST 00003df8: PUSH1 0x00 00003dfa: DUP2 00003dfb: SWAP1 00003dfc: POP 00003dfd: SWAP3 00003dfe: SWAP2 00003dff: POP 00003e00: POP 00003e01: JUMP 00003e02: JUMPDEST 00003e03: PUSH1 0x00 00003e05: PUSH2 0x3e0d 00003e08: DUP3 00003e09: PUSH2 0x328c 00003e0c: JUMP 00003e0d: JUMPDEST 00003e0e: PUSH2 0x3e17 00003e11: DUP2 00003e12: DUP6 00003e13: PUSH2 0x3df7 00003e16: JUMP 00003e17: JUMPDEST 00003e18: SWAP4 00003e19: POP 00003e1a: PUSH2 0x3e27 00003e1d: DUP2 00003e1e: DUP6 00003e1f: PUSH1 0x20 00003e21: DUP7 00003e22: ADD 00003e23: PUSH2 0x32a8 00003e26: JUMP 00003e27: JUMPDEST 00003e28: DUP1 00003e29: DUP5 00003e2a: ADD 00003e2b: SWAP2 00003e2c: POP 00003e2d: POP 00003e2e: SWAP3 00003e2f: SWAP2 00003e30: POP 00003e31: POP 00003e32: JUMP 00003e33: JUMPDEST 00003e34: PUSH1 0x00 00003e36: PUSH2 0x3e3e 00003e39: DUP3 00003e3a: PUSH2 0x3dd1 00003e3d: JUMP 00003e3e: JUMPDEST 00003e3f: PUSH1 0x1a 00003e41: DUP3 00003e42: ADD 00003e43: SWAP2 00003e44: POP 00003e45: PUSH2 0x3e4e 00003e48: DUP3 00003e49: DUP5 00003e4a: PUSH2 0x3e02 00003e4d: JUMP 00003e4e: JUMPDEST 00003e4f: SWAP2 00003e50: POP 00003e51: DUP2 00003e52: SWAP1 00003e53: POP 00003e54: SWAP3 00003e55: SWAP2 00003e56: POP 00003e57: POP 00003e58: JUMP 00003e59: JUMPDEST 00003e5a: PUSH1 0x00 00003e5c: PUSH2 0x3e65 00003e5f: DUP3 00003e60: DUP6 00003e61: PUSH2 0x3e02 00003e64: JUMP 00003e65: JUMPDEST 00003e66: SWAP2 00003e67: POP 00003e68: PUSH2 0x3e71 00003e6b: DUP3 00003e6c: DUP5 00003e6d: PUSH2 0x3e02 00003e70: JUMP 00003e71: JUMPDEST 00003e72: SWAP2 00003e73: POP 00003e74: DUP2 00003e75: SWAP1 00003e76: POP 00003e77: SWAP4 00003e78: SWAP3 00003e79: POP 00003e7a: POP 00003e7b: POP 00003e7c: JUMP 00003e7d: JUMPDEST 00003e7e: PUSH2 0x3e86 00003e81: DUP2 00003e82: PUSH2 0x36e2 00003e85: JUMP 00003e86: JUMPDEST 00003e87: DUP3 00003e88: MSTORE 00003e89: POP 00003e8a: POP 00003e8b: JUMP 00003e8c: JUMPDEST 00003e8d: PUSH2 0x3e95 00003e90: DUP2 00003e91: PUSH2 0x36a9 00003e94: JUMP 00003e95: JUMPDEST 00003e96: DUP3 00003e97: MSTORE 00003e98: POP 00003e99: POP 00003e9a: JUMP 00003e9b: JUMPDEST 00003e9c: PUSH1 0x00 00003e9e: PUSH1 0x80 00003ea0: DUP3 00003ea1: ADD 00003ea2: SWAP1 00003ea3: POP 00003ea4: PUSH2 0x3eb0 00003ea7: PUSH1 0x00 00003ea9: DUP4 00003eaa: ADD 00003eab: DUP8 00003eac: PUSH2 0x3e7d 00003eaf: JUMP 00003eb0: JUMPDEST 00003eb1: PUSH2 0x3ebd 00003eb4: PUSH1 0x20 00003eb6: DUP4 00003eb7: ADD 00003eb8: DUP7 00003eb9: PUSH2 0x3e8c 00003ebc: JUMP 00003ebd: JUMPDEST 00003ebe: PUSH2 0x3eca 00003ec1: PUSH1 0x40 00003ec3: DUP4 00003ec4: ADD 00003ec5: DUP6 00003ec6: PUSH2 0x3e7d 00003ec9: JUMP 00003eca: JUMPDEST 00003ecb: PUSH2 0x3ed7 00003ece: PUSH1 0x60 00003ed0: DUP4 00003ed1: ADD 00003ed2: DUP5 00003ed3: PUSH2 0x3e7d 00003ed6: JUMP 00003ed7: JUMPDEST 00003ed8: SWAP6 00003ed9: SWAP5 00003eda: POP 00003edb: POP 00003edc: POP 00003edd: POP 00003ede: POP 00003edf: JUMP 00003ee0: JUMPDEST 00003ee1: PUSH32 0x4552433732313a2061646472657373207a65726f206973206e6f742061207661 00003f02: PUSH1 0x00 00003f04: DUP3 00003f05: ADD 00003f06: MSTORE 00003f07: PUSH32 0x6c6964206f776e65720000000000000000000000000000000000000000000000 00003f28: PUSH1 0x20 00003f2a: DUP3 00003f2b: ADD 00003f2c: MSTORE 00003f2d: POP 00003f2e: JUMP 00003f2f: JUMPDEST 00003f30: PUSH1 0x00 00003f32: PUSH2 0x3f3c 00003f35: PUSH1 0x29 00003f37: DUP4 00003f38: PUSH2 0x3297 00003f3b: JUMP 00003f3c: JUMPDEST 00003f3d: SWAP2 00003f3e: POP 00003f3f: PUSH2 0x3f47 00003f42: DUP3 00003f43: PUSH2 0x3ee0 00003f46: JUMP 00003f47: JUMPDEST 00003f48: PUSH1 0x40 00003f4a: DUP3 00003f4b: ADD 00003f4c: SWAP1 00003f4d: POP 00003f4e: SWAP2 00003f4f: SWAP1 00003f50: POP 00003f51: JUMP 00003f52: JUMPDEST 00003f53: PUSH1 0x00 00003f55: PUSH1 0x20 00003f57: DUP3 00003f58: ADD 00003f59: SWAP1 00003f5a: POP 00003f5b: DUP2 00003f5c: DUP2 00003f5d: SUB 00003f5e: PUSH1 0x00 00003f60: DUP4 00003f61: ADD 00003f62: MSTORE 00003f63: PUSH2 0x3f6b 00003f66: DUP2 00003f67: PUSH2 0x3f2f 00003f6a: JUMP 00003f6b: JUMPDEST 00003f6c: SWAP1 00003f6d: POP 00003f6e: SWAP2 00003f6f: SWAP1 00003f70: POP 00003f71: JUMP 00003f72: JUMPDEST 00003f73: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003f94: PUSH1 0x00 00003f96: MSTORE 00003f97: PUSH1 0x32 00003f99: PUSH1 0x04 00003f9b: MSTORE 00003f9c: PUSH1 0x24 00003f9e: PUSH1 0x00 00003fa0: REVERT 00003fa1: JUMPDEST 00003fa2: PUSH32 0x596f7520646f6e2774206f776e2074686973204e465400000000000000000000 00003fc3: PUSH1 0x00 00003fc5: DUP3 00003fc6: ADD 00003fc7: MSTORE 00003fc8: POP 00003fc9: JUMP 00003fca: JUMPDEST 00003fcb: PUSH1 0x00 00003fcd: PUSH2 0x3fd7 00003fd0: PUSH1 0x16 00003fd2: DUP4 00003fd3: PUSH2 0x3297 00003fd6: JUMP 00003fd7: JUMPDEST 00003fd8: SWAP2 00003fd9: POP 00003fda: PUSH2 0x3fe2 00003fdd: DUP3 00003fde: PUSH2 0x3fa1 00003fe1: JUMP 00003fe2: JUMPDEST 00003fe3: PUSH1 0x20 00003fe5: DUP3 00003fe6: ADD 00003fe7: SWAP1 00003fe8: POP 00003fe9: SWAP2 00003fea: SWAP1 00003feb: POP 00003fec: JUMP 00003fed: JUMPDEST 00003fee: PUSH1 0x00 00003ff0: PUSH1 0x20 00003ff2: DUP3 00003ff3: ADD 00003ff4: SWAP1 00003ff5: POP 00003ff6: DUP2 00003ff7: DUP2 00003ff8: SUB 00003ff9: PUSH1 0x00 00003ffb: DUP4 00003ffc: ADD 00003ffd: MSTORE 00003ffe: PUSH2 0x4006 00004001: DUP2 00004002: PUSH2 0x3fca 00004005: JUMP 00004006: JUMPDEST 00004007: SWAP1 00004008: POP 00004009: SWAP2 0000400a: SWAP1 0000400b: POP 0000400c: JUMP 0000400d: JUMPDEST 0000400e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000402f: PUSH1 0x00 00004031: MSTORE 00004032: PUSH1 0x11 00004034: PUSH1 0x04 00004036: MSTORE 00004037: PUSH1 0x24 00004039: PUSH1 0x00 0000403b: REVERT 0000403c: JUMPDEST 0000403d: PUSH1 0x00 0000403f: PUSH2 0x4047 00004042: DUP3 00004043: PUSH2 0x3347 00004046: JUMP 00004047: JUMPDEST 00004048: SWAP2 00004049: POP 0000404a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000406b: DUP3 0000406c: SUB 0000406d: PUSH2 0x4079 00004070: JUMPI 00004071: PUSH2 0x4078 00004074: PUSH2 0x400d 00004077: JUMP 00004078: JUMPDEST 00004079: JUMPDEST 0000407a: PUSH1 0x01 0000407c: DUP3 0000407d: ADD 0000407e: SWAP1 0000407f: POP 00004080: SWAP2 00004081: SWAP1 00004082: POP 00004083: JUMP 00004084: JUMPDEST 00004085: PUSH1 0x00 00004087: PUSH2 0x4090 0000408a: DUP3 0000408b: DUP9 0000408c: PUSH2 0x3e02 0000408f: JUMP 00004090: JUMPDEST 00004091: SWAP2 00004092: POP 00004093: PUSH2 0x409c 00004096: DUP3 00004097: DUP8 00004098: PUSH2 0x3e02 0000409b: JUMP 0000409c: JUMPDEST 0000409d: SWAP2 0000409e: POP 0000409f: PUSH2 0x40a8 000040a2: DUP3 000040a3: DUP7 000040a4: PUSH2 0x3e02 000040a7: JUMP 000040a8: JUMPDEST 000040a9: SWAP2 000040aa: POP 000040ab: PUSH2 0x40b4 000040ae: DUP3 000040af: DUP6 000040b0: PUSH2 0x3e02 000040b3: JUMP 000040b4: JUMPDEST 000040b5: SWAP2 000040b6: POP 000040b7: PUSH2 0x40c0 000040ba: DUP3 000040bb: DUP5 000040bc: PUSH2 0x3e02 000040bf: JUMP 000040c0: JUMPDEST 000040c1: SWAP2 000040c2: POP 000040c3: DUP2 000040c4: SWAP1 000040c5: POP 000040c6: SWAP7 000040c7: SWAP6 000040c8: POP 000040c9: POP 000040ca: POP 000040cb: POP 000040cc: POP 000040cd: POP 000040ce: JUMP 000040cf: JUMPDEST 000040d0: PUSH32 0x7361637269666963650000000000000000000000000000000000000000000000 000040f1: DUP2 000040f2: MSTORE 000040f3: POP 000040f4: JUMP 000040f5: JUMPDEST 000040f6: PUSH1 0x00 000040f8: PUSH2 0x4101 000040fb: DUP3 000040fc: DUP8 000040fd: PUSH2 0x3e02 00004100: JUMP 00004101: JUMPDEST 00004102: SWAP2 00004103: POP 00004104: PUSH2 0x410c 00004107: DUP3 00004108: PUSH2 0x40cf 0000410b: JUMP 0000410c: JUMPDEST 0000410d: PUSH1 0x09 0000410f: DUP3 00004110: ADD 00004111: SWAP2 00004112: POP 00004113: PUSH2 0x411c 00004116: DUP3 00004117: DUP7 00004118: PUSH2 0x3e02 0000411b: JUMP 0000411c: JUMPDEST 0000411d: SWAP2 0000411e: POP 0000411f: PUSH2 0x4128 00004122: DUP3 00004123: DUP6 00004124: PUSH2 0x3e02 00004127: JUMP 00004128: JUMPDEST 00004129: SWAP2 0000412a: POP 0000412b: PUSH2 0x4134 0000412e: DUP3 0000412f: DUP5 00004130: PUSH2 0x3e02 00004133: JUMP 00004134: JUMPDEST 00004135: SWAP2 00004136: POP 00004137: DUP2 00004138: SWAP1 00004139: POP 0000413a: SWAP6 0000413b: SWAP5 0000413c: POP 0000413d: POP 0000413e: POP 0000413f: POP 00004140: POP 00004141: JUMP 00004142: JUMPDEST 00004143: PUSH32 0x496e76616c6964207369676e6174757265212121214146415346415346000000 00004164: PUSH1 0x00 00004166: DUP3 00004167: ADD 00004168: MSTORE 00004169: POP 0000416a: JUMP 0000416b: JUMPDEST 0000416c: PUSH1 0x00 0000416e: PUSH2 0x4178 00004171: PUSH1 0x1d 00004173: DUP4 00004174: PUSH2 0x3297 00004177: JUMP 00004178: JUMPDEST 00004179: SWAP2 0000417a: POP 0000417b: PUSH2 0x4183 0000417e: DUP3 0000417f: PUSH2 0x4142 00004182: JUMP 00004183: JUMPDEST 00004184: PUSH1 0x20 00004186: DUP3 00004187: ADD 00004188: SWAP1 00004189: POP 0000418a: SWAP2 0000418b: SWAP1 0000418c: POP 0000418d: JUMP 0000418e: JUMPDEST 0000418f: PUSH1 0x00 00004191: PUSH1 0x20 00004193: DUP3 00004194: ADD 00004195: SWAP1 00004196: POP 00004197: DUP2 00004198: DUP2 00004199: SUB 0000419a: PUSH1 0x00 0000419c: DUP4 0000419d: ADD 0000419e: MSTORE 0000419f: PUSH2 0x41a7 000041a2: DUP2 000041a3: PUSH2 0x416b 000041a6: JUMP 000041a7: JUMPDEST 000041a8: SWAP1 000041a9: POP 000041aa: SWAP2 000041ab: SWAP1 000041ac: POP 000041ad: JUMP 000041ae: JUMPDEST 000041af: PUSH1 0x00 000041b1: PUSH2 0x41b9 000041b4: DUP3 000041b5: PUSH2 0x3347 000041b8: JUMP 000041b9: JUMPDEST 000041ba: SWAP2 000041bb: POP 000041bc: PUSH2 0x41c4 000041bf: DUP4 000041c0: PUSH2 0x3347 000041c3: JUMP 000041c4: JUMPDEST 000041c5: SWAP3 000041c6: POP 000041c7: DUP3 000041c8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000041e9: SUB 000041ea: DUP3 000041eb: GT 000041ec: ISZERO 000041ed: PUSH2 0x41f9 000041f0: JUMPI 000041f1: PUSH2 0x41f8 000041f4: PUSH2 0x400d 000041f7: JUMP 000041f8: JUMPDEST 000041f9: JUMPDEST 000041fa: DUP3 000041fb: DUP3 000041fc: ADD 000041fd: SWAP1 000041fe: POP 000041ff: SWAP3 00004200: SWAP2 00004201: POP 00004202: POP 00004203: JUMP 00004204: JUMPDEST 00004205: PUSH1 0x00 00004207: PUSH1 0x40 00004209: DUP3 0000420a: ADD 0000420b: SWAP1 0000420c: POP 0000420d: PUSH2 0x4219 00004210: PUSH1 0x00 00004212: DUP4 00004213: ADD 00004214: DUP6 00004215: PUSH2 0x3467 00004218: JUMP 00004219: JUMPDEST 0000421a: PUSH2 0x4226 0000421d: PUSH1 0x20 0000421f: DUP4 00004220: ADD 00004221: DUP5 00004222: PUSH2 0x33aa 00004225: JUMP 00004226: JUMPDEST 00004227: SWAP4 00004228: SWAP3 00004229: POP 0000422a: POP 0000422b: POP 0000422c: JUMP 0000422d: JUMPDEST 0000422e: PUSH1 0x00 00004230: PUSH2 0x4239 00004233: DUP3 00004234: DUP8 00004235: PUSH2 0x3e02 00004238: JUMP 00004239: JUMPDEST 0000423a: SWAP2 0000423b: POP 0000423c: PUSH2 0x4245 0000423f: DUP3 00004240: DUP7 00004241: PUSH2 0x3e02 00004244: JUMP 00004245: JUMPDEST 00004246: SWAP2 00004247: POP 00004248: PUSH2 0x4251 0000424b: DUP3 0000424c: DUP6 0000424d: PUSH2 0x3e02 00004250: JUMP 00004251: JUMPDEST 00004252: SWAP2 00004253: POP 00004254: PUSH2 0x425d 00004257: DUP3 00004258: DUP5 00004259: PUSH2 0x3e02 0000425c: JUMP 0000425d: JUMPDEST 0000425e: SWAP2 0000425f: POP 00004260: DUP2 00004261: SWAP1 00004262: POP 00004263: SWAP6 00004264: SWAP5 00004265: POP 00004266: POP 00004267: POP 00004268: POP 00004269: POP 0000426a: JUMP 0000426b: JUMPDEST 0000426c: PUSH32 0x457863656564204d41585f414c4c4f575f535550504c59210000000000000000 0000428d: PUSH1 0x00 0000428f: DUP3 00004290: ADD 00004291: MSTORE 00004292: POP 00004293: JUMP 00004294: JUMPDEST 00004295: PUSH1 0x00 00004297: PUSH2 0x42a1 0000429a: PUSH1 0x18 0000429c: DUP4 0000429d: PUSH2 0x3297 000042a0: JUMP 000042a1: JUMPDEST 000042a2: SWAP2 000042a3: POP 000042a4: PUSH2 0x42ac 000042a7: DUP3 000042a8: PUSH2 0x426b 000042ab: JUMP 000042ac: JUMPDEST 000042ad: PUSH1 0x20 000042af: DUP3 000042b0: ADD 000042b1: SWAP1 000042b2: POP 000042b3: SWAP2 000042b4: SWAP1 000042b5: POP 000042b6: JUMP 000042b7: JUMPDEST 000042b8: PUSH1 0x00 000042ba: PUSH1 0x20 000042bc: DUP3 000042bd: ADD 000042be: SWAP1 000042bf: POP 000042c0: DUP2 000042c1: DUP2 000042c2: SUB 000042c3: PUSH1 0x00 000042c5: DUP4 000042c6: ADD 000042c7: MSTORE 000042c8: PUSH2 0x42d0 000042cb: DUP2 000042cc: PUSH2 0x4294 000042cf: JUMP 000042d0: JUMPDEST 000042d1: SWAP1 000042d2: POP 000042d3: SWAP2 000042d4: SWAP1 000042d5: POP 000042d6: JUMP 000042d7: JUMPDEST 000042d8: PUSH32 0x616c6c6f776c6973740000000000000000000000000000000000000000000000 000042f9: DUP2 000042fa: MSTORE 000042fb: POP 000042fc: JUMP 000042fd: JUMPDEST 000042fe: PUSH1 0x00 00004300: PUSH2 0x4309 00004303: DUP3 00004304: DUP7 00004305: PUSH2 0x3e02 00004308: JUMP 00004309: JUMPDEST 0000430a: SWAP2 0000430b: POP 0000430c: PUSH2 0x4314 0000430f: DUP3 00004310: PUSH2 0x42d7 00004313: JUMP 00004314: JUMPDEST 00004315: PUSH1 0x09 00004317: DUP3 00004318: ADD 00004319: SWAP2 0000431a: POP 0000431b: PUSH2 0x4324 0000431e: DUP3 0000431f: DUP6 00004320: PUSH2 0x3e02 00004323: JUMP 00004324: JUMPDEST 00004325: SWAP2 00004326: POP 00004327: PUSH2 0x4330 0000432a: DUP3 0000432b: DUP5 0000432c: PUSH2 0x3e02 0000432f: JUMP 00004330: JUMPDEST 00004331: SWAP2 00004332: POP 00004333: DUP2 00004334: SWAP1 00004335: POP 00004336: SWAP5 00004337: SWAP4 00004338: POP 00004339: POP 0000433a: POP 0000433b: POP 0000433c: JUMP 0000433d: JUMPDEST 0000433e: PUSH32 0x496e76616c6964207369676e6174757265000000000000000000000000000000 0000435f: PUSH1 0x00 00004361: DUP3 00004362: ADD 00004363: MSTORE 00004364: POP 00004365: JUMP 00004366: JUMPDEST 00004367: PUSH1 0x00 00004369: PUSH2 0x4373 0000436c: PUSH1 0x11 0000436e: DUP4 0000436f: PUSH2 0x3297 00004372: JUMP 00004373: JUMPDEST 00004374: SWAP2 00004375: POP 00004376: PUSH2 0x437e 00004379: DUP3 0000437a: PUSH2 0x433d 0000437d: JUMP 0000437e: JUMPDEST 0000437f: PUSH1 0x20 00004381: DUP3 00004382: ADD 00004383: SWAP1 00004384: POP 00004385: SWAP2 00004386: SWAP1 00004387: POP 00004388: JUMP 00004389: JUMPDEST 0000438a: PUSH1 0x00 0000438c: PUSH1 0x20 0000438e: DUP3 0000438f: ADD 00004390: SWAP1 00004391: POP 00004392: DUP2 00004393: DUP2 00004394: SUB 00004395: PUSH1 0x00 00004397: DUP4 00004398: ADD 00004399: MSTORE 0000439a: PUSH2 0x43a2 0000439d: DUP2 0000439e: PUSH2 0x4366 000043a1: JUMP 000043a2: JUMPDEST 000043a3: SWAP1 000043a4: POP 000043a5: SWAP2 000043a6: SWAP1 000043a7: POP 000043a8: JUMP 000043a9: JUMPDEST 000043aa: PUSH32 0x4d696e7420616d6f756e742063616e2774206265203021000000000000000000 000043cb: PUSH1 0x00 000043cd: DUP3 000043ce: ADD 000043cf: MSTORE 000043d0: POP 000043d1: JUMP 000043d2: JUMPDEST 000043d3: PUSH1 0x00 000043d5: PUSH2 0x43df 000043d8: PUSH1 0x17 000043da: DUP4 000043db: PUSH2 0x3297 000043de: JUMP 000043df: JUMPDEST 000043e0: SWAP2 000043e1: POP 000043e2: PUSH2 0x43ea 000043e5: DUP3 000043e6: PUSH2 0x43a9 000043e9: JUMP 000043ea: JUMPDEST 000043eb: PUSH1 0x20 000043ed: DUP3 000043ee: ADD 000043ef: SWAP1 000043f0: POP 000043f1: SWAP2 000043f2: SWAP1 000043f3: POP 000043f4: JUMP 000043f5: JUMPDEST 000043f6: PUSH1 0x00 000043f8: PUSH1 0x20 000043fa: DUP3 000043fb: ADD 000043fc: SWAP1 000043fd: POP 000043fe: DUP2 000043ff: DUP2 00004400: SUB 00004401: PUSH1 0x00 00004403: DUP4 00004404: ADD 00004405: MSTORE 00004406: PUSH2 0x440e 00004409: DUP2 0000440a: PUSH2 0x43d2 0000440d: JUMP 0000440e: JUMPDEST 0000440f: SWAP1 00004410: POP 00004411: SWAP2 00004412: SWAP1 00004413: POP 00004414: JUMP 00004415: JUMPDEST 00004416: PUSH32 0x4578636565646564206d696e74206c696d697400000000000000000000000000 00004437: PUSH1 0x00 00004439: DUP3 0000443a: ADD 0000443b: MSTORE 0000443c: POP 0000443d: JUMP 0000443e: JUMPDEST 0000443f: PUSH1 0x00 00004441: PUSH2 0x444b 00004444: PUSH1 0x13 00004446: DUP4 00004447: PUSH2 0x3297 0000444a: JUMP 0000444b: JUMPDEST 0000444c: SWAP2 0000444d: POP 0000444e: PUSH2 0x4456 00004451: DUP3 00004452: PUSH2 0x4415 00004455: JUMP 00004456: JUMPDEST 00004457: PUSH1 0x20 00004459: DUP3 0000445a: ADD 0000445b: SWAP1 0000445c: POP 0000445d: SWAP2 0000445e: SWAP1 0000445f: POP 00004460: JUMP 00004461: JUMPDEST 00004462: PUSH1 0x00 00004464: PUSH1 0x20 00004466: DUP3 00004467: ADD 00004468: SWAP1 00004469: POP 0000446a: DUP2 0000446b: DUP2 0000446c: SUB 0000446d: PUSH1 0x00 0000446f: DUP4 00004470: ADD 00004471: MSTORE 00004472: PUSH2 0x447a 00004475: DUP2 00004476: PUSH2 0x443e 00004479: JUMP 0000447a: JUMPDEST 0000447b: SWAP1 0000447c: POP 0000447d: SWAP2 0000447e: SWAP1 0000447f: POP 00004480: JUMP 00004481: JUMPDEST 00004482: PUSH1 0x00 00004484: PUSH2 0x448c 00004487: DUP3 00004488: PUSH2 0x3347 0000448b: JUMP 0000448c: JUMPDEST 0000448d: SWAP2 0000448e: POP 0000448f: PUSH2 0x4497 00004492: DUP4 00004493: PUSH2 0x3347 00004496: JUMP 00004497: JUMPDEST 00004498: SWAP3 00004499: POP 0000449a: DUP2 0000449b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000044bc: DIV 000044bd: DUP4 000044be: GT 000044bf: DUP3 000044c0: ISZERO 000044c1: ISZERO 000044c2: AND 000044c3: ISZERO 000044c4: PUSH2 0x44d0 000044c7: JUMPI 000044c8: PUSH2 0x44cf 000044cb: PUSH2 0x400d 000044ce: JUMP 000044cf: JUMPDEST 000044d0: JUMPDEST 000044d1: DUP3 000044d2: DUP3 000044d3: MUL 000044d4: SWAP1 000044d5: POP 000044d6: SWAP3 000044d7: SWAP2 000044d8: POP 000044d9: POP 000044da: JUMP 000044db: JUMPDEST 000044dc: PUSH32 0x4e6f7420656e6f75676820455448000000000000000000000000000000000000 000044fd: PUSH1 0x00 000044ff: DUP3 00004500: ADD 00004501: MSTORE 00004502: POP 00004503: JUMP 00004504: JUMPDEST 00004505: PUSH1 0x00 00004507: PUSH2 0x4511 0000450a: PUSH1 0x0e 0000450c: DUP4 0000450d: PUSH2 0x3297 00004510: JUMP 00004511: JUMPDEST 00004512: SWAP2 00004513: POP 00004514: PUSH2 0x451c 00004517: DUP3 00004518: PUSH2 0x44db 0000451b: JUMP 0000451c: JUMPDEST 0000451d: PUSH1 0x20 0000451f: DUP3 00004520: ADD 00004521: SWAP1 00004522: POP 00004523: SWAP2 00004524: SWAP1 00004525: POP 00004526: JUMP 00004527: JUMPDEST 00004528: PUSH1 0x00 0000452a: PUSH1 0x20 0000452c: DUP3 0000452d: ADD 0000452e: SWAP1 0000452f: POP 00004530: DUP2 00004531: DUP2 00004532: SUB 00004533: PUSH1 0x00 00004535: DUP4 00004536: ADD 00004537: MSTORE 00004538: PUSH2 0x4540 0000453b: DUP2 0000453c: PUSH2 0x4504 0000453f: JUMP 00004540: JUMPDEST 00004541: SWAP1 00004542: POP 00004543: SWAP2 00004544: SWAP1 00004545: POP 00004546: JUMP 00004547: JUMPDEST 00004548: PUSH32 0x457863656564204d41585f5649505f535550504c590000000000000000000000 00004569: PUSH1 0x00 0000456b: DUP3 0000456c: ADD 0000456d: MSTORE 0000456e: POP 0000456f: JUMP 00004570: JUMPDEST 00004571: PUSH1 0x00 00004573: PUSH2 0x457d 00004576: PUSH1 0x15 00004578: DUP4 00004579: PUSH2 0x3297 0000457c: JUMP 0000457d: JUMPDEST 0000457e: SWAP2 0000457f: POP 00004580: PUSH2 0x4588 00004583: DUP3 00004584: PUSH2 0x4547 00004587: JUMP 00004588: JUMPDEST 00004589: PUSH1 0x20 0000458b: DUP3 0000458c: ADD 0000458d: SWAP1 0000458e: POP 0000458f: SWAP2 00004590: SWAP1 00004591: POP 00004592: JUMP 00004593: JUMPDEST 00004594: PUSH1 0x00 00004596: PUSH1 0x20 00004598: DUP3 00004599: ADD 0000459a: SWAP1 0000459b: POP 0000459c: DUP2 0000459d: DUP2 0000459e: SUB 0000459f: PUSH1 0x00 000045a1: DUP4 000045a2: ADD 000045a3: MSTORE 000045a4: PUSH2 0x45ac 000045a7: DUP2 000045a8: PUSH2 0x4570 000045ab: JUMP 000045ac: JUMPDEST 000045ad: SWAP1 000045ae: POP 000045af: SWAP2 000045b0: SWAP1 000045b1: POP 000045b2: JUMP 000045b3: JUMPDEST 000045b4: PUSH32 0x5649506c69737400000000000000000000000000000000000000000000000000 000045d5: DUP2 000045d6: MSTORE 000045d7: POP 000045d8: JUMP 000045d9: JUMPDEST 000045da: PUSH1 0x00 000045dc: PUSH2 0x45e5 000045df: DUP3 000045e0: DUP7 000045e1: PUSH2 0x3e02 000045e4: JUMP 000045e5: JUMPDEST 000045e6: SWAP2 000045e7: POP 000045e8: PUSH2 0x45f0 000045eb: DUP3 000045ec: PUSH2 0x45b3 000045ef: JUMP 000045f0: JUMPDEST 000045f1: PUSH1 0x07 000045f3: DUP3 000045f4: ADD 000045f5: SWAP2 000045f6: POP 000045f7: PUSH2 0x4600 000045fa: DUP3 000045fb: DUP6 000045fc: PUSH2 0x3e02 000045ff: JUMP 00004600: JUMPDEST 00004601: SWAP2 00004602: POP 00004603: PUSH2 0x460c 00004606: DUP3 00004607: DUP5 00004608: PUSH2 0x3e02 0000460b: JUMP 0000460c: JUMPDEST 0000460d: SWAP2 0000460e: POP 0000460f: DUP2 00004610: SWAP1 00004611: POP 00004612: SWAP5 00004613: SWAP4 00004614: POP 00004615: POP 00004616: POP 00004617: POP 00004618: JUMP 00004619: JUMPDEST 0000461a: PUSH32 0x457863656564204d41585f5445414d5f535550504c5900000000000000000000 0000463b: PUSH1 0x00 0000463d: DUP3 0000463e: ADD 0000463f: MSTORE 00004640: POP 00004641: JUMP 00004642: JUMPDEST 00004643: PUSH1 0x00 00004645: PUSH2 0x464f 00004648: PUSH1 0x16 0000464a: DUP4 0000464b: PUSH2 0x3297 0000464e: JUMP 0000464f: JUMPDEST 00004650: SWAP2 00004651: POP 00004652: PUSH2 0x465a 00004655: DUP3 00004656: PUSH2 0x4619 00004659: JUMP 0000465a: JUMPDEST 0000465b: PUSH1 0x20 0000465d: DUP3 0000465e: ADD 0000465f: SWAP1 00004660: POP 00004661: SWAP2 00004662: SWAP1 00004663: POP 00004664: JUMP 00004665: JUMPDEST 00004666: PUSH1 0x00 00004668: PUSH1 0x20 0000466a: DUP3 0000466b: ADD 0000466c: SWAP1 0000466d: POP 0000466e: DUP2 0000466f: DUP2 00004670: SUB 00004671: PUSH1 0x00 00004673: DUP4 00004674: ADD 00004675: MSTORE 00004676: PUSH2 0x467e 00004679: DUP2 0000467a: PUSH2 0x4642 0000467d: JUMP 0000467e: JUMPDEST 0000467f: SWAP1 00004680: POP 00004681: SWAP2 00004682: SWAP1 00004683: POP 00004684: JUMP 00004685: JUMPDEST 00004686: PUSH32 0x4e465420646f6573206e6f742065786973740000000000000000000000000000 000046a7: PUSH1 0x00 000046a9: DUP3 000046aa: ADD 000046ab: MSTORE 000046ac: POP 000046ad: JUMP 000046ae: JUMPDEST 000046af: PUSH1 0x00 000046b1: PUSH2 0x46bb 000046b4: PUSH1 0x12 000046b6: DUP4 000046b7: PUSH2 0x3297 000046ba: JUMP 000046bb: JUMPDEST 000046bc: SWAP2 000046bd: POP 000046be: PUSH2 0x46c6 000046c1: DUP3 000046c2: PUSH2 0x4685 000046c5: JUMP 000046c6: JUMPDEST 000046c7: PUSH1 0x20 000046c9: DUP3 000046ca: ADD 000046cb: SWAP1 000046cc: POP 000046cd: SWAP2 000046ce: SWAP1 000046cf: POP 000046d0: JUMP 000046d1: JUMPDEST 000046d2: PUSH1 0x00 000046d4: PUSH1 0x20 000046d6: DUP3 000046d7: ADD 000046d8: SWAP1 000046d9: POP 000046da: DUP2 000046db: DUP2 000046dc: SUB 000046dd: PUSH1 0x00 000046df: DUP4 000046e0: ADD 000046e1: MSTORE 000046e2: PUSH2 0x46ea 000046e5: DUP2 000046e6: PUSH2 0x46ae 000046e9: JUMP 000046ea: JUMPDEST 000046eb: SWAP1 000046ec: POP 000046ed: SWAP2 000046ee: SWAP1 000046ef: POP 000046f0: JUMP 000046f1: JUMPDEST 000046f2: PUSH1 0x00 000046f4: DUP2 000046f5: SWAP1 000046f6: POP 000046f7: DUP2 000046f8: PUSH1 0x00 000046fa: MSTORE 000046fb: PUSH1 0x20 000046fd: PUSH1 0x00 000046ff: KECCAK256 00004700: SWAP1 00004701: POP 00004702: SWAP2 00004703: SWAP1 00004704: POP 00004705: JUMP 00004706: JUMPDEST 00004707: PUSH1 0x00 00004709: DUP2 0000470a: SLOAD 0000470b: PUSH2 0x4713 0000470e: DUP2 0000470f: PUSH2 0x3b54 00004712: JUMP 00004713: JUMPDEST 00004714: PUSH2 0x471d 00004717: DUP2 00004718: DUP7 00004719: PUSH2 0x3df7 0000471c: JUMP 0000471d: JUMPDEST 0000471e: SWAP5 0000471f: POP 00004720: PUSH1 0x01 00004722: DUP3 00004723: AND 00004724: PUSH1 0x00 00004726: DUP2 00004727: EQ 00004728: PUSH2 0x4738 0000472b: JUMPI 0000472c: PUSH1 0x01 0000472e: DUP2 0000472f: EQ 00004730: PUSH2 0x4749 00004733: JUMPI 00004734: PUSH2 0x477c 00004737: JUMP 00004738: JUMPDEST 00004739: PUSH1 0xff 0000473b: NOT 0000473c: DUP4 0000473d: AND 0000473e: DUP7 0000473f: MSTORE 00004740: DUP2 00004741: DUP7 00004742: ADD 00004743: SWAP4 00004744: POP 00004745: PUSH2 0x477c 00004748: JUMP 00004749: JUMPDEST 0000474a: PUSH2 0x4752 0000474d: DUP6 0000474e: PUSH2 0x46f1 00004751: JUMP 00004752: JUMPDEST 00004753: PUSH1 0x00 00004755: JUMPDEST 00004756: DUP4 00004757: DUP2 00004758: LT 00004759: ISZERO 0000475a: PUSH2 0x4774 0000475d: JUMPI 0000475e: DUP2 0000475f: SLOAD 00004760: DUP2 00004761: DUP10 00004762: ADD 00004763: MSTORE 00004764: PUSH1 0x01 00004766: DUP3 00004767: ADD 00004768: SWAP2 00004769: POP 0000476a: PUSH1 0x20 0000476c: DUP2 0000476d: ADD 0000476e: SWAP1 0000476f: POP 00004770: PUSH2 0x4755 00004773: JUMP 00004774: JUMPDEST 00004775: DUP4 00004776: DUP9 00004777: ADD 00004778: SWAP6 00004779: POP 0000477a: POP 0000477b: POP 0000477c: JUMPDEST 0000477d: POP 0000477e: POP 0000477f: POP 00004780: SWAP3 00004781: SWAP2 00004782: POP 00004783: POP 00004784: JUMP 00004785: JUMPDEST 00004786: PUSH1 0x00 00004788: PUSH2 0x4791 0000478b: DUP3 0000478c: DUP7 0000478d: PUSH2 0x4706 00004790: JUMP 00004791: JUMPDEST 00004792: SWAP2 00004793: POP 00004794: PUSH2 0x479d 00004797: DUP3 00004798: DUP6 00004799: PUSH2 0x3e02 0000479c: JUMP 0000479d: JUMPDEST 0000479e: SWAP2 0000479f: POP 000047a0: PUSH2 0x47a9 000047a3: DUP3 000047a4: DUP5 000047a5: PUSH2 0x4706 000047a8: JUMP 000047a9: JUMPDEST 000047aa: SWAP2 000047ab: POP 000047ac: DUP2 000047ad: SWAP1 000047ae: POP 000047af: SWAP5 000047b0: SWAP4 000047b1: POP 000047b2: POP 000047b3: POP 000047b4: POP 000047b5: JUMP 000047b6: JUMPDEST 000047b7: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 000047d8: PUSH1 0x00 000047da: DUP3 000047db: ADD 000047dc: MSTORE 000047dd: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 000047fe: PUSH1 0x20 00004800: DUP3 00004801: ADD 00004802: MSTORE 00004803: POP 00004804: JUMP 00004805: JUMPDEST 00004806: PUSH1 0x00 00004808: PUSH2 0x4812 0000480b: PUSH1 0x26 0000480d: DUP4 0000480e: PUSH2 0x3297 00004811: JUMP 00004812: JUMPDEST 00004813: SWAP2 00004814: POP 00004815: PUSH2 0x481d 00004818: DUP3 00004819: PUSH2 0x47b6 0000481c: JUMP 0000481d: JUMPDEST 0000481e: PUSH1 0x40 00004820: DUP3 00004821: ADD 00004822: SWAP1 00004823: POP 00004824: SWAP2 00004825: SWAP1 00004826: POP 00004827: JUMP 00004828: JUMPDEST 00004829: PUSH1 0x00 0000482b: PUSH1 0x20 0000482d: DUP3 0000482e: ADD 0000482f: SWAP1 00004830: POP 00004831: DUP2 00004832: DUP2 00004833: SUB 00004834: PUSH1 0x00 00004836: DUP4 00004837: ADD 00004838: MSTORE 00004839: PUSH2 0x4841 0000483c: DUP2 0000483d: PUSH2 0x4805 00004840: JUMP 00004841: JUMPDEST 00004842: SWAP1 00004843: POP 00004844: SWAP2 00004845: SWAP1 00004846: POP 00004847: JUMP 00004848: JUMPDEST 00004849: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 0000486a: PUSH1 0x00 0000486c: DUP3 0000486d: ADD 0000486e: MSTORE 0000486f: POP 00004870: JUMP 00004871: JUMPDEST 00004872: PUSH1 0x00 00004874: PUSH2 0x487e 00004877: PUSH1 0x20 00004879: DUP4 0000487a: PUSH2 0x3297 0000487d: JUMP 0000487e: JUMPDEST 0000487f: SWAP2 00004880: POP 00004881: PUSH2 0x4889 00004884: DUP3 00004885: PUSH2 0x4848 00004888: JUMP 00004889: JUMPDEST 0000488a: PUSH1 0x20 0000488c: DUP3 0000488d: ADD 0000488e: SWAP1 0000488f: POP 00004890: SWAP2 00004891: SWAP1 00004892: POP 00004893: JUMP 00004894: JUMPDEST 00004895: PUSH1 0x00 00004897: PUSH1 0x20 00004899: DUP3 0000489a: ADD 0000489b: SWAP1 0000489c: POP 0000489d: DUP2 0000489e: DUP2 0000489f: SUB 000048a0: PUSH1 0x00 000048a2: DUP4 000048a3: ADD 000048a4: MSTORE 000048a5: PUSH2 0x48ad 000048a8: DUP2 000048a9: PUSH2 0x4871 000048ac: JUMP 000048ad: JUMPDEST 000048ae: SWAP1 000048af: POP 000048b0: SWAP2 000048b1: SWAP1 000048b2: POP 000048b3: JUMP 000048b4: JUMPDEST 000048b5: PUSH32 0x4552433732313a207472616e736665722066726f6d20696e636f727265637420 000048d6: PUSH1 0x00 000048d8: DUP3 000048d9: ADD 000048da: MSTORE 000048db: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000 000048fc: PUSH1 0x20 000048fe: DUP3 000048ff: ADD 00004900: MSTORE 00004901: POP 00004902: JUMP 00004903: JUMPDEST 00004904: PUSH1 0x00 00004906: PUSH2 0x4910 00004909: PUSH1 0x25 0000490b: DUP4 0000490c: PUSH2 0x3297 0000490f: JUMP 00004910: JUMPDEST 00004911: SWAP2 00004912: POP 00004913: PUSH2 0x491b 00004916: DUP3 00004917: PUSH2 0x48b4 0000491a: JUMP 0000491b: JUMPDEST 0000491c: PUSH1 0x40 0000491e: DUP3 0000491f: ADD 00004920: SWAP1 00004921: POP 00004922: SWAP2 00004923: SWAP1 00004924: POP 00004925: JUMP 00004926: JUMPDEST 00004927: PUSH1 0x00 00004929: PUSH1 0x20 0000492b: DUP3 0000492c: ADD 0000492d: SWAP1 0000492e: POP 0000492f: DUP2 00004930: DUP2 00004931: SUB 00004932: PUSH1 0x00 00004934: DUP4 00004935: ADD 00004936: MSTORE 00004937: PUSH2 0x493f 0000493a: DUP2 0000493b: PUSH2 0x4903 0000493e: JUMP 0000493f: JUMPDEST 00004940: SWAP1 00004941: POP 00004942: SWAP2 00004943: SWAP1 00004944: POP 00004945: JUMP 00004946: JUMPDEST 00004947: PUSH32 0x4552433732313a207472616e7366657220746f20746865207a65726f20616464 00004968: PUSH1 0x00 0000496a: DUP3 0000496b: ADD 0000496c: MSTORE 0000496d: PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 0000498e: PUSH1 0x20 00004990: DUP3 00004991: ADD 00004992: MSTORE 00004993: POP 00004994: JUMP 00004995: JUMPDEST 00004996: PUSH1 0x00 00004998: PUSH2 0x49a2 0000499b: PUSH1 0x24 0000499d: DUP4 0000499e: PUSH2 0x3297 000049a1: JUMP 000049a2: JUMPDEST 000049a3: SWAP2 000049a4: POP 000049a5: PUSH2 0x49ad 000049a8: DUP3 000049a9: PUSH2 0x4946 000049ac: JUMP 000049ad: JUMPDEST 000049ae: PUSH1 0x40 000049b0: DUP3 000049b1: ADD 000049b2: SWAP1 000049b3: POP 000049b4: SWAP2 000049b5: SWAP1 000049b6: POP 000049b7: JUMP 000049b8: JUMPDEST 000049b9: PUSH1 0x00 000049bb: PUSH1 0x20 000049bd: DUP3 000049be: ADD 000049bf: SWAP1 000049c0: POP 000049c1: DUP2 000049c2: DUP2 000049c3: SUB 000049c4: PUSH1 0x00 000049c6: DUP4 000049c7: ADD 000049c8: MSTORE 000049c9: PUSH2 0x49d1 000049cc: DUP2 000049cd: PUSH2 0x4995 000049d0: JUMP 000049d1: JUMPDEST 000049d2: SWAP1 000049d3: POP 000049d4: SWAP2 000049d5: SWAP1 000049d6: POP 000049d7: JUMP 000049d8: JUMPDEST 000049d9: PUSH1 0x00 000049db: PUSH2 0x49e3 000049de: DUP3 000049df: PUSH2 0x3347 000049e2: JUMP 000049e3: JUMPDEST 000049e4: SWAP2 000049e5: POP 000049e6: PUSH2 0x49ee 000049e9: DUP4 000049ea: PUSH2 0x3347 000049ed: JUMP 000049ee: JUMPDEST 000049ef: SWAP3 000049f0: POP 000049f1: DUP3 000049f2: DUP3 000049f3: LT 000049f4: ISZERO 000049f5: PUSH2 0x4a01 000049f8: JUMPI 000049f9: PUSH2 0x4a00 000049fc: PUSH2 0x400d 000049ff: JUMP 00004a00: JUMPDEST 00004a01: JUMPDEST 00004a02: DUP3 00004a03: DUP3 00004a04: SUB 00004a05: SWAP1 00004a06: POP 00004a07: SWAP3 00004a08: SWAP2 00004a09: POP 00004a0a: POP 00004a0b: JUMP 00004a0c: JUMPDEST 00004a0d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004a2e: PUSH1 0x00 00004a30: MSTORE 00004a31: PUSH1 0x12 00004a33: PUSH1 0x04 00004a35: MSTORE 00004a36: PUSH1 0x24 00004a38: PUSH1 0x00 00004a3a: REVERT 00004a3b: JUMPDEST 00004a3c: PUSH1 0x00 00004a3e: PUSH2 0x4a46 00004a41: DUP3 00004a42: PUSH2 0x3347 00004a45: JUMP 00004a46: JUMPDEST 00004a47: SWAP2 00004a48: POP 00004a49: PUSH2 0x4a51 00004a4c: DUP4 00004a4d: PUSH2 0x3347 00004a50: JUMP 00004a51: JUMPDEST 00004a52: SWAP3 00004a53: POP 00004a54: DUP3 00004a55: PUSH2 0x4a61 00004a58: JUMPI 00004a59: PUSH2 0x4a60 00004a5c: PUSH2 0x4a0c 00004a5f: JUMP 00004a60: JUMPDEST 00004a61: JUMPDEST 00004a62: DUP3 00004a63: DUP3 00004a64: DIV 00004a65: SWAP1 00004a66: POP 00004a67: SWAP3 00004a68: SWAP2 00004a69: POP 00004a6a: POP 00004a6b: JUMP 00004a6c: JUMPDEST 00004a6d: PUSH1 0x00 00004a6f: PUSH2 0x4a77 00004a72: DUP3 00004a73: PUSH2 0x3347 00004a76: JUMP 00004a77: JUMPDEST 00004a78: SWAP2 00004a79: POP 00004a7a: PUSH2 0x4a82 00004a7d: DUP4 00004a7e: PUSH2 0x3347 00004a81: JUMP 00004a82: JUMPDEST 00004a83: SWAP3 00004a84: POP 00004a85: DUP3 00004a86: PUSH2 0x4a92 00004a89: JUMPI 00004a8a: PUSH2 0x4a91 00004a8d: PUSH2 0x4a0c 00004a90: JUMP 00004a91: JUMPDEST 00004a92: JUMPDEST 00004a93: DUP3 00004a94: DUP3 00004a95: MOD 00004a96: SWAP1 00004a97: POP 00004a98: SWAP3 00004a99: SWAP2 00004a9a: POP 00004a9b: POP 00004a9c: JUMP 00004a9d: JUMPDEST 00004a9e: PUSH32 0x4552433732313a206d696e7420746f20746865207a65726f2061646472657373 00004abf: PUSH1 0x00 00004ac1: DUP3 00004ac2: ADD 00004ac3: MSTORE 00004ac4: POP 00004ac5: JUMP 00004ac6: JUMPDEST 00004ac7: PUSH1 0x00 00004ac9: PUSH2 0x4ad3 00004acc: PUSH1 0x20 00004ace: DUP4 00004acf: PUSH2 0x3297 00004ad2: JUMP 00004ad3: JUMPDEST 00004ad4: SWAP2 00004ad5: POP 00004ad6: PUSH2 0x4ade 00004ad9: DUP3 00004ada: PUSH2 0x4a9d 00004add: JUMP 00004ade: JUMPDEST 00004adf: PUSH1 0x20 00004ae1: DUP3 00004ae2: ADD 00004ae3: SWAP1 00004ae4: POP 00004ae5: SWAP2 00004ae6: SWAP1 00004ae7: POP 00004ae8: JUMP 00004ae9: JUMPDEST 00004aea: PUSH1 0x00 00004aec: PUSH1 0x20 00004aee: DUP3 00004aef: ADD 00004af0: SWAP1 00004af1: POP 00004af2: DUP2 00004af3: DUP2 00004af4: SUB 00004af5: PUSH1 0x00 00004af7: DUP4 00004af8: ADD 00004af9: MSTORE 00004afa: PUSH2 0x4b02 00004afd: DUP2 00004afe: PUSH2 0x4ac6 00004b01: JUMP 00004b02: JUMPDEST 00004b03: SWAP1 00004b04: POP 00004b05: SWAP2 00004b06: SWAP1 00004b07: POP 00004b08: JUMP 00004b09: JUMPDEST 00004b0a: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000 00004b2b: PUSH1 0x00 00004b2d: DUP3 00004b2e: ADD 00004b2f: MSTORE 00004b30: POP 00004b31: JUMP 00004b32: JUMPDEST 00004b33: PUSH1 0x00 00004b35: PUSH2 0x4b3f 00004b38: PUSH1 0x1c 00004b3a: DUP4 00004b3b: PUSH2 0x3297 00004b3e: JUMP 00004b3f: JUMPDEST 00004b40: SWAP2 00004b41: POP 00004b42: PUSH2 0x4b4a 00004b45: DUP3 00004b46: PUSH2 0x4b09 00004b49: JUMP 00004b4a: JUMPDEST 00004b4b: PUSH1 0x20 00004b4d: DUP3 00004b4e: ADD 00004b4f: SWAP1 00004b50: POP 00004b51: SWAP2 00004b52: SWAP1 00004b53: POP 00004b54: JUMP 00004b55: JUMPDEST 00004b56: PUSH1 0x00 00004b58: PUSH1 0x20 00004b5a: DUP3 00004b5b: ADD 00004b5c: SWAP1 00004b5d: POP 00004b5e: DUP2 00004b5f: DUP2 00004b60: SUB 00004b61: PUSH1 0x00 00004b63: DUP4 00004b64: ADD 00004b65: MSTORE 00004b66: PUSH2 0x4b6e 00004b69: DUP2 00004b6a: PUSH2 0x4b32 00004b6d: JUMP 00004b6e: JUMPDEST 00004b6f: SWAP1 00004b70: POP 00004b71: SWAP2 00004b72: SWAP1 00004b73: POP 00004b74: JUMP 00004b75: JUMPDEST 00004b76: PUSH32 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000 00004b97: PUSH1 0x00 00004b99: DUP3 00004b9a: ADD 00004b9b: MSTORE 00004b9c: POP 00004b9d: JUMP 00004b9e: JUMPDEST 00004b9f: PUSH1 0x00 00004ba1: PUSH2 0x4bab 00004ba4: PUSH1 0x19 00004ba6: DUP4 00004ba7: PUSH2 0x3297 00004baa: JUMP 00004bab: JUMPDEST 00004bac: SWAP2 00004bad: POP 00004bae: PUSH2 0x4bb6 00004bb1: DUP3 00004bb2: PUSH2 0x4b75 00004bb5: JUMP 00004bb6: JUMPDEST 00004bb7: PUSH1 0x20 00004bb9: DUP3 00004bba: ADD 00004bbb: SWAP1 00004bbc: POP 00004bbd: SWAP2 00004bbe: SWAP1 00004bbf: POP 00004bc0: JUMP 00004bc1: JUMPDEST 00004bc2: PUSH1 0x00 00004bc4: PUSH1 0x20 00004bc6: DUP3 00004bc7: ADD 00004bc8: SWAP1 00004bc9: POP 00004bca: DUP2 00004bcb: DUP2 00004bcc: SUB 00004bcd: PUSH1 0x00 00004bcf: DUP4 00004bd0: ADD 00004bd1: MSTORE 00004bd2: PUSH2 0x4bda 00004bd5: DUP2 00004bd6: PUSH2 0x4b9e 00004bd9: JUMP 00004bda: JUMPDEST 00004bdb: SWAP1 00004bdc: POP 00004bdd: SWAP2 00004bde: SWAP1 00004bdf: POP 00004be0: JUMP 00004be1: JUMPDEST 00004be2: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265 00004c03: PUSH1 0x00 00004c05: DUP3 00004c06: ADD 00004c07: MSTORE 00004c08: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000 00004c29: PUSH1 0x20 00004c2b: DUP3 00004c2c: ADD 00004c2d: MSTORE 00004c2e: POP 00004c2f: JUMP 00004c30: JUMPDEST 00004c31: PUSH1 0x00 00004c33: PUSH2 0x4c3d 00004c36: PUSH1 0x32 00004c38: DUP4 00004c39: PUSH2 0x3297 00004c3c: JUMP 00004c3d: JUMPDEST 00004c3e: SWAP2 00004c3f: POP 00004c40: PUSH2 0x4c48 00004c43: DUP3 00004c44: PUSH2 0x4be1 00004c47: JUMP 00004c48: JUMPDEST 00004c49: PUSH1 0x40 00004c4b: DUP3 00004c4c: ADD 00004c4d: SWAP1 00004c4e: POP 00004c4f: SWAP2 00004c50: SWAP1 00004c51: POP 00004c52: JUMP 00004c53: JUMPDEST 00004c54: PUSH1 0x00 00004c56: PUSH1 0x20 00004c58: DUP3 00004c59: ADD 00004c5a: SWAP1 00004c5b: POP 00004c5c: DUP2 00004c5d: DUP2 00004c5e: SUB 00004c5f: PUSH1 0x00 00004c61: DUP4 00004c62: ADD 00004c63: MSTORE 00004c64: PUSH2 0x4c6c 00004c67: DUP2 00004c68: PUSH2 0x4c30 00004c6b: JUMP 00004c6c: JUMPDEST 00004c6d: SWAP1 00004c6e: POP 00004c6f: SWAP2 00004c70: SWAP1 00004c71: POP 00004c72: JUMP 00004c73: JUMPDEST 00004c74: PUSH1 0x00 00004c76: DUP2 00004c77: MLOAD 00004c78: SWAP1 00004c79: POP 00004c7a: SWAP2 00004c7b: SWAP1 00004c7c: POP 00004c7d: JUMP 00004c7e: JUMPDEST 00004c7f: PUSH1 0x00 00004c81: DUP3 00004c82: DUP3 00004c83: MSTORE 00004c84: PUSH1 0x20 00004c86: DUP3 00004c87: ADD 00004c88: SWAP1 00004c89: POP 00004c8a: SWAP3 00004c8b: SWAP2 00004c8c: POP 00004c8d: POP 00004c8e: JUMP 00004c8f: JUMPDEST 00004c90: PUSH1 0x00 00004c92: PUSH2 0x4c9a 00004c95: DUP3 00004c96: PUSH2 0x4c73 00004c99: JUMP 00004c9a: JUMPDEST 00004c9b: PUSH2 0x4ca4 00004c9e: DUP2 00004c9f: DUP6 00004ca0: PUSH2 0x4c7e 00004ca3: JUMP 00004ca4: JUMPDEST 00004ca5: SWAP4 00004ca6: POP 00004ca7: PUSH2 0x4cb4 00004caa: DUP2 00004cab: DUP6 00004cac: PUSH1 0x20 00004cae: DUP7 00004caf: ADD 00004cb0: PUSH2 0x32a8 00004cb3: JUMP 00004cb4: JUMPDEST 00004cb5: PUSH2 0x4cbd 00004cb8: DUP2 00004cb9: PUSH2 0x32db 00004cbc: JUMP 00004cbd: JUMPDEST 00004cbe: DUP5 00004cbf: ADD 00004cc0: SWAP2 00004cc1: POP 00004cc2: POP 00004cc3: SWAP3 00004cc4: SWAP2 00004cc5: POP 00004cc6: POP 00004cc7: JUMP 00004cc8: JUMPDEST 00004cc9: PUSH1 0x00 00004ccb: PUSH1 0x80 00004ccd: DUP3 00004cce: ADD 00004ccf: SWAP1 00004cd0: POP 00004cd1: PUSH2 0x4cdd 00004cd4: PUSH1 0x00 00004cd6: DUP4 00004cd7: ADD 00004cd8: DUP8 00004cd9: PUSH2 0x33aa 00004cdc: JUMP 00004cdd: JUMPDEST 00004cde: PUSH2 0x4cea 00004ce1: PUSH1 0x20 00004ce3: DUP4 00004ce4: ADD 00004ce5: DUP7 00004ce6: PUSH2 0x33aa 00004ce9: JUMP 00004cea: JUMPDEST 00004ceb: PUSH2 0x4cf7 00004cee: PUSH1 0x40 00004cf0: DUP4 00004cf1: ADD 00004cf2: DUP6 00004cf3: PUSH2 0x3467 00004cf6: JUMP 00004cf7: JUMPDEST 00004cf8: DUP2 00004cf9: DUP2 00004cfa: SUB 00004cfb: PUSH1 0x60 00004cfd: DUP4 00004cfe: ADD 00004cff: MSTORE 00004d00: PUSH2 0x4d09 00004d03: DUP2 00004d04: DUP5 00004d05: PUSH2 0x4c8f 00004d08: JUMP 00004d09: JUMPDEST 00004d0a: SWAP1 00004d0b: POP 00004d0c: SWAP6 00004d0d: SWAP5 00004d0e: POP 00004d0f: POP 00004d10: POP 00004d11: POP 00004d12: POP 00004d13: JUMP 00004d14: JUMPDEST 00004d15: PUSH1 0x00 00004d17: DUP2 00004d18: MLOAD 00004d19: SWAP1 00004d1a: POP 00004d1b: PUSH2 0x4d23 00004d1e: DUP2 00004d1f: PUSH2 0x3172 00004d22: JUMP 00004d23: JUMPDEST 00004d24: SWAP3 00004d25: SWAP2 00004d26: POP 00004d27: POP 00004d28: JUMP 00004d29: JUMPDEST 00004d2a: PUSH1 0x00 00004d2c: PUSH1 0x20 00004d2e: DUP3 00004d2f: DUP5 00004d30: SUB 00004d31: SLT 00004d32: ISZERO 00004d33: PUSH2 0x4d3f 00004d36: JUMPI 00004d37: PUSH2 0x4d3e 00004d3a: PUSH2 0x313c 00004d3d: JUMP 00004d3e: JUMPDEST 00004d3f: JUMPDEST 00004d40: PUSH1 0x00 00004d42: PUSH2 0x4d4d 00004d45: DUP5 00004d46: DUP3 00004d47: DUP6 00004d48: ADD 00004d49: PUSH2 0x4d14 00004d4c: JUMP 00004d4d: JUMPDEST 00004d4e: SWAP2 00004d4f: POP 00004d50: POP 00004d51: SWAP3 00004d52: SWAP2 00004d53: POP 00004d54: POP 00004d55: JUMP 00004d56: INVALID 00004d57: LOG2 00004d58: PUSH5 0x6970667358 00004d5e: UNKNOWN(0x22) 00004d5f: SLT 00004d60: KECCAK256 00004d61: UNKNOWN(0xB8) 00004d62: DUP14 00004d63: SMOD 00004d64: PUSH32 0x2a12b45fa94ac307f832f8532d281ea473c6290b6bb22d3204b1459164736f6c 00004d85: PUSH4 0x4300080d 00004d8a: STOP 00004d8b: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | codex | Mint proceeds are trapped in Azaraks because PaymentSplitter never receives funds | 85 | no | — |
viewevidence_json{
"evidence": "`VIPMint`/`allowListMint` are payable and accept ETH but never transfer it out; `withdraw` only calls `_splitter.release`.",
"locations": [
"contracts/Contract.sol:1686",
"contracts/Contract.sol:1702",
"contracts/Contract.sol:1794"
],
"recommendation": "Forward mint proceeds to the PaymentSplitter (e.g., send `msg.value` to `_splitter` on each mint) or add a direct withdraw function from Azaraks to distribute/transfer ETH. Consider making Azaraks receive ETH and immediately forward to `_splitter`.",
"exploit_scenario": "Users pay ETH to `VIPMint`/`allowListMint`, but the ETH stays in the Azaraks contract. The only withdrawal path calls `_splitter.release`, which releases funds from the PaymentSplitter contract, not from Azaraks. As a result, all mint revenue is permanently stuck and cannot be withdrawn."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x72ef7df63315507c82aa4895a0d7a07d0de5bca901913ccddc541d25efa22e4a
call_targets:
0x0d8f1817c644101a915852841a3b5933b0b8dcc7
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x72ef7df63315507c82aa4895a0d7a07d0de5bca901913ccddc541d25efa22e4a",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x0d8f1817c644101a915852841a3b5933b0b8dcc7"
],
"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": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdef0c275",
"selector": "0xdef0c275",
"calldata_variants": [
"0xdef0c275",
"0xdef0c2750000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8b5498d",
"selector": "0xe8b5498d",
"calldata_variants": [
"0xe8b5498d",
"0xe8b5498d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6a6fde9",
"selector": "0xf6a6fde9",
"calldata_variants": [
"0xf6a6fde9",
"0xf6a6fde90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa77b3850",
"selector": "0xa77b3850",
"calldata_variants": [
"0xa77b3850",
"0xa77b38500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xaf031d51",
"selector": "0xaf031d51",
"calldata_variants": [
"0xaf031d51",
"0xaf031d510000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3775,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 12127,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x72ef7df63315507c82aa4895a0d7a07d0de5bca901913ccddc541d25efa22e4a
call_targets:
0x0d8f1817c644101a915852841a3b5933b0b8dcc7
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x72ef7df63315507c82aa4895a0d7a07d0de5bca901913ccddc541d25efa22e4a",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x0d8f1817c644101a915852841a3b5933b0b8dcc7"
],
"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": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdef0c275",
"selector": "0xdef0c275",
"calldata_variants": [
"0xdef0c275",
"0xdef0c2750000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8b5498d",
"selector": "0xe8b5498d",
"calldata_variants": [
"0xe8b5498d",
"0xe8b5498d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6a6fde9",
"selector": "0xf6a6fde9",
"calldata_variants": [
"0xf6a6fde9",
"0xf6a6fde90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa77b3850",
"selector": "0xa77b3850",
"calldata_variants": [
"0xa77b3850",
"0xa77b38500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xaf031d51",
"selector": "0xaf031d51",
"calldata_variants": [
"0xaf031d51",
"0xaf031d510000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3775,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 12127,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| medium | auth | codex | Uninitialized signerAddress allows anyone to mint with invalid signatures | 75 | no | — |
viewevidence_json{
"evidence": "Signature checks compare to `signerAddress` without ensuring it is non-zero.",
"locations": [
"contracts/Contract.sol:1650",
"contracts/Contract.sol:1686",
"contracts/Contract.sol:1702",
"contracts/Contract.sol:1744",
"contracts/Contract.sol:1774",
"contracts/Contract.sol:1779"
],
"recommendation": "Initialize `signerAddress` in the constructor and add `require(signerAddress != address(0))` to signature-gated functions. Also reject `ecrecover` returning `address(0)` and validate `v`/`s` ranges.",
"exploit_scenario": "`signerAddress` defaults to `address(0)` and can be left unset after deployment (or set to zero). `ecrecover` returns `address(0)` for invalid signatures, so the `verifySignature(...) == signerAddress` check passes. An attacker can mint VIP tokens for free (or allowlist tokens by paying) using `v=0,r=0,s=0` before the signer is set, potentially consuming the entire supply (limited only per-wallet)."
}
|
| low | auth | codex | Signatures lack domain separation, enabling cross-chain or cross-deployment replay | 65 | no | — |
viewevidence_json{
"evidence": "Message construction only includes sender, type string, amount/ids, bounty, and nonce.",
"locations": [
"contracts/Contract.sol:1688",
"contracts/Contract.sol:1704",
"contracts/Contract.sol:1750",
"contracts/Contract.sol:1779"
],
"recommendation": "Include `block.chainid` and `address(this)` in the signed payload, or migrate to EIP-712 typed structured data signatures.",
"exploit_scenario": "The signed message omits chain id and contract address. A valid allowlist/VIP/sacrifice signature from one deployment can be replayed on another deployment (or chain) that uses the same signer key and message format, bypassing intended per-deployment gating."
}
|