From 1196a25a385d71d16e4c0ed0e3e8d0b9e22ff68a Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Tue, 10 Dec 2024 22:16:20 -0500
Subject: [PATCH 01/21] add helper scripts

---
 scripts/deploy_contract.sh |  76 +++++++++++++
 scripts/ulm_client.py      | 227 +++++++++++++++++++++++++++++++++++++
 2 files changed, 303 insertions(+)
 create mode 100755 scripts/deploy_contract.sh
 create mode 100644 scripts/ulm_client.py

diff --git a/scripts/deploy_contract.sh b/scripts/deploy_contract.sh
new file mode 100755
index 000000000..f83598fa2
--- /dev/null
+++ b/scripts/deploy_contract.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+# Example usage: ./deploy_contract.sh --contract-hex-path ./misc/registry.hex --private-key-path ./misc/private_key.txt --http-provider-url http://localhost:8545
+
+# Function to display usage
+usage() {
+    echo "Usage: $0 --contract-hex-path <path_to_contract_hex> --private-key-path <path_to_private_key> [--http-provider-url <http_provider_url>]"
+    exit 1
+}
+
+# Default HTTP provider URL
+HTTP_PROVIDER="http://localhost:8545"
+
+# Parse named arguments
+while [[ "$#" -gt 0 ]]; do
+    case $1 in
+        --contract-hex-path) CONTRACT_HEX_PATH="$2"; shift ;;
+        --private-key-path) PRIVATE_KEY_PATH="$2"; shift ;;
+        --http-provider-url) HTTP_PROVIDER="$2"; shift ;;
+        *) usage ;;
+    esac
+    shift
+done
+
+if [ -z "$CONTRACT_HEX_PATH" ]; then
+    usage
+fi
+
+# Read the private key from the file
+PRIVATE_KEY=$(cat "$PRIVATE_KEY_PATH")
+
+# Get the block number at the start of the script
+BLOCK_NUMBER=$(cast block-number --rpc-url $HTTP_PROVIDER)
+echo "Block number at start of script: $BLOCK_NUMBER"
+
+# Get the sender address using the private key
+SENDER_ADDRESS=$(cast wallet address --private-key $PRIVATE_KEY)
+echo "Sender address: $SENDER_ADDRESS"
+
+# Get the balance of the sender address
+BALANCE=$(cast balance $SENDER_ADDRESS --rpc-url $HTTP_PROVIDER)
+echo "Balance at start of script: $BALANCE"
+
+# Read or compile the contract code
+if [ -n "$CONTRACT_HEX_PATH" ]; then
+    # Read the contract code from the hex file
+    CONTRACT_CODE=$(cat "$CONTRACT_HEX_PATH" | tr -d '\n')
+fi
+
+# Prepend 0x to the contract code
+CONTRACT_CODE="0x$CONTRACT_CODE"
+
+# Deploy the contract
+RECEIPT=$(cast send --private-key $PRIVATE_KEY --rpc-url $HTTP_PROVIDER --create $CONTRACT_CODE)
+TX_HASH=$(echo "$RECEIPT" | grep 'transactionHash' | awk '{print $2}')
+CONTRACT_ADDRESS=$(echo "$RECEIPT" | grep 'contractAddress' | awk '{print $2}')
+echo "Transaction hash: $TX_HASH"
+
+# Wait for the transaction to be mined
+while true; do
+    RECEIPT=$(cast tx $TX_HASH --rpc-url $HTTP_PROVIDER)
+    if [ "$RECEIPT" != "null" ]; then
+        break
+    fi
+    sleep 1
+done
+
+# Get the block number at the end of the script
+BLOCK_NUMBER=$(cast block-number --rpc-url $HTTP_PROVIDER)
+echo "Block number at end of script: $BLOCK_NUMBER"
+
+# Get the balance of the sender address
+BALANCE=$(cast balance $SENDER_ADDRESS --rpc-url $HTTP_PROVIDER)
+echo "Balance at end of script: $BALANCE"
+
+# Echo the contract address
+echo "Contract address: $CONTRACT_ADDRESS"
diff --git a/scripts/ulm_client.py b/scripts/ulm_client.py
new file mode 100644
index 000000000..4ec91804f
--- /dev/null
+++ b/scripts/ulm_client.py
@@ -0,0 +1,227 @@
+import os
+import unittest
+
+from eth_abi import decode, encode
+from web3 import Web3
+from web3.middleware import SignAndSendRawMiddlewareBuilder
+
+class ulm_client:
+    """Python interface to ULM"""
+
+    def setUp(self):
+        """Set up test environment with web3 connection and account details"""
+        # Initialize web3 connection
+        self.rpc_url = os.getenv("RPC_URL")
+        self.web3 = Web3(Web3.HTTPProvider(self.rpc_url))
+
+        # Set up test account
+        self.test_account_private_key = os.getenv("TEST_ACCOUNT_PRIVATE_KEY")
+        self.test_account = self.web3.eth.account.from_key(
+            self.test_account_private_key
+        )
+        self.test_account_address = self.test_account.address
+
+        # Get contract addresses from environment
+        self.registry_address = os.getenv("REGISTRY_ADDRESS")
+        self.wbtc_address = os.getenv("WBTC_ADDRESS")
+        self.pi2_address = os.getenv("PI2_ADDRESS")
+        self.usdc_address = os.getenv("USDC_ADDRESS")
+        self.weth_address = os.getenv("WETH_ADDRESS")
+
+        # Add middleware to automatically sign transactions
+        self.web3.middleware_onion.inject(
+            SignAndSendRawMiddlewareBuilder.build(self.test_account), layer=0
+        )
+
+    def function_selector(self, function_signature):
+        """Calculate function selector from signature
+
+        Args:
+            function_signature: String of function name and parameters
+
+        Returns:
+            bytes: First 4 bytes of keccak hash of function signature
+        """
+        return self.web3.keccak(text=function_signature)[:4]
+
+    def mint_token(self, token_address):
+        # Mint
+        mint_selector = self.function_selector("mint(address,uint256)")
+        mint_data = encode(
+            ["address", "uint256"],
+            [self.test_account_address, 1000000000000000000000000],
+        )  # 1,000,000 tokens
+        mint_tx = self.web3.eth.send_transaction(
+            {
+                "from": self.test_account_address,
+                "to": token_address,
+                "data": mint_selector + mint_data,
+            }
+        )
+        mint_tx_receipt = self.web3.eth.wait_for_transaction_receipt(mint_tx)
+        self.assertEqual(mint_tx_receipt["status"], 1)
+
+        # Verify balance
+        get_token_balance_selector = self.function_selector("balanceOf(address)")
+        get_token_balance_data = encode(["address"], [self.test_account_address])
+        get_token_balance_result = self.web3.eth.call(
+            {
+                "to": token_address,
+                "data": get_token_balance_selector + get_token_balance_data,
+            }
+        )
+        token_a_balance = int.from_bytes(get_token_balance_result, "big")
+
+        self.assertEqual(token_a_balance, 1000000000000000000000000)
+
+    def approve_token(self, token_address):
+        """Test approving spending of tokens"""
+        # Approve token A
+        approve_selector = self.function_selector("approve(address,uint256)")
+        approve_data = encode(
+            ["address", "uint256"], [token_address, 500000000000000000000000]
+        )  # 500,000 tokens
+        approve_token_tx = self.web3.eth.send_transaction(
+            {
+                "from": self.test_account_address,
+                "to": token_address,
+                "data": approve_selector + approve_data,
+            }
+        )
+        approve_token_tx_receipt = self.web3.eth.wait_for_transaction_receipt(
+            approve_token_tx
+        )
+        self.assertEqual(approve_token_tx_receipt["status"], 1)
+
+        # Verify token A allowance
+        allowance_selector = self.function_selector("allowance(address,address)")
+        allowance_token_data = encode(
+            ["address", "address"], [self.test_account_address, token_address]
+        )
+        allowance_token_result = self.web3.eth.call(
+            {
+                "to": token_address,
+                "data": allowance_selector + allowance_token_data,
+            }
+        )
+        token_allowance = int.from_bytes(allowance_token_result, "big")
+        self.assertEqual(token_allowance, 500000000000000000000000)
+
+    def check_token_identity(
+        self, token_address, expected_name, expected_decimals, expected_symbol
+    ):
+        """Read token identity"""
+        token_identity_selector = self.function_selector("name()")
+        token_identity_data = encode([], [])
+        token_identity_result = self.web3.eth.call(
+            {
+                "to": token_address,
+                "data": token_identity_selector + token_identity_data,
+            }
+        )
+
+        name = decode(["string"], token_identity_result)[0]
+        self.assertEqual(name, expected_name)
+
+        token_identity_selector = self.function_selector("decimals()")
+        token_identity_data = encode([], [])
+        token_identity_result = self.web3.eth.call(
+            {
+                "to": token_address,
+                "data": token_identity_selector + token_identity_data,
+            }
+        )
+        self.assertEqual(
+            int.from_bytes(token_identity_result, "big"), expected_decimals
+        )
+
+        token_identity_selector = self.function_selector("symbol()")
+        token_identity_data = encode([], [])
+        token_identity_result = self.web3.eth.call(
+            {
+                "to": token_address,
+                "data": token_identity_selector + token_identity_data,
+            }
+        )
+
+        symbol = decode(["string"], token_identity_result)[0]
+        self.assertEqual(symbol, expected_symbol)
+
+    def test_02_mint_wbtc(self):
+        """Test minting WBTC (Rust) to test account"""
+        self.mint_token(self.wbtc_address)
+
+    def test_03_mint_pi2(self):
+        """Test minting PI2 (Simple) to test account"""
+        self.mint_token(self.pi2_address)
+
+    def test_04_mint_usdc(self):
+        """Test minting USDC (Solidity) to test account"""
+        self.mint_token(self.usdc_address)
+
+    def test_05_mint_weth(self):
+        """Test minting WETH (EVM) to test account"""
+        # Mint
+        mint_selector = self.function_selector("deposit()")
+        mint_data = encode([], [])
+        mint_tx = self.web3.eth.send_transaction(
+            {
+                "from": self.test_account_address,
+                "to": self.weth_address,
+                "data": mint_selector + mint_data,
+                "value": 10000000000000000,
+            }
+        )
+        mint_tx_receipt = self.web3.eth.wait_for_transaction_receipt(mint_tx)
+        self.assertEqual(mint_tx_receipt["status"], 1)
+
+        # Verify balance
+        get_token_balance_selector = self.function_selector("balanceOf(address)")
+        get_token_balance_data = encode(["address"], [self.test_account_address])
+        get_token_balance_result = self.web3.eth.call(
+            {
+                "to": self.weth_address,
+                "data": get_token_balance_selector + get_token_balance_data,
+            }
+        )
+        token_a_balance = int.from_bytes(get_token_balance_result, "big")
+
+        self.assertEqual(token_a_balance, 10000000000000000)
+
+        get_eth_balance_result = self.web3.eth.get_balance(self.weth_address)
+        self.assertEqual(get_eth_balance_result, 10000000000000000)
+
+    def test_06_approve_wbtc(self):
+        """Test approving spending of WBTC (Rust)"""
+        self.approve_token(self.wbtc_address)
+
+    def test_07_approve_pi2(self):
+        """Test approving spending of PI2 (Simple)"""
+        self.approve_token(self.pi2_address)
+
+    def test_08_approve_usdc(self):
+        """Test approving spending of USDC (Solidity)"""
+        self.approve_token(self.usdc_address)
+
+    def test_09_approve_weth(self):
+        """Test approving spending of WETH (EVM)"""
+        self.approve_token(self.weth_address)
+
+    def test_10_wbtc_identity(self):
+        """Test WBTC (Rust) identity"""
+        self.check_token_identity(self.wbtc_address, "Wrapped Bitcoin", 18, "WBTC")
+
+    def test_11_pi2_identity(self):
+        """Test PI2 (Simple) identity"""
+        self.check_token_identity(self.pi2_address, "Pi Squared", 18, "PI2")
+
+    def test_12_usdc_identity(self):
+        """Test USDC (Solidity) identity"""
+        self.check_token_identity(self.usdc_address, "USD Coin", 18, "USDC")
+
+    def test_13_weth_identity(self):
+        """Test WETH (EVM) identity"""
+        self.check_token_identity(self.weth_address, "Wrapped Ethereum", 18, "WETH")
+
+if __name__ == "__main__":
+    pass

From 68ec46dbd32d47419f575b5d262eb205bfae68ff Mon Sep 17 00:00:00 2001
From: Virgil <virgil.serbanuta@pi2.network>
Date: Wed, 11 Dec 2024 19:10:35 +0200
Subject: [PATCH 02/21] Build fixes and instructions for the remote ULM demo

---
 Makefile                               |     5 +-
 README.md                              |    24 +-
 pykwasm/poetry.lock                    |  2113 +-
 pykwasm/pyproject.toml                 |     1 +
 pykwasm/src/pykwasm/deploy_contract.py |    33 +
 pykwasm/src/pykwasm/wasm2kore.py       |    50 +
 scripts/compile-contract               |     2 +-
 scripts/deploy_contract.sh             |     2 +
 tests/ulm/erc20/.gitignore             |     3 +
 tests/ulm/erc20/erc20.wast             | 24883 +++++++++++++++++++++++
 10 files changed, 26912 insertions(+), 204 deletions(-)
 create mode 100644 pykwasm/src/pykwasm/deploy_contract.py
 create mode 100644 pykwasm/src/pykwasm/wasm2kore.py
 create mode 100644 tests/ulm/erc20/.gitignore

diff --git a/Makefile b/Makefile
index 94c25e825..031dc232a 100644
--- a/Makefile
+++ b/Makefile
@@ -71,6 +71,9 @@ ULM_SRC_HOOKS=$(shell find "$(ULM_CLONE_DIR)/kllvm" -type f -a '(' -name '*.cpp'
 
 ULM_GETH_TARGET=$(ULM_BUILD_DIR)/geth
 
+ULM_SRC=$(wildcard $(ULM_CLONE_DIR)/**/*.cpp $(ULM_CLONE_DIR)/**/*.go $(ULM_CLONE_DIR)/**/*.h)
+# $(shell find rust-semantics/ -type f -a '(' -name '*.md' -or -name '*.k' ')')
+
 ### ULM Crypto Plugin
 
 $(ULM_KRYPTO_DIR)/.git:
@@ -93,7 +96,7 @@ ulm-krypto-build: $(ULM_KRYPTO_TARGET)
 $(ULM_CLONE_DIR)/.git:
 	@mkdir -p $(ULM_DEP_DIR)
 	cd $(ULM_DEP_DIR); \
-	  git clone --depth 1 https://github.com/pi-squared-inc/ulm
+	  git clone --depth 1 --branch contract-size-limits https://github.com/pi-squared-inc/ulm
 
 $(ULM_HOOKS_TARGET): $(ULM_SRC_HOOKS) | $(ULM_CLONE_DIR)/.git
 	@mkdir -p $(ULM_LIB_DIR)
diff --git a/README.md b/README.md
index b5a99cda5..1768746c2 100644
--- a/README.md
+++ b/README.md
@@ -196,7 +196,9 @@ poetry -C pykwasm run wasm ./build/wasm pykwasm/src/tests/integration/binary/bas
 To execute the Wasm VM remotely, you need to build the ULM by running:
 
 ```sh
-make ulm-build
+
+CXX=clang++-16 make ulm-wasm ulm-contract-compiler ulm-build -j8
+
 ```
 
 Then, you can start the ULM locally and load the Wasm VM into it by running:
@@ -206,9 +208,27 @@ Then, you can start the ULM locally and load the Wasm VM into it by running:
 ./scripts/ulm-load-lang ./build/lib/libwasm.so
 ```
 
+Compile the contract:
+```sh
+
+pushd tests/ulm/erc20/
+cargo build --target=wasm32-unknown-unknown --release
+cp target/wasm32-unknown-unknown/release/erc20.wasm ../
+popd
+
+poetry -C pykwasm install
+poetry -C pykwasm run python3 -m pykwasm.wasm2kore -- build/wasm/ tests/ulm/erc20/erc20.wasm tests/ulm/erc20/erc20.kore
+scripts/compile-contract tests/ulm/erc20/erc20.kore > tests/ulm/erc20/erc20.bin
+
+```
+
 Then, you can invoke Wasm programs by doing the following:
 
-**TODO**
+```sh
+poetry -C pykwasm run python3 -m pykwasm.deploy_contract
+
+TODO: More instructions
+```
 
 Resources
 ---------
diff --git a/pykwasm/poetry.lock b/pykwasm/poetry.lock
index 41f50582a..56ab140a3 100644
--- a/pykwasm/poetry.lock
+++ b/pykwasm/poetry.lock
@@ -1,4 +1,149 @@
-# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
+
+[[package]]
+name = "aiohappyeyeballs"
+version = "2.4.4"
+description = "Happy Eyeballs for asyncio"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8"},
+    {file = "aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"},
+]
+
+[[package]]
+name = "aiohttp"
+version = "3.11.10"
+description = "Async http client/server framework (asyncio)"
+optional = false
+python-versions = ">=3.9"
+files = [
+    {file = "aiohttp-3.11.10-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cbad88a61fa743c5d283ad501b01c153820734118b65aee2bd7dbb735475ce0d"},
+    {file = "aiohttp-3.11.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80886dac673ceaef499de2f393fc80bb4481a129e6cb29e624a12e3296cc088f"},
+    {file = "aiohttp-3.11.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:61b9bae80ed1f338c42f57c16918853dc51775fb5cb61da70d590de14d8b5fb4"},
+    {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e2e576caec5c6a6b93f41626c9c02fc87cd91538b81a3670b2e04452a63def6"},
+    {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02c13415b5732fb6ee7ff64583a5e6ed1c57aa68f17d2bda79c04888dfdc2769"},
+    {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfce37f31f20800a6a6620ce2cdd6737b82e42e06e6e9bd1b36f546feb3c44f"},
+    {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bbbfff4c679c64e6e23cb213f57cc2c9165c9a65d63717108a644eb5a7398df"},
+    {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49c7dbbc1a559ae14fc48387a115b7d4bbc84b4a2c3b9299c31696953c2a5219"},
+    {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:68386d78743e6570f054fe7949d6cb37ef2b672b4d3405ce91fafa996f7d9b4d"},
+    {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9ef405356ba989fb57f84cac66f7b0260772836191ccefbb987f414bcd2979d9"},
+    {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5d6958671b296febe7f5f859bea581a21c1d05430d1bbdcf2b393599b1cdce77"},
+    {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:99b7920e7165be5a9e9a3a7f1b680f06f68ff0d0328ff4079e5163990d046767"},
+    {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0dc49f42422163efb7e6f1df2636fe3db72713f6cd94688e339dbe33fe06d61d"},
+    {file = "aiohttp-3.11.10-cp310-cp310-win32.whl", hash = "sha256:40d1c7a7f750b5648642586ba7206999650208dbe5afbcc5284bcec6579c9b91"},
+    {file = "aiohttp-3.11.10-cp310-cp310-win_amd64.whl", hash = "sha256:68ff6f48b51bd78ea92b31079817aff539f6c8fc80b6b8d6ca347d7c02384e33"},
+    {file = "aiohttp-3.11.10-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:77c4aa15a89847b9891abf97f3d4048f3c2d667e00f8a623c89ad2dccee6771b"},
+    {file = "aiohttp-3.11.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:909af95a72cedbefe5596f0bdf3055740f96c1a4baa0dd11fd74ca4de0b4e3f1"},
+    {file = "aiohttp-3.11.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:386fbe79863eb564e9f3615b959e28b222259da0c48fd1be5929ac838bc65683"},
+    {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3de34936eb1a647aa919655ff8d38b618e9f6b7f250cc19a57a4bf7fd2062b6d"},
+    {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c9527819b29cd2b9f52033e7fb9ff08073df49b4799c89cb5754624ecd98299"},
+    {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a96e3e03300b41f261bbfd40dfdbf1c301e87eab7cd61c054b1f2e7c89b9e8"},
+    {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98f5635f7b74bcd4f6f72fcd85bea2154b323a9f05226a80bc7398d0c90763b0"},
+    {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:03b6002e20938fc6ee0918c81d9e776bebccc84690e2b03ed132331cca065ee5"},
+    {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6362cc6c23c08d18ddbf0e8c4d5159b5df74fea1a5278ff4f2c79aed3f4e9f46"},
+    {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3691ed7726fef54e928fe26344d930c0c8575bc968c3e239c2e1a04bd8cf7838"},
+    {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31d5093d3acd02b31c649d3a69bb072d539d4c7659b87caa4f6d2bcf57c2fa2b"},
+    {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8b3cf2dc0f0690a33f2d2b2cb15db87a65f1c609f53c37e226f84edb08d10f52"},
+    {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:fbbaea811a2bba171197b08eea288b9402faa2bab2ba0858eecdd0a4105753a3"},
+    {file = "aiohttp-3.11.10-cp311-cp311-win32.whl", hash = "sha256:4b2c7ac59c5698a7a8207ba72d9e9c15b0fc484a560be0788b31312c2c5504e4"},
+    {file = "aiohttp-3.11.10-cp311-cp311-win_amd64.whl", hash = "sha256:974d3a2cce5fcfa32f06b13ccc8f20c6ad9c51802bb7f829eae8a1845c4019ec"},
+    {file = "aiohttp-3.11.10-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b78f053a7ecfc35f0451d961dacdc671f4bcbc2f58241a7c820e9d82559844cf"},
+    {file = "aiohttp-3.11.10-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ab7485222db0959a87fbe8125e233b5a6f01f4400785b36e8a7878170d8c3138"},
+    {file = "aiohttp-3.11.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cf14627232dfa8730453752e9cdc210966490992234d77ff90bc8dc0dce361d5"},
+    {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076bc454a7e6fd646bc82ea7f98296be0b1219b5e3ef8a488afbdd8e81fbac50"},
+    {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:482cafb7dc886bebeb6c9ba7925e03591a62ab34298ee70d3dd47ba966370d2c"},
+    {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf3d1a519a324af764a46da4115bdbd566b3c73fb793ffb97f9111dbc684fc4d"},
+    {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24213ba85a419103e641e55c27dc7ff03536c4873470c2478cce3311ba1eee7b"},
+    {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b99acd4730ad1b196bfb03ee0803e4adac371ae8efa7e1cbc820200fc5ded109"},
+    {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:14cdb5a9570be5a04eec2ace174a48ae85833c2aadc86de68f55541f66ce42ab"},
+    {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7e97d622cb083e86f18317282084bc9fbf261801b0192c34fe4b1febd9f7ae69"},
+    {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:012f176945af138abc10c4a48743327a92b4ca9adc7a0e078077cdb5dbab7be0"},
+    {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44224d815853962f48fe124748227773acd9686eba6dc102578defd6fc99e8d9"},
+    {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c87bf31b7fdab94ae3adbe4a48e711bfc5f89d21cf4c197e75561def39e223bc"},
+    {file = "aiohttp-3.11.10-cp312-cp312-win32.whl", hash = "sha256:06a8e2ee1cbac16fe61e51e0b0c269400e781b13bcfc33f5425912391a542985"},
+    {file = "aiohttp-3.11.10-cp312-cp312-win_amd64.whl", hash = "sha256:be2b516f56ea883a3e14dda17059716593526e10fb6303189aaf5503937db408"},
+    {file = "aiohttp-3.11.10-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8cc5203b817b748adccb07f36390feb730b1bc5f56683445bfe924fc270b8816"},
+    {file = "aiohttp-3.11.10-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5ef359ebc6949e3a34c65ce20230fae70920714367c63afd80ea0c2702902ccf"},
+    {file = "aiohttp-3.11.10-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9bca390cb247dbfaec3c664326e034ef23882c3f3bfa5fbf0b56cad0320aaca5"},
+    {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:811f23b3351ca532af598405db1093f018edf81368e689d1b508c57dcc6b6a32"},
+    {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddf5f7d877615f6a1e75971bfa5ac88609af3b74796ff3e06879e8422729fd01"},
+    {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ab29b8a0beb6f8eaf1e5049252cfe74adbaafd39ba91e10f18caeb0e99ffb34"},
+    {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c49a76c1038c2dd116fa443eba26bbb8e6c37e924e2513574856de3b6516be99"},
+    {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f3dc0e330575f5b134918976a645e79adf333c0a1439dcf6899a80776c9ab39"},
+    {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:efb15a17a12497685304b2d976cb4939e55137df7b09fa53f1b6a023f01fcb4e"},
+    {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:db1d0b28fcb7f1d35600150c3e4b490775251dea70f894bf15c678fdd84eda6a"},
+    {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:15fccaf62a4889527539ecb86834084ecf6e9ea70588efde86e8bc775e0e7542"},
+    {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:593c114a2221444f30749cc5e5f4012488f56bd14de2af44fe23e1e9894a9c60"},
+    {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7852bbcb4d0d2f0c4d583f40c3bc750ee033265d80598d0f9cb6f372baa6b836"},
+    {file = "aiohttp-3.11.10-cp313-cp313-win32.whl", hash = "sha256:65e55ca7debae8faaffee0ebb4b47a51b4075f01e9b641c31e554fd376595c6c"},
+    {file = "aiohttp-3.11.10-cp313-cp313-win_amd64.whl", hash = "sha256:beb39a6d60a709ae3fb3516a1581777e7e8b76933bb88c8f4420d875bb0267c6"},
+    {file = "aiohttp-3.11.10-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0580f2e12de2138f34debcd5d88894786453a76e98febaf3e8fe5db62d01c9bf"},
+    {file = "aiohttp-3.11.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a55d2ad345684e7c3dd2c20d2f9572e9e1d5446d57200ff630e6ede7612e307f"},
+    {file = "aiohttp-3.11.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04814571cb72d65a6899db6099e377ed00710bf2e3eafd2985166f2918beaf59"},
+    {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e44a9a3c053b90c6f09b1bb4edd880959f5328cf63052503f892c41ea786d99f"},
+    {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:502a1464ccbc800b4b1995b302efaf426e8763fadf185e933c2931df7db9a199"},
+    {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:613e5169f8ae77b1933e42e418a95931fb4867b2991fc311430b15901ed67079"},
+    {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cca22a61b7fe45da8fc73c3443150c3608750bbe27641fc7558ec5117b27fdf"},
+    {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86a5dfcc39309470bd7b68c591d84056d195428d5d2e0b5ccadfbaf25b026ebc"},
+    {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:77ae58586930ee6b2b6f696c82cf8e78c8016ec4795c53e36718365f6959dc82"},
+    {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:78153314f26d5abef3239b4a9af20c229c6f3ecb97d4c1c01b22c4f87669820c"},
+    {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:98283b94cc0e11c73acaf1c9698dea80c830ca476492c0fe2622bd931f34b487"},
+    {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:53bf2097e05c2accc166c142a2090e4c6fd86581bde3fd9b2d3f9e93dda66ac1"},
+    {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c5532f0441fc09c119e1dca18fbc0687e64fbeb45aa4d6a87211ceaee50a74c4"},
+    {file = "aiohttp-3.11.10-cp39-cp39-win32.whl", hash = "sha256:47ad15a65fb41c570cd0ad9a9ff8012489e68176e7207ec7b82a0940dddfd8be"},
+    {file = "aiohttp-3.11.10-cp39-cp39-win_amd64.whl", hash = "sha256:c6b9e6d7e41656d78e37ce754813fa44b455c3d0d0dced2a047def7dc5570b74"},
+    {file = "aiohttp-3.11.10.tar.gz", hash = "sha256:b1fc6b45010a8d0ff9e88f9f2418c6fd408c99c211257334aff41597ebece42e"},
+]
+
+[package.dependencies]
+aiohappyeyeballs = ">=2.3.0"
+aiosignal = ">=1.1.2"
+async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""}
+attrs = ">=17.3.0"
+frozenlist = ">=1.1.1"
+multidict = ">=4.5,<7.0"
+propcache = ">=0.2.0"
+yarl = ">=1.17.0,<2.0"
+
+[package.extras]
+speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"]
+
+[[package]]
+name = "aiosignal"
+version = "1.3.1"
+description = "aiosignal: a list of registered asynchronous callbacks"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"},
+    {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"},
+]
+
+[package.dependencies]
+frozenlist = ">=1.1.0"
+
+[[package]]
+name = "annotated-types"
+version = "0.7.0"
+description = "Reusable constraint types to use with typing.Annotated"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
+    {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
+]
+
+[[package]]
+name = "async-timeout"
+version = "5.0.1"
+description = "Timeout context manager for asyncio programs"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"},
+    {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"},
+]
 
 [[package]]
 name = "attrs"
@@ -34,35 +179,181 @@ files = [
 pyflakes = ">=3.0.0"
 tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""}
 
+[[package]]
+name = "bitarray"
+version = "3.0.0"
+description = "efficient arrays of booleans -- C extension"
+optional = false
+python-versions = "*"
+files = [
+    {file = "bitarray-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5ddbf71a97ad1d6252e6e93d2d703b624d0a5b77c153b12f9ea87d83e1250e0c"},
+    {file = "bitarray-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0e7f24a0b01e6e6a0191c50b06ca8edfdec1988d9d2b264d669d2487f4f4680"},
+    {file = "bitarray-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:150b7b29c36d9f1a24779aea723fdfc73d1c1c161dc0ea14990da27d4e947092"},
+    {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8330912be6cb8e2fbfe8eb69f82dee139d605730cadf8d50882103af9ac83bb4"},
+    {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e56ba8be5f17dee0ffa6d6ce85251e062ded2faa3cbd2558659c671e6c3bf96d"},
+    {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffd94b4803811c738e504a4b499fb2f848b2f7412d71e6b517508217c1d7929d"},
+    {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0255bd05ec7165e512c115423a5255a3f301417973d20a80fc5bfc3f3640bcb"},
+    {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe606e728842389943a939258809dc5db2de831b1d2e0118515059e87f7bbc1a"},
+    {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e89ea59a3ed86a6eb150d016ed28b1bedf892802d0ed32b5659d3199440f3ced"},
+    {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cf0cc2e91dd38122dec2e6541efa99aafb0a62e118179218181eff720b4b8153"},
+    {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:2d9fe3ee51afeb909b68f97e14c6539ace3f4faa99b21012e610bbe7315c388d"},
+    {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:37be5482b9df3105bad00fdf7dc65244e449b130867c3879c9db1db7d72e508b"},
+    {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0027b8f3bb2bba914c79115e96a59b9924aafa1a578223a7c4f0a7242d349842"},
+    {file = "bitarray-3.0.0-cp310-cp310-win32.whl", hash = "sha256:628f93e9c2c23930bd1cfe21c634d6c84ec30f45f23e69aefe1fcd262186d7bb"},
+    {file = "bitarray-3.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:0b655c3110e315219e266b2732609fddb0857bc69593de29f3c2ba74b7d3f51a"},
+    {file = "bitarray-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:44c3e78b60070389b824d5a654afa1c893df723153c81904088d4922c3cfb6ac"},
+    {file = "bitarray-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:545d36332de81e4742a845a80df89530ff193213a50b4cbef937ed5a44c0e5e5"},
+    {file = "bitarray-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8a9eb510cde3fa78c2e302bece510bf5ed494ec40e6b082dec753d6e22d5d1b1"},
+    {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e3727ab63dfb6bde00b281934e2212bb7529ea3006c0031a556a84d2268bea5"},
+    {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2055206ed653bee0b56628f6a4d248d53e5660228d355bbec0014bdfa27050ae"},
+    {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:147542299f458bdb177f798726e5f7d39ab8491de4182c3c6d9885ed275a3c2b"},
+    {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f761184b93092077c7f6b7dad7bd4e671c1620404a76620da7872ceb576a94"},
+    {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e008b7b4ce6c7f7a54b250c45c28d4243cc2a3bbfd5298fa7dac92afda229842"},
+    {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dfea514e665af278b2e1d4deb542de1cd4f77413bee83dd15ae16175976ea8d5"},
+    {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:66d6134b7bb737b88f1d16478ad0927c571387f6054f4afa5557825a4c1b78e2"},
+    {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3cd565253889940b4ec4768d24f101d9fe111cad4606fdb203ea16f9797cf9ed"},
+    {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4800c91a14656789d2e67d9513359e23e8a534c8ee1482bb9b517a4cfc845200"},
+    {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c2945e0390d1329c585c584c6b6d78be017d9c6a1288f9c92006fe907f69cc28"},
+    {file = "bitarray-3.0.0-cp311-cp311-win32.whl", hash = "sha256:c23286abba0cb509733c6ce8f4013cd951672c332b2e184dbefbd7331cd234c8"},
+    {file = "bitarray-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:ca79f02a98cbda1472449d440592a2fe2ad96fe55515a0447fa8864a38017cf8"},
+    {file = "bitarray-3.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:184972c96e1c7e691be60c3792ca1a51dd22b7f25d96ebea502fe3c9b554f25d"},
+    {file = "bitarray-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:787db8da5e9e29be712f7a6bce153c7bc8697ccc2c38633e347bb9c82475d5c9"},
+    {file = "bitarray-3.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2da91ab3633c66999c2a352f0ca9ae064f553e5fc0eca231d28e7e305b83e942"},
+    {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7edb83089acbf2c86c8002b96599071931dc4ea5e1513e08306f6f7df879a48b"},
+    {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996d1b83eb904589f40974538223eaed1ab0f62be8a5105c280b9bd849e685c4"},
+    {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4817d73d995bd2b977d9cde6050be8d407791cf1f84c8047fa0bea88c1b815bc"},
+    {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d47bc4ff9b0e1624d613563c6fa7b80aebe7863c56c3df5ab238bb7134e8755"},
+    {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aca0a9cd376beaccd9f504961de83e776dd209c2de5a4c78dc87a78edf61839b"},
+    {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:572a61fba7e3a710a8324771322fba8488d134034d349dcd036a7aef74723a80"},
+    {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a817ad70c1aff217530576b4f037dd9b539eb2926603354fcac605d824082ad1"},
+    {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:2ac67b658fa5426503e9581a3fb44a26a3b346c1abd17105735f07db572195b3"},
+    {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:12f19ede03e685c5c588ab5ed63167999295ffab5e1126c5fe97d12c0718c18f"},
+    {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fcef31b062f756ba7eebcd7890c5d5de84b9d64ee877325257bcc9782288564a"},
+    {file = "bitarray-3.0.0-cp312-cp312-win32.whl", hash = "sha256:656db7bdf1d81ec3b57b3cad7ec7276765964bcfd0eb81c5d1331f385298169c"},
+    {file = "bitarray-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:f785af6b7cb07a9b1e5db0dea9ef9e3e8bb3d74874a0a61303eab9c16acc1999"},
+    {file = "bitarray-3.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7cb885c043000924554fe2124d13084c8fdae03aec52c4086915cd4cb87fe8be"},
+    {file = "bitarray-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7814c9924a0b30ecd401f02f082d8697fc5a5be3f8d407efa6e34531ff3c306a"},
+    {file = "bitarray-3.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bcf524a087b143ba736aebbb054bb399d49e77cf7c04ed24c728e411adc82bfa"},
+    {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1d5abf1d6d910599ac16afdd9a0ed3e24f3b46af57f3070cf2792f236f36e0b"},
+    {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9929051feeaf8d948cc0b1c9ce57748079a941a1a15c89f6014edf18adaade84"},
+    {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96cf0898f8060b2d3ae491762ae871b071212ded97ff9e1e3a5229e9fefe544c"},
+    {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab37da66a8736ad5a75a58034180e92c41e864da0152b84e71fcc253a2f69cd4"},
+    {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beeb79e476d19b91fd6a3439853e4e5ba1b3b475920fa40d62bde719c8af786f"},
+    {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f75fc0198c955d840b836059bd43e0993edbf119923029ca60c4fc017cefa54a"},
+    {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f12cc7c7638074918cdcc7491aff897df921b092ffd877227892d2686e98f876"},
+    {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dbe1084935b942fab206e609fa1ed3f46ad1f2612fb4833e177e9b2a5e006c96"},
+    {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ac06dd72ee1e1b6e312504d06f75220b5894af1fb58f0c20643698f5122aea76"},
+    {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:00f9a88c56e373009ac3c73c55205cfbd9683fbd247e2f9a64bae3da78795252"},
+    {file = "bitarray-3.0.0-cp313-cp313-win32.whl", hash = "sha256:9c6e52005e91803eb4e08c0a08a481fb55ddce97f926bae1f6fa61b3396b5b61"},
+    {file = "bitarray-3.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:cb98d5b6eac4b2cf2a5a69f60a9c499844b8bea207059e9fc45c752436e6bb49"},
+    {file = "bitarray-3.0.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:eb27c01b747649afd7e1c342961680893df6d8d81f832a6f04d8c8e03a8a54cc"},
+    {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4683bff52f5a0fd523fb5d3138161ef87611e63968e1fcb6cf4b0c6a86970fe0"},
+    {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cb7302dbcfcb676f0b66f15891f091d0233c4fc23e1d4b9dc9b9e958156e347f"},
+    {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:153d7c416a70951dcfa73487af05d2f49c632e95602f1620cd9a651fa2033695"},
+    {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251cd5bd47f542893b2b61860eded54f34920ea47fd5bff038d85e7a2f7ae99b"},
+    {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5fa4b4d9fa90124b33b251ef74e44e737021f253dc7a9174e1b39f097451f7ca"},
+    {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:18abdce7ab5d2104437c39670821cba0b32fdb9b2da9e6d17a4ff295362bd9dc"},
+    {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:2855cc01ee370f7e6e3ec97eebe44b1453c83fb35080313145e2c8c3c5243afb"},
+    {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:0cecaf2981c9cd2054547f651537b4f4939f9fe225d3fc2b77324b597c124e40"},
+    {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_s390x.whl", hash = "sha256:22b00f65193fafb13aa644e16012c8b49e7d5cbb6bb72825105ff89aadaa01e3"},
+    {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:20f30373f0af9cb583e4122348cefde93c82865dbcbccc4997108b3d575ece84"},
+    {file = "bitarray-3.0.0-cp36-cp36m-win32.whl", hash = "sha256:aef404d5400d95c6ec86664df9924bde667c8865f8e33c9b7bd79823d53b3e5d"},
+    {file = "bitarray-3.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:ec5b0f2d13da53e0975ac15ecbe8badb463bdb0bebaa09457f4df3320421915c"},
+    {file = "bitarray-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:041c889e69c847b8a96346650e50f728b747ae176889199c49a3f31ae1de0e23"},
+    {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc83ea003dd75e9ade3291ef0585577dd5524aec0c8c99305c0aaa2a7570d6db"},
+    {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c33129b49196aa7965ac0f16fcde7b6ad8614b606caf01669a0277cef1afe1d"},
+    {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ef5c787c8263c082a73219a69eb60a500e157a4ac69d1b8515ad836b0e71fb4"},
+    {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e15c94d79810c5ab90ddf4d943f71f14332890417be896ca253f21fa3d78d2b1"},
+    {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cd021ada988e73d649289cee00428b75564c46d55fbdcb0e3402e504b0ae5ea"},
+    {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7f1c24be7519f16a47b7e2ad1a1ef73023d34d8cbe1a3a59b185fc14baabb132"},
+    {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:000df24c183011b5d27c23d79970f49b6762e5bb5aacd25da9c3e9695c693222"},
+    {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:42bf1b222c698b467097f58b9f59dc850dfa694dde4e08237407a6a103757aa3"},
+    {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:648e7ce794928e8d11343b5da8ecc5b910af75a82ea1a4264d5d0a55c3785faa"},
+    {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:f536fc4d1a683025f9caef0bebeafd60384054579ffe0825bb9bd8c59f8c55b8"},
+    {file = "bitarray-3.0.0-cp37-cp37m-win32.whl", hash = "sha256:a754c1464e7b946b1cac7300c582c6fba7d66e535cd1dab76d998ad285ac5a37"},
+    {file = "bitarray-3.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e91d46d12781a14ccb8b284566b14933de4e3b29f8bc5e1c17de7a2001ad3b5b"},
+    {file = "bitarray-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:904c1d5e3bd24f0c0d37a582d2461312033c91436a6a4f3bdeeceb4bea4a899d"},
+    {file = "bitarray-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:47ccf9887bd595d4a0536f2310f0dcf89e17ab83b8befa7dc8727b8017120fda"},
+    {file = "bitarray-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:71ad0139c95c9acf4fb62e203b428f9906157b15eecf3f30dc10b55919225896"},
+    {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53e002ac1073ac70e323a7a4bfa9ab95e7e1a85c79160799e265563f342b1557"},
+    {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acc07211a59e2f245e9a06f28fa374d094fb0e71cf5366eef52abbb826ddc81e"},
+    {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98a4070ddafabddaee70b2aa7cc6286cf73c37984169ab03af1782da2351059a"},
+    {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7d09ef06ba57bea646144c29764bf6b870fb3c5558ca098191e07b6a1d40bf7"},
+    {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce249ed981f428a8b61538ca82d3875847733d579dd40084ab8246549160f8a4"},
+    {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea40e98d751ed4b255db4a88fe8fb743374183f78470b9e9305aab186bf28ede"},
+    {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:928b8b6dfcd015e1a81334cfdac02815da2a2407854492a80cf8a3a922b04052"},
+    {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:fbb645477595ce2a0fbb678d1cfd08d3b896e5d56196d40fb9e114eeab9382b3"},
+    {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:dc1937a0ff2671797d35243db4b596329842480d125a65e9fe964bcffaf16dfc"},
+    {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a4f49ac31734fe654a68e2515c0da7f5bbdf2d52755ba09a42ac406f1f08c9d0"},
+    {file = "bitarray-3.0.0-cp38-cp38-win32.whl", hash = "sha256:6d2a2ce73f9897268f58857ad6893a1a6680c5a6b28f79d21c7d33285a5ae646"},
+    {file = "bitarray-3.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:b1047999f1797c3ea7b7c85261649249c243308dcf3632840d076d18fa72f142"},
+    {file = "bitarray-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:39b38a3d45dac39d528c87b700b81dfd5e8dc8e9e1a102503336310ef837c3fd"},
+    {file = "bitarray-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0e104f9399144fab6a892d379ba1bb4275e56272eb465059beef52a77b4e5ce6"},
+    {file = "bitarray-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0879f839ec8f079fa60c3255966c2e1aa7196699a234d4e5b7898fbc321901b5"},
+    {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9502c2230d59a4ace2fddfd770dad8e8b414cbd99517e7e56c55c20997c28b8d"},
+    {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57d5ef854f8ec434f2ffd9ddcefc25a10848393fe2976e2be2c8c773cf5fef42"},
+    {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a3c36b2fcfebe15ad1c10a90c1d52a42bebe960adcbce340fef867203028fbe7"},
+    {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66a33a537e781eac3a352397ce6b07eedf3a8380ef4a804f8844f3f45e335544"},
+    {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa54c7e1da8cf4be0aab941ea284ec64033ede5d6de3fd47d75e77cafe986e9d"},
+    {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a667ea05ba1ea81b722682276dbef1d36990f8908cf51e570099fd505a89f931"},
+    {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d756bfeb62ca4fe65d2af7a39249d442c05070c047d03729ad6cd4c2e9b0f0bd"},
+    {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c9e9fef0754867d88e948ce8351c9fd7e507d8514e0f242fd67c907b9cdf98b3"},
+    {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:67a0b56dd02f2713f6f52cacb3f251afd67c94c5f0748026d307d87a81a8e15c"},
+    {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d8c36ddc1923bcc4c11b9994c54eaae25034812a42400b7b8a86fe6d242166a2"},
+    {file = "bitarray-3.0.0-cp39-cp39-win32.whl", hash = "sha256:1414a7102a3c4986f241480544f5c99f5d32258fb9b85c9c04e84e48c490ab35"},
+    {file = "bitarray-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:8c9733d2ff9b7838ac04bf1048baea153174753e6a47312be14c83c6a395424b"},
+    {file = "bitarray-3.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fef4e3b3f2084b4dae3e5316b44cda72587dcc81f68b4eb2dbda1b8d15261b61"},
+    {file = "bitarray-3.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e9eee03f187cef1e54a4545124109ee0afc84398628b4b32ebb4852b4a66393"},
+    {file = "bitarray-3.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb5702dd667f4bb10fed056ffdc4ddaae8193a52cd74cb2cdb54e71f4ef2dd1"},
+    {file = "bitarray-3.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:666e44b0458bb2894b64264a29f2cc7b5b2cbcc4c5e9cedfe1fdbde37a8e329a"},
+    {file = "bitarray-3.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c756a92cf1c1abf01e56a4cc40cb89f0ff9147f2a0be5b557ec436a23ff464d8"},
+    {file = "bitarray-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7e51e7f8289bf6bb631e1ef2a8f5e9ca287985ff518fe666abbdfdb6a848cb26"},
+    {file = "bitarray-3.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fa5d8e4b28388b337face6ce4029be73585651a44866901513df44be9a491ab"},
+    {file = "bitarray-3.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3963b80a68aedcd722a9978d261ae53cb9bb6a8129cc29790f0f10ce5aca287a"},
+    {file = "bitarray-3.0.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b555006a7dea53f6bebc616a4d0249cecbf8f1fadf77860120a2e5dbdc2f167"},
+    {file = "bitarray-3.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:4ac2027ca650a7302864ed2528220d6cc6921501b383e9917afc7a2424a1e36d"},
+    {file = "bitarray-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bf90aba4cff9e72e24ecdefe33bad608f147a23fa5c97790a5bab0e72fe62b6d"},
+    {file = "bitarray-3.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a199e6d7c3bad5ba9d0e4dc00dde70ee7d111c9dfc521247fa646ef59fa57e"},
+    {file = "bitarray-3.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43b6c7c4f4a7b80e86e24a76f4c6b9b67d03229ea16d7d403520616535c32196"},
+    {file = "bitarray-3.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34fc13da3518f14825b239374734fce93c1a9299ed7b558c3ec1d659ec7e4c70"},
+    {file = "bitarray-3.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:369b6d457af94af901d632c7e625ca6caf0a7484110fc91c6290ce26bc4f1478"},
+    {file = "bitarray-3.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ee040ad3b7dfa05e459713099f16373c1f2a6f68b43cb0575a66718e7a5daef4"},
+    {file = "bitarray-3.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dad7ba2af80f9ec1dd988c3aca7992408ec0d0b4c215b65d353d95ab0070b10"},
+    {file = "bitarray-3.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4839d3b64af51e4b8bb4a602563b98b9faeb34fd6c00ed23d7834e40a9d080fc"},
+    {file = "bitarray-3.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f71f24b58e75a889b9915e3197865302467f13e7390efdea5b6afc7424b3a2ea"},
+    {file = "bitarray-3.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:bcf0150ae0bcc4aa97bdfcb231b37bad1a59083c1b5012643b266012bf420e68"},
+    {file = "bitarray-3.0.0.tar.gz", hash = "sha256:a2083dc20f0d828a7cdf7a16b20dae56aab0f43dc4f347a3b3039f6577992b03"},
+]
+
 [[package]]
 name = "black"
-version = "24.8.0"
+version = "24.10.0"
 description = "The uncompromising code formatter."
 optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
 files = [
-    {file = "black-24.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6"},
-    {file = "black-24.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb"},
-    {file = "black-24.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42"},
-    {file = "black-24.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a"},
-    {file = "black-24.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1"},
-    {file = "black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af"},
-    {file = "black-24.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4"},
-    {file = "black-24.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af"},
-    {file = "black-24.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368"},
-    {file = "black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed"},
-    {file = "black-24.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018"},
-    {file = "black-24.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2"},
-    {file = "black-24.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:505289f17ceda596658ae81b61ebbe2d9b25aa78067035184ed0a9d855d18afd"},
-    {file = "black-24.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b19c9ad992c7883ad84c9b22aaa73562a16b819c1d8db7a1a1a49fb7ec13c7d2"},
-    {file = "black-24.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f13f7f386f86f8121d76599114bb8c17b69d962137fc70efe56137727c7047e"},
-    {file = "black-24.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:f490dbd59680d809ca31efdae20e634f3fae27fba3ce0ba3208333b713bc3920"},
-    {file = "black-24.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c"},
-    {file = "black-24.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e"},
-    {file = "black-24.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47"},
-    {file = "black-24.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb"},
-    {file = "black-24.8.0-py3-none-any.whl", hash = "sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed"},
-    {file = "black-24.8.0.tar.gz", hash = "sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f"},
+    {file = "black-24.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6668650ea4b685440857138e5fe40cde4d652633b1bdffc62933d0db4ed9812"},
+    {file = "black-24.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c536fcf674217e87b8cc3657b81809d3c085d7bf3ef262ead700da345bfa6ea"},
+    {file = "black-24.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:649fff99a20bd06c6f727d2a27f401331dc0cc861fb69cde910fe95b01b5928f"},
+    {file = "black-24.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe4d6476887de70546212c99ac9bd803d90b42fc4767f058a0baa895013fbb3e"},
+    {file = "black-24.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a2221696a8224e335c28816a9d331a6c2ae15a2ee34ec857dcf3e45dbfa99ad"},
+    {file = "black-24.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9da3333530dbcecc1be13e69c250ed8dfa67f43c4005fb537bb426e19200d50"},
+    {file = "black-24.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4007b1393d902b48b36958a216c20c4482f601569d19ed1df294a496eb366392"},
+    {file = "black-24.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:394d4ddc64782e51153eadcaaca95144ac4c35e27ef9b0a42e121ae7e57a9175"},
+    {file = "black-24.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3"},
+    {file = "black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65"},
+    {file = "black-24.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f"},
+    {file = "black-24.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8"},
+    {file = "black-24.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cbacacb19e922a1d75ef2b6ccaefcd6e93a2c05ede32f06a21386a04cedb981"},
+    {file = "black-24.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1f93102e0c5bb3907451063e08b9876dbeac810e7da5a8bfb7aeb5a9ef89066b"},
+    {file = "black-24.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ddacb691cdcdf77b96f549cf9591701d8db36b2f19519373d60d31746068dbf2"},
+    {file = "black-24.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:680359d932801c76d2e9c9068d05c6b107f2584b2a5b88831c83962eb9984c1b"},
+    {file = "black-24.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:17374989640fbca88b6a448129cd1745c5eb8d9547b464f281b251dd00155ccd"},
+    {file = "black-24.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:63f626344343083322233f175aaf372d326de8436f5928c042639a4afbbf1d3f"},
+    {file = "black-24.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfa1d0cb6200857f1923b602f978386a3a2758a65b52e0950299ea014be6800"},
+    {file = "black-24.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:2cd9c95431d94adc56600710f8813ee27eea544dd118d45896bb734e9d7a0dc7"},
+    {file = "black-24.10.0-py3-none-any.whl", hash = "sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d"},
+    {file = "black-24.10.0.tar.gz", hash = "sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875"},
 ]
 
 [package.dependencies]
@@ -76,10 +367,238 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""}
 
 [package.extras]
 colorama = ["colorama (>=0.4.3)"]
-d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"]
+d = ["aiohttp (>=3.10)"]
 jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
 uvloop = ["uvloop (>=0.15.2)"]
 
+[[package]]
+name = "certifi"
+version = "2024.8.30"
+description = "Python package for providing Mozilla's CA Bundle."
+optional = false
+python-versions = ">=3.6"
+files = [
+    {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"},
+    {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"},
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.0"
+description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
+optional = false
+python-versions = ">=3.7.0"
+files = [
+    {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"},
+    {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"},
+    {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"},
+    {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"},
+    {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"},
+    {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"},
+    {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"},
+    {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"},
+    {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"},
+    {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"},
+]
+
+[[package]]
+name = "ckzg"
+version = "2.0.1"
+description = "Python bindings for C-KZG-4844"
+optional = false
+python-versions = "*"
+files = [
+    {file = "ckzg-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b7f9ba6d215f8981c5545f952aac84875bd564a63da02fb22a3d1321662ecdc0"},
+    {file = "ckzg-2.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8fdec3ff96399acba9baeef9e1b0b5258c08f73245780e6c69f7b73def5e8d0a"},
+    {file = "ckzg-2.0.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1644369af9900a9f109d417d6760693edf134118f3100d0c68f56667de775b80"},
+    {file = "ckzg-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0a2146f122d489ac7e67ae0c0743f8d0db1718e6aeed8f05717340594fe07dd"},
+    {file = "ckzg-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:979841be50f2782b447762db38e9bc927ae251f6ca86c54a26561a52068ee779"},
+    {file = "ckzg-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4516d86647ee4e8ea9470f4adf68fbebb6dc1bdedff7d9592c2504fe53145908"},
+    {file = "ckzg-2.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:91866fc58a29b4829201efd9ffadfac3ffeca6359254a54a360ff6a189c34bf5"},
+    {file = "ckzg-2.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ed35508dac059b2c0a7994383bc7a92eaf35d0b9ce790016819e2619e0f4b8a9"},
+    {file = "ckzg-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:449c4fe38017351eca362106420eeb2d28d50b7e54aa8668b3af29a8ab780132"},
+    {file = "ckzg-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:260608a22e2f2cadcd31f4495832d45d6460438c38faba9761b92df885a99d88"},
+    {file = "ckzg-2.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e1015f99c50215098751b07d7e459ba9a2790d3692ca81552eed29996128e90d"},
+    {file = "ckzg-2.0.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dd350d97554c161dc5b8c7b32c2dc8e659632c374f60e2669fb3c9b5b294827"},
+    {file = "ckzg-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eec7724fa8dc4ae95757efe4a87e7b2d4b880cb348c72ce7355fc0c4f64bc298"},
+    {file = "ckzg-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3fa0f4398fa67fb71f0a2b34a652cc89e6e0e6af1340b0dc771db1a5f3e089c"},
+    {file = "ckzg-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f865a0297aabeeb638187a46f7df445763360417b9df4dea60560d512c2cda09"},
+    {file = "ckzg-2.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b6ec738350771dbf5974fb70cc8bbb20a4df784af770f7e655922adc08a2171"},
+    {file = "ckzg-2.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9b4b669fc77edeb16adc182efc32b3737b36f741a2e33a170d40619e8b171a94"},
+    {file = "ckzg-2.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:decb97f4a17c7338b2130dcc4b045df4cc0e7785ece872c764b554c7c73a99ff"},
+    {file = "ckzg-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:285cf3121b8a8c5609c5b706314f68d2ba2784ab02c5bb7487c6ae1714ecb27f"},
+    {file = "ckzg-2.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f927bc41c2551b0ef0056a649a7ebed29d9665680a10795f4cee5002c69ddb7"},
+    {file = "ckzg-2.0.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fd9fb690c88919f30c9f3ab7cc46a7ecd734d5ff4c9ccea383c119b9b7cc4da"},
+    {file = "ckzg-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fabc3bd41b306d1c7025d561c3281a007c2aca8ceaf998582dc3894904d9c73e"},
+    {file = "ckzg-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2eb50c53efdb9c34f762bd0c8006cf79bc92a9daf47aa6b541e496988484124f"},
+    {file = "ckzg-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7960cc62f959403293fb53a3c2404778369ae7cefc6d7f202e5e00567cf98c4b"},
+    {file = "ckzg-2.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d721bcd492294c70eca39da0b0a433c29b6a571dbac2f7084bab06334904af06"},
+    {file = "ckzg-2.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dde2391d025b5033ef0eeacf62b11ecfe446aea25682b5f547a907766ad0a8cb"},
+    {file = "ckzg-2.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fab8859d9420f6f7df4e094ee3639bc49d18c8dab0df81bee825e2363dd67a09"},
+    {file = "ckzg-2.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9747d92883199d4f8f3a3d7018134745fddcf692dfe67115434e4b32609ea785"},
+    {file = "ckzg-2.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b2cf58fb9e165da97f0ffe9f4a6efb73992645fac8e0fa223a6cc7ec486a434a"},
+    {file = "ckzg-2.0.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d25d006899d76bb8c9d3e8b27981dd6b66a78f9826e33c1bf981af6577a69a19"},
+    {file = "ckzg-2.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a04bf0b32f04f5ea5e4b8518e292d3321bc05596fde95f9c3b4f504e5e4bc780"},
+    {file = "ckzg-2.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d0cf3dccd72376bff10e1833641cc9d642f34f60ca63972626d9dfcfdc8e77f"},
+    {file = "ckzg-2.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:770809c7e93087470cc524724419b0f85590edb033c7c73ba94aef70b36ca18b"},
+    {file = "ckzg-2.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e31b59b8124148d5e21f7e41b35532d7af98260c44a77c3917958adece84296d"},
+    {file = "ckzg-2.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:174f0c356df644d6e349ce03b7284d83dbec859e11ca5d1b1b3bace8b8fbc65d"},
+    {file = "ckzg-2.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:30e375cd45142e56b5dbfdec05ce4deb2368d7f7dedfc7408ba37d5639af05ff"},
+    {file = "ckzg-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:abdee71958b214730a8341b16bdd413d0fab1b1a2504fbdb7b0ef2aeee9f9d22"},
+    {file = "ckzg-2.0.1-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b4442667058db791325fe231f22e4fc7aaa3495d535d75af5595bc5f4f86036"},
+    {file = "ckzg-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c3c9aa9d4477ad52f3561b717e776c1a8a442d9d8b06600c7d8a2857d1ecf05"},
+    {file = "ckzg-2.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68e0a9cde35f11e80b4e560d22990f2f29dd200a95d3141acde137cb6c883f9a"},
+    {file = "ckzg-2.0.1-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:4508a089e53330866d3360000d76483400eeab5f8057b8e1f3e344ce2cc0097b"},
+    {file = "ckzg-2.0.1-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:828cecee16ec576dcf4386beac4eedfd058fd32ee90827f2282e7156a53600be"},
+    {file = "ckzg-2.0.1-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:bd437ec1dfb4f5609979328b5f465a74307f45d46d24234868c67d44da96903b"},
+    {file = "ckzg-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:70406b10acf68469ac62110047044a6c1a998f5d5fcd6e27cb3ec2d5760d0490"},
+    {file = "ckzg-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2f53fba88febac17e82a96eb83dc38ecf4b28abcdd15c0246534c358bd3b26c4"},
+    {file = "ckzg-2.0.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be8e0d5015e7755af4ddaab9ae1a4084f72c84b2cbb53628f4366aeed46cc380"},
+    {file = "ckzg-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:261414121091042d29f28fc319d7c9a7f950f91f8bf54c010b581ee6a0499473"},
+    {file = "ckzg-2.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:524e1e66edd2be2c38b660824aa7b5d4525b41b30ac029d80738a8eee491aeb5"},
+    {file = "ckzg-2.0.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:4a12a1d8ef8f475d9f0af9a538e1674057e007806cb1204bb269ea00d9f8c1e5"},
+    {file = "ckzg-2.0.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:4cc4bb5f62417a58065deeaf124e178cb1787ef3228e6032600d1e0a2775765b"},
+    {file = "ckzg-2.0.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:e7b015f5615bcb82fa0d935481a209fc1dcd9308fb52fb1a7e5400108df67a94"},
+    {file = "ckzg-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0518933ff3b9550f9dd60d833cdb74e8e97cc1cc58f0560b706916606dfd47d0"},
+    {file = "ckzg-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1ac0bca0795990076cde1930ecec307379b5303e34367c6e6e8a16bdba5a7ba5"},
+    {file = "ckzg-2.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8086d23a41020ede312843bda7ea4ee0c9831265379027904106f99f2f8ed469"},
+    {file = "ckzg-2.0.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:31d1b141d41fa51aeac9440c936b812e885aef5719adfbd3a27550d8dc433997"},
+    {file = "ckzg-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60a58e4d8cb91bad669ca111b7ccdd05c32de6787fdb571bb599625b043ad75b"},
+    {file = "ckzg-2.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:633e143385622d7a43fcb5c4f400ec5ec15df0b1c74ab7d6449a41a7abed24ad"},
+    {file = "ckzg-2.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:4876313614ea01f9a0039b5ca2c754340ba40aa8405f8756912d90ae55718011"},
+    {file = "ckzg-2.0.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:19c86c8102200484074afac06b3946b457ba9915636de187f63854522be2e3bd"},
+    {file = "ckzg-2.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:564abf27878f129781e1df4d33b1c4e264e5b25f89c1bdf95b7d6256e4bceb6c"},
+    {file = "ckzg-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:bc2da29bb970d3f5de04fb60797dbb4490c010ffc683cbc6016349dd6fa60d14"},
+    {file = "ckzg-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9c1869671140ae7e698520b678b594ebd26fb59ef476711403541597d7d32c01"},
+    {file = "ckzg-2.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1dd2aec2c61e8cc2ec815900f6768c6fe74b8fd29810e79b57c4150c6db32fb6"},
+    {file = "ckzg-2.0.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9632ef17285dbdd3fcd9780f599c266da736d9b2897decc4ea02ba8690bdf72"},
+    {file = "ckzg-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5747d7926873e3af0f6af5fca666feb0097d06cab525950e2664a6fbcb90165d"},
+    {file = "ckzg-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75484ffb78aaebaeb3a30f1194a9143b904312b0f365fc4101e58e1bf5f89f66"},
+    {file = "ckzg-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b2f72bc861b8bee9bac3314c58586d1ab2d23530f932a8f0a8562c8a4a6a45f9"},
+    {file = "ckzg-2.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6f85e5802fea5b77f52fc3a14c8dec18a3f2b7c7070c811a4608940834f563cc"},
+    {file = "ckzg-2.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:583a0b6b531a16974676439b23e7defb3dfe9732f18d13d2316152019c538af1"},
+    {file = "ckzg-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:fafb9ac36b3398f8091d40773d9a450e5f74883dad8ca4ee22d472e7a231ef4d"},
+    {file = "ckzg-2.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a12e96f20dce35e5222f898a5c8355054ef7c5ee038eeb97dbb694640b57577b"},
+    {file = "ckzg-2.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:4e0ebc55253addaa24dd2cd871bbe3b8f57855f32b5f74e70bf2cb76b6f7da54"},
+    {file = "ckzg-2.0.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f917a7bf363a3735db30559e1ed63cf1ccf414234433ba687fa72c007abd756"},
+    {file = "ckzg-2.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30f08c984286853271d4adae219e9ba87275a15047dbaa262ab8dd6c01be97b0"},
+    {file = "ckzg-2.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fa1ea4888417e1f109fd5e57965788fb7f53b674329b937a65604a3c1ca1d03"},
+    {file = "ckzg-2.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0b249914aeaf05cabc71c5c3797e3d6c126cb2c64192b7eb6755ef6aa5ab2f11"},
+    {file = "ckzg-2.0.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a038e26baf650e1c733dcaa066ec948e75556b0c485e8c790c9a758875c71a93"},
+    {file = "ckzg-2.0.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d6deb2c822122bdd32b555fa3b9216c86a355f24a2cc6a46b9b5743b412b60c"},
+    {file = "ckzg-2.0.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50f6f2fbceba9ece3fbc1d2613a246f4e6ec4d787f542859e70c358928c0e4a1"},
+    {file = "ckzg-2.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33ca40ef30129e2347bff3c95ad093403a0d5703476705ab92c92fbffe89bd5a"},
+    {file = "ckzg-2.0.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:700b989c2f7089edc8fac6dfbd1b4677e85b966216ebedee8eb5e7894765c188"},
+    {file = "ckzg-2.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f11933c007c3df02446a81957ac6e2488058b969e2eff5357c98ab569a0c7999"},
+    {file = "ckzg-2.0.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:3dbc9580eccecbd485f22e48f6044c48cbe6d838a7b7514cce179c085c65a960"},
+    {file = "ckzg-2.0.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad6eb83f343fea6dd9a13fd1bce87b9cd26abeeb72f0674a62d26e40fe0b8aca"},
+    {file = "ckzg-2.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:269f82b992facbd20461310cf5784551c77d11017b7d4b85d741d70359be6794"},
+    {file = "ckzg-2.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:895d67cfd43130652e1ae39b90465b392d9a72c7c7e6f250eaf14689bfda6351"},
+    {file = "ckzg-2.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:369cf1aeaf336c31f2050a7f54ae21cf46f4b2db23ebb013fff621144ab361bb"},
+    {file = "ckzg-2.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:24fda2637598a467e7b11ff664805ee7fdf4f6c7b0c043d6d0a6ccb69b5681ee"},
+    {file = "ckzg-2.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:ea27baabe5b22b92901c428768eacf93b992ac7681f93768ab24818ad26ccfed"},
+    {file = "ckzg-2.0.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a33f71e382020f2bc4ead2bd6881a9bd3811d929f272da239ac01ad615a00802"},
+    {file = "ckzg-2.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:926507c569727bb4c851a1eea702c5e902267de96e06ce2d685019f973f72968"},
+    {file = "ckzg-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f5f29518b0a4555d8f2a28559209bd1d4080547aa629ff9ee51799346573b3f"},
+    {file = "ckzg-2.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4595db84ce63c227e4448de0f7b39d3043e3477d78394ff651708c37fee6c486"},
+    {file = "ckzg-2.0.1.tar.gz", hash = "sha256:62c5adc381637affa7e1df465c57750b356a761b8a3164c3106589b02532b9c9"},
+]
+
 [[package]]
 name = "classify-imports"
 version = "4.2.0"
@@ -107,25 +626,27 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
 
 [[package]]
 name = "cmd2"
-version = "2.4.3"
+version = "2.5.7"
 description = "cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
 files = [
-    {file = "cmd2-2.4.3-py3-none-any.whl", hash = "sha256:f1988ff2fff0ed812a2d25218a081b0fa0108d45b48ba2a9272bb98091b654e6"},
-    {file = "cmd2-2.4.3.tar.gz", hash = "sha256:71873c11f72bd19e2b1db578214716f0d4f7c8fa250093c601265a9a717dee52"},
+    {file = "cmd2-2.5.7-py3-none-any.whl", hash = "sha256:7e5856fd1a75716288d4638e68946f9697404f377dfdeeddc19045c7012de9b7"},
+    {file = "cmd2-2.5.7.tar.gz", hash = "sha256:0219e2bb75075fa16deffb88edf86efdd2a87439d1fa7b94fdea4b929a3dc914"},
 ]
 
 [package.dependencies]
-attrs = ">=16.3.0"
-pyperclip = ">=1.6"
-pyreadline3 = {version = "*", markers = "sys_platform == \"win32\""}
-wcwidth = ">=0.1.7"
+gnureadline = {version = "*", markers = "platform_system == \"Darwin\""}
+pyperclip = "*"
+pyreadline3 = {version = "*", markers = "platform_system == \"Windows\""}
+wcwidth = "*"
 
 [package.extras]
-dev = ["codecov", "doc8", "flake8", "invoke", "mypy", "nox", "pytest (>=4.6)", "pytest-cov", "pytest-mock", "sphinx", "sphinx-autobuild", "sphinx-rtd-theme", "twine (>=1.11)"]
-test = ["codecov", "coverage", "gnureadline", "pytest (>=4.6)", "pytest-cov", "pytest-mock"]
-validate = ["flake8", "mypy", "types-pkg-resources"]
+build = ["build", "setuptools", "setuptools-scm"]
+dev = ["codecov", "doc8", "invoke", "mypy", "pytest", "pytest-cov", "pytest-mock", "ruff", "sphinx", "sphinx-autobuild", "sphinx-rtd-theme", "twine"]
+docs = ["setuptools", "setuptools_scm", "sphinx", "sphinx-autobuild", "sphinx-rtd-theme"]
+test = ["codecov", "coverage", "pytest", "pytest-cov", "pytest-mock"]
+validate = ["mypy", "ruff", "types-setuptools"]
 
 [[package]]
 name = "colorama"
@@ -157,83 +678,73 @@ cron = ["capturer (>=2.4)"]
 
 [[package]]
 name = "coverage"
-version = "7.6.1"
+version = "7.6.9"
 description = "Code coverage measurement for Python"
 optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
 files = [
-    {file = "coverage-7.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16"},
-    {file = "coverage-7.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36"},
-    {file = "coverage-7.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02"},
-    {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc"},
-    {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23"},
-    {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34"},
-    {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c"},
-    {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959"},
-    {file = "coverage-7.6.1-cp310-cp310-win32.whl", hash = "sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232"},
-    {file = "coverage-7.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0"},
-    {file = "coverage-7.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93"},
-    {file = "coverage-7.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3"},
-    {file = "coverage-7.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff"},
-    {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d"},
-    {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6"},
-    {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56"},
-    {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234"},
-    {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133"},
-    {file = "coverage-7.6.1-cp311-cp311-win32.whl", hash = "sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c"},
-    {file = "coverage-7.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6"},
-    {file = "coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778"},
-    {file = "coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391"},
-    {file = "coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8"},
-    {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d"},
-    {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca"},
-    {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163"},
-    {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a"},
-    {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d"},
-    {file = "coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5"},
-    {file = "coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb"},
-    {file = "coverage-7.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a4acd025ecc06185ba2b801f2de85546e0b8ac787cf9d3b06e7e2a69f925b106"},
-    {file = "coverage-7.6.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a6d3adcf24b624a7b778533480e32434a39ad8fa30c315208f6d3e5542aeb6e9"},
-    {file = "coverage-7.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0c212c49b6c10e6951362f7c6df3329f04c2b1c28499563d4035d964ab8e08c"},
-    {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e81d7a3e58882450ec4186ca59a3f20a5d4440f25b1cff6f0902ad890e6748a"},
-    {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78b260de9790fd81e69401c2dc8b17da47c8038176a79092a89cb2b7d945d060"},
-    {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a78d169acd38300060b28d600344a803628c3fd585c912cacc9ea8790fe96862"},
-    {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2c09f4ce52cb99dd7505cd0fc8e0e37c77b87f46bc9c1eb03fe3bc9991085388"},
-    {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6878ef48d4227aace338d88c48738a4258213cd7b74fd9a3d4d7582bb1d8a155"},
-    {file = "coverage-7.6.1-cp313-cp313-win32.whl", hash = "sha256:44df346d5215a8c0e360307d46ffaabe0f5d3502c8a1cefd700b34baf31d411a"},
-    {file = "coverage-7.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:8284cf8c0dd272a247bc154eb6c95548722dce90d098c17a883ed36e67cdb129"},
-    {file = "coverage-7.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:d3296782ca4eab572a1a4eca686d8bfb00226300dcefdf43faa25b5242ab8a3e"},
-    {file = "coverage-7.6.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:502753043567491d3ff6d08629270127e0c31d4184c4c8d98f92c26f65019962"},
-    {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a89ecca80709d4076b95f89f308544ec8f7b4727e8a547913a35f16717856cb"},
-    {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a318d68e92e80af8b00fa99609796fdbcdfef3629c77c6283566c6f02c6d6704"},
-    {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13b0a73a0896988f053e4fbb7de6d93388e6dd292b0d87ee51d106f2c11b465b"},
-    {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4421712dbfc5562150f7554f13dde997a2e932a6b5f352edcce948a815efee6f"},
-    {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:166811d20dfea725e2e4baa71fffd6c968a958577848d2131f39b60043400223"},
-    {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:225667980479a17db1048cb2bf8bfb39b8e5be8f164b8f6628b64f78a72cf9d3"},
-    {file = "coverage-7.6.1-cp313-cp313t-win32.whl", hash = "sha256:170d444ab405852903b7d04ea9ae9b98f98ab6d7e63e1115e82620807519797f"},
-    {file = "coverage-7.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:b9f222de8cded79c49bf184bdbc06630d4c58eec9459b939b4a690c82ed05657"},
-    {file = "coverage-7.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6db04803b6c7291985a761004e9060b2bca08da6d04f26a7f2294b8623a0c1a0"},
-    {file = "coverage-7.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1adfc8ac319e1a348af294106bc6a8458a0f1633cc62a1446aebc30c5fa186a"},
-    {file = "coverage-7.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a95324a9de9650a729239daea117df21f4b9868ce32e63f8b650ebe6cef5595b"},
-    {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b43c03669dc4618ec25270b06ecd3ee4fa94c7f9b3c14bae6571ca00ef98b0d3"},
-    {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8929543a7192c13d177b770008bc4e8119f2e1f881d563fc6b6305d2d0ebe9de"},
-    {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a09ece4a69cf399510c8ab25e0950d9cf2b42f7b3cb0374f95d2e2ff594478a6"},
-    {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9054a0754de38d9dbd01a46621636689124d666bad1936d76c0341f7d71bf569"},
-    {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0dbde0f4aa9a16fa4d754356a8f2e36296ff4d83994b2c9d8398aa32f222f989"},
-    {file = "coverage-7.6.1-cp38-cp38-win32.whl", hash = "sha256:da511e6ad4f7323ee5702e6633085fb76c2f893aaf8ce4c51a0ba4fc07580ea7"},
-    {file = "coverage-7.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:3f1156e3e8f2872197af3840d8ad307a9dd18e615dc64d9ee41696f287c57ad8"},
-    {file = "coverage-7.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255"},
-    {file = "coverage-7.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8"},
-    {file = "coverage-7.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2"},
-    {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a"},
-    {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc"},
-    {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004"},
-    {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb"},
-    {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36"},
-    {file = "coverage-7.6.1-cp39-cp39-win32.whl", hash = "sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c"},
-    {file = "coverage-7.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca"},
-    {file = "coverage-7.6.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df"},
-    {file = "coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d"},
+    {file = "coverage-7.6.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85d9636f72e8991a1706b2b55b06c27545448baf9f6dbf51c4004609aacd7dcb"},
+    {file = "coverage-7.6.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:608a7fd78c67bee8936378299a6cb9f5149bb80238c7a566fc3e6717a4e68710"},
+    {file = "coverage-7.6.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96d636c77af18b5cb664ddf12dab9b15a0cfe9c0bde715da38698c8cea748bfa"},
+    {file = "coverage-7.6.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d75cded8a3cff93da9edc31446872d2997e327921d8eed86641efafd350e1df1"},
+    {file = "coverage-7.6.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7b15f589593110ae767ce997775d645b47e5cbbf54fd322f8ebea6277466cec"},
+    {file = "coverage-7.6.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:44349150f6811b44b25574839b39ae35291f6496eb795b7366fef3bd3cf112d3"},
+    {file = "coverage-7.6.9-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d891c136b5b310d0e702e186d70cd16d1119ea8927347045124cb286b29297e5"},
+    {file = "coverage-7.6.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:db1dab894cc139f67822a92910466531de5ea6034ddfd2b11c0d4c6257168073"},
+    {file = "coverage-7.6.9-cp310-cp310-win32.whl", hash = "sha256:41ff7b0da5af71a51b53f501a3bac65fb0ec311ebed1632e58fc6107f03b9198"},
+    {file = "coverage-7.6.9-cp310-cp310-win_amd64.whl", hash = "sha256:35371f8438028fdccfaf3570b31d98e8d9eda8bb1d6ab9473f5a390969e98717"},
+    {file = "coverage-7.6.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:932fc826442132dde42ee52cf66d941f581c685a6313feebed358411238f60f9"},
+    {file = "coverage-7.6.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:085161be5f3b30fd9b3e7b9a8c301f935c8313dcf928a07b116324abea2c1c2c"},
+    {file = "coverage-7.6.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ccc660a77e1c2bf24ddbce969af9447a9474790160cfb23de6be4fa88e3951c7"},
+    {file = "coverage-7.6.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c69e42c892c018cd3c8d90da61d845f50a8243062b19d228189b0224150018a9"},
+    {file = "coverage-7.6.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0824a28ec542a0be22f60c6ac36d679e0e262e5353203bea81d44ee81fe9c6d4"},
+    {file = "coverage-7.6.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4401ae5fc52ad8d26d2a5d8a7428b0f0c72431683f8e63e42e70606374c311a1"},
+    {file = "coverage-7.6.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:98caba4476a6c8d59ec1eb00c7dd862ba9beca34085642d46ed503cc2d440d4b"},
+    {file = "coverage-7.6.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ee5defd1733fd6ec08b168bd4f5387d5b322f45ca9e0e6c817ea6c4cd36313e3"},
+    {file = "coverage-7.6.9-cp311-cp311-win32.whl", hash = "sha256:f2d1ec60d6d256bdf298cb86b78dd715980828f50c46701abc3b0a2b3f8a0dc0"},
+    {file = "coverage-7.6.9-cp311-cp311-win_amd64.whl", hash = "sha256:0d59fd927b1f04de57a2ba0137166d31c1a6dd9e764ad4af552912d70428c92b"},
+    {file = "coverage-7.6.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:99e266ae0b5d15f1ca8d278a668df6f51cc4b854513daab5cae695ed7b721cf8"},
+    {file = "coverage-7.6.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9901d36492009a0a9b94b20e52ebfc8453bf49bb2b27bca2c9706f8b4f5a554a"},
+    {file = "coverage-7.6.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abd3e72dd5b97e3af4246cdada7738ef0e608168de952b837b8dd7e90341f015"},
+    {file = "coverage-7.6.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff74026a461eb0660366fb01c650c1d00f833a086b336bdad7ab00cc952072b3"},
+    {file = "coverage-7.6.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65dad5a248823a4996724a88eb51d4b31587aa7aa428562dbe459c684e5787ae"},
+    {file = "coverage-7.6.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22be16571504c9ccea919fcedb459d5ab20d41172056206eb2994e2ff06118a4"},
+    {file = "coverage-7.6.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f957943bc718b87144ecaee70762bc2bc3f1a7a53c7b861103546d3a403f0a6"},
+    {file = "coverage-7.6.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ae1387db4aecb1f485fb70a6c0148c6cdaebb6038f1d40089b1fc84a5db556f"},
+    {file = "coverage-7.6.9-cp312-cp312-win32.whl", hash = "sha256:1a330812d9cc7ac2182586f6d41b4d0fadf9be9049f350e0efb275c8ee8eb692"},
+    {file = "coverage-7.6.9-cp312-cp312-win_amd64.whl", hash = "sha256:b12c6b18269ca471eedd41c1b6a1065b2f7827508edb9a7ed5555e9a56dcfc97"},
+    {file = "coverage-7.6.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:899b8cd4781c400454f2f64f7776a5d87bbd7b3e7f7bda0cb18f857bb1334664"},
+    {file = "coverage-7.6.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:61f70dc68bd36810972e55bbbe83674ea073dd1dcc121040a08cdf3416c5349c"},
+    {file = "coverage-7.6.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a289d23d4c46f1a82d5db4abeb40b9b5be91731ee19a379d15790e53031c014"},
+    {file = "coverage-7.6.9-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e216d8044a356fc0337c7a2a0536d6de07888d7bcda76febcb8adc50bdbbd00"},
+    {file = "coverage-7.6.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c026eb44f744acaa2bda7493dad903aa5bf5fc4f2554293a798d5606710055d"},
+    {file = "coverage-7.6.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e77363e8425325384f9d49272c54045bbed2f478e9dd698dbc65dbc37860eb0a"},
+    {file = "coverage-7.6.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:777abfab476cf83b5177b84d7486497e034eb9eaea0d746ce0c1268c71652077"},
+    {file = "coverage-7.6.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:447af20e25fdbe16f26e84eb714ba21d98868705cb138252d28bc400381f6ffb"},
+    {file = "coverage-7.6.9-cp313-cp313-win32.whl", hash = "sha256:d872ec5aeb086cbea771c573600d47944eea2dcba8be5f3ee649bfe3cb8dc9ba"},
+    {file = "coverage-7.6.9-cp313-cp313-win_amd64.whl", hash = "sha256:fd1213c86e48dfdc5a0cc676551db467495a95a662d2396ecd58e719191446e1"},
+    {file = "coverage-7.6.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ba9e7484d286cd5a43744e5f47b0b3fb457865baf07bafc6bee91896364e1419"},
+    {file = "coverage-7.6.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e5ea1cf0872ee455c03e5674b5bca5e3e68e159379c1af0903e89f5eba9ccc3a"},
+    {file = "coverage-7.6.9-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d10e07aa2b91835d6abec555ec8b2733347956991901eea6ffac295f83a30e4"},
+    {file = "coverage-7.6.9-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13a9e2d3ee855db3dd6ea1ba5203316a1b1fd8eaeffc37c5b54987e61e4194ae"},
+    {file = "coverage-7.6.9-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c38bf15a40ccf5619fa2fe8f26106c7e8e080d7760aeccb3722664c8656b030"},
+    {file = "coverage-7.6.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d5275455b3e4627c8e7154feaf7ee0743c2e7af82f6e3b561967b1cca755a0be"},
+    {file = "coverage-7.6.9-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8f8770dfc6e2c6a2d4569f411015c8d751c980d17a14b0530da2d7f27ffdd88e"},
+    {file = "coverage-7.6.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8d2dfa71665a29b153a9681edb1c8d9c1ea50dfc2375fb4dac99ea7e21a0bcd9"},
+    {file = "coverage-7.6.9-cp313-cp313t-win32.whl", hash = "sha256:5e6b86b5847a016d0fbd31ffe1001b63355ed309651851295315031ea7eb5a9b"},
+    {file = "coverage-7.6.9-cp313-cp313t-win_amd64.whl", hash = "sha256:97ddc94d46088304772d21b060041c97fc16bdda13c6c7f9d8fcd8d5ae0d8611"},
+    {file = "coverage-7.6.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:adb697c0bd35100dc690de83154627fbab1f4f3c0386df266dded865fc50a902"},
+    {file = "coverage-7.6.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:be57b6d56e49c2739cdf776839a92330e933dd5e5d929966fbbd380c77f060be"},
+    {file = "coverage-7.6.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1592791f8204ae9166de22ba7e6705fa4ebd02936c09436a1bb85aabca3e599"},
+    {file = "coverage-7.6.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e12ae8cc979cf83d258acb5e1f1cf2f3f83524d1564a49d20b8bec14b637f08"},
+    {file = "coverage-7.6.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb5555cff66c4d3d6213a296b360f9e1a8e323e74e0426b6c10ed7f4d021e464"},
+    {file = "coverage-7.6.9-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b9389a429e0e5142e69d5bf4a435dd688c14478a19bb901735cdf75e57b13845"},
+    {file = "coverage-7.6.9-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:592ac539812e9b46046620341498caf09ca21023c41c893e1eb9dbda00a70cbf"},
+    {file = "coverage-7.6.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a27801adef24cc30871da98a105f77995e13a25a505a0161911f6aafbd66e678"},
+    {file = "coverage-7.6.9-cp39-cp39-win32.whl", hash = "sha256:8e3c3e38930cfb729cb8137d7f055e5a473ddaf1217966aa6238c88bd9fd50e6"},
+    {file = "coverage-7.6.9-cp39-cp39-win_amd64.whl", hash = "sha256:e28bf44afa2b187cc9f41749138a64435bf340adfcacb5b2290c070ce99839d4"},
+    {file = "coverage-7.6.9-pp39.pp310-none-any.whl", hash = "sha256:f3ca78518bc6bc92828cd11867b121891d75cae4ea9e908d72030609b996db1b"},
+    {file = "coverage-7.6.9.tar.gz", hash = "sha256:4a8d8977b0c6ef5aeadcb644da9e69ae0dcfe66ec7f368c89c72e058bd71164d"},
 ]
 
 [package.dependencies]
@@ -361,6 +872,182 @@ toolz = ">=0.8.0"
 [package.extras]
 cython = ["cython"]
 
+[[package]]
+name = "eth-abi"
+version = "5.1.0"
+description = "eth_abi: Python utilities for working with Ethereum ABI definitions, especially encoding and decoding"
+optional = false
+python-versions = "<4,>=3.8"
+files = [
+    {file = "eth_abi-5.1.0-py3-none-any.whl", hash = "sha256:84cac2626a7db8b7d9ebe62b0fdca676ab1014cc7f777189e3c0cd721a4c16d8"},
+    {file = "eth_abi-5.1.0.tar.gz", hash = "sha256:33ddd756206e90f7ddff1330cc8cac4aa411a824fe779314a0a52abea2c8fc14"},
+]
+
+[package.dependencies]
+eth-typing = ">=3.0.0"
+eth-utils = ">=2.0.0"
+parsimonious = ">=0.10.0,<0.11.0"
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-hash[pycryptodome]", "hypothesis (>=4.18.2,<5.0.0)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-pythonpath (>=0.7.1)", "pytest-timeout (>=2.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"]
+test = ["eth-hash[pycryptodome]", "hypothesis (>=4.18.2,<5.0.0)", "pytest (>=7.0.0)", "pytest-pythonpath (>=0.7.1)", "pytest-timeout (>=2.0.0)", "pytest-xdist (>=2.4.0)"]
+tools = ["hypothesis (>=4.18.2,<5.0.0)"]
+
+[[package]]
+name = "eth-account"
+version = "0.13.4"
+description = "eth-account: Sign Ethereum transactions and messages with local private keys"
+optional = false
+python-versions = "<4,>=3.8"
+files = [
+    {file = "eth_account-0.13.4-py3-none-any.whl", hash = "sha256:a4c109e9bad3a278243fcc028b755fb72b43e25b1e6256b3f309a44f5f7d87c3"},
+    {file = "eth_account-0.13.4.tar.gz", hash = "sha256:2e1f2de240bef3d9f3d8013656135d2a79b6be6d4e7885bce9cace4334a4a376"},
+]
+
+[package.dependencies]
+bitarray = ">=2.4.0"
+ckzg = ">=2.0.0"
+eth-abi = ">=4.0.0-b.2"
+eth-keyfile = ">=0.7.0,<0.9.0"
+eth-keys = ">=0.4.0"
+eth-rlp = ">=2.1.0"
+eth-utils = ">=2.0.0"
+hexbytes = ">=1.2.0"
+pydantic = ">=2.0.0"
+rlp = ">=1.0.0"
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "coverage", "hypothesis (>=4.18.0,<5)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"]
+test = ["coverage", "hypothesis (>=4.18.0,<5)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"]
+
+[[package]]
+name = "eth-hash"
+version = "0.7.0"
+description = "eth-hash: The Ethereum hashing function, keccak256, sometimes (erroneously) called sha3"
+optional = false
+python-versions = ">=3.8, <4"
+files = [
+    {file = "eth-hash-0.7.0.tar.gz", hash = "sha256:bacdc705bfd85dadd055ecd35fd1b4f846b671add101427e089a4ca2e8db310a"},
+    {file = "eth_hash-0.7.0-py3-none-any.whl", hash = "sha256:b8d5a230a2b251f4a291e3164a23a14057c4a6de4b0aa4a16fa4dc9161b57e2f"},
+]
+
+[package.dependencies]
+pycryptodome = {version = ">=3.6.6,<4", optional = true, markers = "extra == \"pycryptodome\""}
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"]
+pycryptodome = ["pycryptodome (>=3.6.6,<4)"]
+pysha3 = ["pysha3 (>=1.0.0,<2.0.0)", "safe-pysha3 (>=1.0.0)"]
+test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"]
+
+[[package]]
+name = "eth-keyfile"
+version = "0.8.1"
+description = "eth-keyfile: A library for handling the encrypted keyfiles used to store ethereum private keys"
+optional = false
+python-versions = "<4,>=3.8"
+files = [
+    {file = "eth_keyfile-0.8.1-py3-none-any.whl", hash = "sha256:65387378b82fe7e86d7cb9f8d98e6d639142661b2f6f490629da09fddbef6d64"},
+    {file = "eth_keyfile-0.8.1.tar.gz", hash = "sha256:9708bc31f386b52cca0969238ff35b1ac72bd7a7186f2a84b86110d3c973bec1"},
+]
+
+[package.dependencies]
+eth-keys = ">=0.4.0"
+eth-utils = ">=2"
+pycryptodome = ">=3.6.6,<4"
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["towncrier (>=21,<22)"]
+test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"]
+
+[[package]]
+name = "eth-keys"
+version = "0.6.0"
+description = "eth-keys: Common API for Ethereum key operations"
+optional = false
+python-versions = "<4,>=3.8"
+files = [
+    {file = "eth_keys-0.6.0-py3-none-any.whl", hash = "sha256:b396fdfe048a5bba3ef3990739aec64901eb99901c03921caa774be668b1db6e"},
+    {file = "eth_keys-0.6.0.tar.gz", hash = "sha256:ba33230f851d02c894e83989185b21d76152c49b37e35b61b1d8a6d9f1d20430"},
+]
+
+[package.dependencies]
+eth-typing = ">=3"
+eth-utils = ">=2"
+
+[package.extras]
+coincurve = ["coincurve (>=12.0.0)"]
+dev = ["asn1tools (>=0.146.2)", "build (>=0.9.0)", "bumpversion (>=0.5.3)", "coincurve (>=12.0.0)", "eth-hash[pysha3]", "factory-boy (>=3.0.1)", "hypothesis (>=5.10.3)", "ipython", "pre-commit (>=3.4.0)", "pyasn1 (>=0.4.5)", "pytest (>=7.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["towncrier (>=21,<22)"]
+test = ["asn1tools (>=0.146.2)", "eth-hash[pysha3]", "factory-boy (>=3.0.1)", "hypothesis (>=5.10.3)", "pyasn1 (>=0.4.5)", "pytest (>=7.0.0)"]
+
+[[package]]
+name = "eth-rlp"
+version = "2.1.0"
+description = "eth-rlp: RLP definitions for common Ethereum objects in Python"
+optional = false
+python-versions = ">=3.8, <4"
+files = [
+    {file = "eth-rlp-2.1.0.tar.gz", hash = "sha256:d5b408a8cd20ed496e8e66d0559560d29bc21cee482f893936a1f05d0dddc4a0"},
+    {file = "eth_rlp-2.1.0-py3-none-any.whl", hash = "sha256:6f476eb7e37d81feaba5d98aed887e467be92648778c44b19fe594aea209cde1"},
+]
+
+[package.dependencies]
+eth-utils = ">=2.0.0"
+hexbytes = ">=1.2.0"
+rlp = ">=0.6.0"
+typing-extensions = {version = ">=4.0.1", markers = "python_version <= \"3.10\""}
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-hash[pycryptodome]", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"]
+test = ["eth-hash[pycryptodome]", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"]
+
+[[package]]
+name = "eth-typing"
+version = "5.0.1"
+description = "eth-typing: Common type annotations for ethereum python packages"
+optional = false
+python-versions = "<4,>=3.8"
+files = [
+    {file = "eth_typing-5.0.1-py3-none-any.whl", hash = "sha256:f30d1af16aac598f216748a952eeb64fbcb6e73efa691d2de31148138afe96de"},
+    {file = "eth_typing-5.0.1.tar.gz", hash = "sha256:83debf88c9df286db43bb7374974681ebcc9f048fac81be2548dbc549a3203c0"},
+]
+
+[package.dependencies]
+typing-extensions = ">=4.5.0"
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"]
+test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"]
+
+[[package]]
+name = "eth-utils"
+version = "5.1.0"
+description = "eth-utils: Common utility functions for python code that interacts with Ethereum"
+optional = false
+python-versions = "<4,>=3.8"
+files = [
+    {file = "eth_utils-5.1.0-py3-none-any.whl", hash = "sha256:a99f1f01b51206620904c5af47fac65abc143aebd0a76bdec860381c5a3230f8"},
+    {file = "eth_utils-5.1.0.tar.gz", hash = "sha256:84c6314b9cf1fcd526107464bbf487e3f87097a2e753360d5ed319f7d42e3f20"},
+]
+
+[package.dependencies]
+cytoolz = {version = ">=0.10.1", markers = "implementation_name == \"cpython\""}
+eth-hash = ">=0.3.1"
+eth-typing = ">=5.0.0"
+toolz = {version = ">0.8.2", markers = "implementation_name == \"pypy\""}
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bump-my-version (>=0.19.0)", "eth-hash[pycryptodome]", "hypothesis (>=4.43.0)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"]
+test = ["hypothesis (>=4.43.0)", "mypy (==1.10.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"]
+
 [[package]]
 name = "exceptiongroup"
 version = "1.2.2"
@@ -423,17 +1110,17 @@ pyflakes = ">=3.2.0,<3.3.0"
 
 [[package]]
 name = "flake8-bugbear"
-version = "24.8.19"
+version = "24.10.31"
 description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle."
 optional = false
 python-versions = ">=3.8.1"
 files = [
-    {file = "flake8_bugbear-24.8.19-py3-none-any.whl", hash = "sha256:25bc3867f7338ee3b3e0916bf8b8a0b743f53a9a5175782ddc4325ed4f386b89"},
-    {file = "flake8_bugbear-24.8.19.tar.gz", hash = "sha256:9b77627eceda28c51c27af94560a72b5b2c97c016651bdce45d8f56c180d2d32"},
+    {file = "flake8_bugbear-24.10.31-py3-none-any.whl", hash = "sha256:cccf786ccf9b2e1052b1ecfa80fb8f80832d0880425bcbd4cd45d3c8128c2683"},
+    {file = "flake8_bugbear-24.10.31.tar.gz", hash = "sha256:435b531c72b27f8eff8d990419697956b9fd25c6463c5ba98b3991591de439db"},
 ]
 
 [package.dependencies]
-attrs = ">=19.2.0"
+attrs = ">=22.2.0"
 flake8 = ">=6.0.0"
 
 [package.extras]
@@ -441,13 +1128,13 @@ dev = ["coverage", "hypothesis", "hypothesmith (>=0.2)", "pre-commit", "pytest",
 
 [[package]]
 name = "flake8-comprehensions"
-version = "3.15.0"
+version = "3.16.0"
 description = "A flake8 plugin to help you write better list/set/dict comprehensions."
 optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
 files = [
-    {file = "flake8_comprehensions-3.15.0-py3-none-any.whl", hash = "sha256:b7e027bbb52be2ceb779ee12484cdeef52b0ad3c1fcb8846292bdb86d3034681"},
-    {file = "flake8_comprehensions-3.15.0.tar.gz", hash = "sha256:923c22603e0310376a6b55b03efebdc09753c69f2d977755cba8bb73458a5d4d"},
+    {file = "flake8_comprehensions-3.16.0-py3-none-any.whl", hash = "sha256:7c1eadc9d22e765f39857798febe7766b4d9c519793c6c149e3e13bf99693f70"},
+    {file = "flake8_comprehensions-3.16.0.tar.gz", hash = "sha256:9cbf789905a8f03f9d350fb82b17b264d9a16c7ce3542b2a7b871ef568cafabe"},
 ]
 
 [package.dependencies]
@@ -482,6 +1169,146 @@ files = [
 classify-imports = "*"
 flake8 = "*"
 
+[[package]]
+name = "frozenlist"
+version = "1.5.0"
+description = "A list-like structure which implements collections.abc.MutableSequence"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"},
+    {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"},
+    {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"},
+    {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"},
+    {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"},
+    {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"},
+    {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"},
+    {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"},
+    {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"},
+    {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"},
+    {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"},
+    {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"},
+    {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"},
+    {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"},
+    {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"},
+    {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"},
+    {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"},
+    {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"},
+    {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"},
+    {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"},
+    {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"},
+    {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"},
+    {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"},
+    {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"},
+    {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"},
+    {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"},
+    {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"},
+    {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"},
+    {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"},
+    {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"},
+    {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"},
+    {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"},
+    {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"},
+    {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"},
+    {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"},
+    {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"},
+    {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"},
+    {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"},
+    {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"},
+    {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"},
+    {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"},
+    {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"},
+    {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"},
+    {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"},
+    {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"},
+    {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"},
+    {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"},
+    {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"},
+    {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"},
+    {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"},
+    {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"},
+    {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"},
+    {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"},
+    {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"},
+    {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"},
+    {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"},
+    {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"},
+    {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"},
+    {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"},
+    {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"},
+    {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"},
+    {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"},
+    {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"},
+    {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"},
+    {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"},
+    {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"},
+    {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"},
+    {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"},
+    {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"},
+    {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"},
+    {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"},
+    {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"},
+    {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"},
+    {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"},
+    {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"},
+    {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"},
+    {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"},
+    {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"},
+    {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"},
+    {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"},
+    {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"},
+    {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"},
+    {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"},
+    {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"},
+    {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"},
+    {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"},
+    {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"},
+    {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"},
+    {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"},
+    {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"},
+    {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"},
+    {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"},
+]
+
+[[package]]
+name = "gnureadline"
+version = "8.2.13"
+description = "The standard Python readline extension statically linked against the GNU readline library."
+optional = false
+python-versions = "*"
+files = [
+    {file = "gnureadline-8.2.13-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0ca03501ce0939d7ecf9d075860d6f6ceb2f49f30331b4e96e4678ce03687bab"},
+    {file = "gnureadline-8.2.13-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c28e33bfc56d4204693f213abeab927f65c505ce91f668a039720bc7c46b0353"},
+    {file = "gnureadline-8.2.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6472e3a780087eecd67c03e5455aecb209de51bcae74583222976f6b816f6192"},
+    {file = "gnureadline-8.2.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94b143ea5d22b0c1ca4a591265afe135272c69b7757e968e34fbb47a7858d1ce"},
+    {file = "gnureadline-8.2.13-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:561a60b12f74ea7234036cc4fe558f3b46023be0dac5ed73541ece58cba2f88a"},
+    {file = "gnureadline-8.2.13-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:daa405028b9fe92bfbb93624e13e0674a242a1c5434b70ef61a04294502fdb65"},
+    {file = "gnureadline-8.2.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:576dac060887adc6067ee9d23fb2f0031fb2b3e560e07a6c9e666e05f0473af7"},
+    {file = "gnureadline-8.2.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10fcaf561bc4ed6ab7075ab3ead188a18faaf4e6e92d916f81a09c0a670ce906"},
+    {file = "gnureadline-8.2.13-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9c152a82613fa012ab4331bb9a0ffddb415e37561d376b910bf9e7d535607faf"},
+    {file = "gnureadline-8.2.13-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85e362d2d0e85e45f0affae7bbfaf998b00167c55a78d31ee0f214de9ff429d2"},
+    {file = "gnureadline-8.2.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b69e6608cc94e110018b721a11718d480a6330e0b62cbab65a22880e84011205"},
+    {file = "gnureadline-8.2.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cc77fc9c8a8fcf10e0a554e49ee763219683386b8f906b7e6ef07c9e40e8420"},
+    {file = "gnureadline-8.2.13-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2d3e33d2e0dd694d623a2ca1fae6990b52f1d25955504b7293a9350fb9912940"},
+    {file = "gnureadline-8.2.13-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6c550d08c4d2882a83293a724b14a262ee5078fd4fa7acdc78aa59cab26ae343"},
+    {file = "gnureadline-8.2.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7d6e3f5d9fd0cf8a84fb382d4e3ad2914331be4d929f17d50da01f1571c4b03"},
+    {file = "gnureadline-8.2.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f59275168cae1b02ca1ec7586a9804bb04ce427df92f8582a80d16e96c846b78"},
+    {file = "gnureadline-8.2.13-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:59c5505026646da6d5ced6a5316d6d191d011e8be422cba4abce71730ef37dc6"},
+    {file = "gnureadline-8.2.13-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f1050ecf789f34d0ab0aacdb605f177725009a864e0038e70380614af92dc0d"},
+    {file = "gnureadline-8.2.13-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23b43c8e9e2e6566cb3094749826181a86dba1d94b1e023b5f9923dc26e37876"},
+    {file = "gnureadline-8.2.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4f5fc90af56a1ae6f88c9c7122fc76141c395b6c342a63800abed8c813f48b85"},
+    {file = "gnureadline-8.2.13-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d708e8f655d3b556a138f13e9fcb2d8a10a6901e3125c04cad5ef7c883191fe8"},
+    {file = "gnureadline-8.2.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:265bcf6ef7082e130160fb34b9664284affb216a22c5bffcd518b35d02bcc4e9"},
+    {file = "gnureadline-8.2.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:07231f8191adb7f204010a86a91df9df9a80944981a16576a471f59304ad6a16"},
+    {file = "gnureadline-8.2.13-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30cc1b6cb11d94554815cb91eb1dfa6a11887185aae50f253adaa393e91c6a86"},
+    {file = "gnureadline-8.2.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50c40bfffffa82d4fcb0fde4940d4ff128ba2f876c1da09bae9d6d9ff770095e"},
+    {file = "gnureadline-8.2.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dcfa601d95c00aa670ec5e4bf791caf6ba0bcf266de940fb54d44c278bd302fe"},
+    {file = "gnureadline-8.2.13-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c7b8d3f2a2c9b7e6feaf1f20bdb6ebb8210e207b8c5360ffe407a47efeeb3fb8"},
+    {file = "gnureadline-8.2.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:811d85a70ac97cddeb1755282915e8a93c279dcf89513426f28617b8feff5aec"},
+    {file = "gnureadline-8.2.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f57a3aa97c3379b2513c8bfbac0de2dfb41f695623c0b2ad337babb646b51a7"},
+    {file = "gnureadline-8.2.13.tar.gz", hash = "sha256:c9b9e1e7ba99a80bb50c12027d6ce692574f77a65bf57bc97041cf81c0f49bd1"},
+]
+
 [[package]]
 name = "graphviz"
 version = "0.20.3"
@@ -498,6 +1325,22 @@ dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"]
 docs = ["sphinx (>=5,<7)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"]
 test = ["coverage", "pytest (>=7,<8.1)", "pytest-cov", "pytest-mock (>=3)"]
 
+[[package]]
+name = "hexbytes"
+version = "1.2.1"
+description = "hexbytes: Python `bytes` subclass that decodes hex, with a readable console output"
+optional = false
+python-versions = "<4,>=3.8"
+files = [
+    {file = "hexbytes-1.2.1-py3-none-any.whl", hash = "sha256:e64890b203a31f4a23ef11470ecfcca565beaee9198df623047df322b757471a"},
+    {file = "hexbytes-1.2.1.tar.gz", hash = "sha256:515f00dddf31053db4d0d7636dd16061c1d896c3109b8e751005db4ca46bcca7"},
+]
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bump-my-version (>=0.19.0)", "eth-utils (>=2.0.0)", "hypothesis (>=3.44.24,<=6.31.6)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"]
+test = ["eth-utils (>=2.0.0)", "hypothesis (>=3.44.24,<=6.31.6)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"]
+
 [[package]]
 name = "humanfriendly"
 version = "10.0"
@@ -514,13 +1357,13 @@ pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_ve
 
 [[package]]
 name = "hypothesis"
-version = "6.112.1"
+version = "6.122.3"
 description = "A library for property-based testing"
 optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
 files = [
-    {file = "hypothesis-6.112.1-py3-none-any.whl", hash = "sha256:93631b1498b20d2c205ed304cbd41d50e9c069d78a9c773c1324ca094c5e30ce"},
-    {file = "hypothesis-6.112.1.tar.gz", hash = "sha256:b070d7a1bb9bd84706c31885c9aeddc138e2b36a9c112a91984f49501c567856"},
+    {file = "hypothesis-6.122.3-py3-none-any.whl", hash = "sha256:f0f57036d3b95b979491602b32c95b6725c3af678cccb6165d8de330857f3c83"},
+    {file = "hypothesis-6.122.3.tar.gz", hash = "sha256:f4c927ce0ec739fa6266e4572949d0b54e24a14601a2bc5fec8f78e16af57918"},
 ]
 
 [package.dependencies]
@@ -529,21 +1372,35 @@ exceptiongroup = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
 sortedcontainers = ">=2.1.0,<3.0.0"
 
 [package.extras]
-all = ["backports.zoneinfo (>=0.2.1)", "black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.70)", "django (>=3.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.13)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.17.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.1)"]
+all = ["black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.78)", "django (>=4.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.18)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.19.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.2)"]
 cli = ["black (>=19.10b0)", "click (>=7.0)", "rich (>=9.0.0)"]
 codemods = ["libcst (>=0.3.16)"]
-crosshair = ["crosshair-tool (>=0.0.70)", "hypothesis-crosshair (>=0.0.13)"]
+crosshair = ["crosshair-tool (>=0.0.78)", "hypothesis-crosshair (>=0.0.18)"]
 dateutil = ["python-dateutil (>=1.4)"]
-django = ["django (>=3.2)"]
+django = ["django (>=4.2)"]
 dpcontracts = ["dpcontracts (>=0.4)"]
 ghostwriter = ["black (>=19.10b0)"]
 lark = ["lark (>=0.10.1)"]
-numpy = ["numpy (>=1.17.3)"]
+numpy = ["numpy (>=1.19.3)"]
 pandas = ["pandas (>=1.1)"]
 pytest = ["pytest (>=4.6)"]
 pytz = ["pytz (>=2014.1)"]
 redis = ["redis (>=3.0.0)"]
-zoneinfo = ["backports.zoneinfo (>=0.2.1)", "tzdata (>=2024.1)"]
+zoneinfo = ["tzdata (>=2024.2)"]
+
+[[package]]
+name = "idna"
+version = "3.10"
+description = "Internationalized Domain Names in Applications (IDNA)"
+optional = false
+python-versions = ">=3.6"
+files = [
+    {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"},
+    {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"},
+]
+
+[package.extras]
+all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"]
 
 [[package]]
 name = "importlib-metadata"
@@ -704,40 +1561,149 @@ files = [
     {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
 ]
 
+[[package]]
+name = "multidict"
+version = "6.1.0"
+description = "multidict implementation"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"},
+    {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"},
+    {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"},
+    {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"},
+    {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"},
+    {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"},
+    {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"},
+    {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"},
+    {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"},
+    {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"},
+    {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"},
+    {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"},
+    {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"},
+    {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"},
+    {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"},
+    {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"},
+    {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"},
+    {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"},
+    {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"},
+    {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"},
+    {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"},
+    {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"},
+    {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"},
+    {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"},
+    {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"},
+    {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"},
+    {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"},
+    {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"},
+    {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"},
+    {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"},
+    {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"},
+    {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"},
+    {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"},
+    {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"},
+    {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"},
+    {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"},
+    {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"},
+    {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"},
+    {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"},
+    {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"},
+    {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"},
+    {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"},
+    {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"},
+    {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"},
+    {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"},
+    {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"},
+    {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"},
+    {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"},
+    {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"},
+    {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"},
+    {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"},
+    {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"},
+    {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"},
+    {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"},
+    {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"},
+    {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"},
+    {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"},
+    {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"},
+    {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"},
+    {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"},
+    {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"},
+    {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"},
+    {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"},
+    {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"},
+    {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"},
+    {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"},
+    {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"},
+    {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"},
+    {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"},
+    {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"},
+    {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"},
+    {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"},
+    {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"},
+    {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"},
+    {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"},
+    {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"},
+    {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"},
+    {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"},
+    {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"},
+    {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"},
+    {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"},
+    {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"},
+    {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"},
+    {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"},
+    {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"},
+    {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"},
+    {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"},
+    {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"},
+    {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"},
+    {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"},
+    {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"},
+    {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"},
+]
+
+[package.dependencies]
+typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""}
+
 [[package]]
 name = "mypy"
-version = "1.11.2"
+version = "1.13.0"
 description = "Optional static typing for Python"
 optional = false
 python-versions = ">=3.8"
 files = [
-    {file = "mypy-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d42a6dd818ffce7be66cce644f1dff482f1d97c53ca70908dff0b9ddc120b77a"},
-    {file = "mypy-1.11.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:801780c56d1cdb896eacd5619a83e427ce436d86a3bdf9112527f24a66618fef"},
-    {file = "mypy-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41ea707d036a5307ac674ea172875f40c9d55c5394f888b168033177fce47383"},
-    {file = "mypy-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6e658bd2d20565ea86da7d91331b0eed6d2eee22dc031579e6297f3e12c758c8"},
-    {file = "mypy-1.11.2-cp310-cp310-win_amd64.whl", hash = "sha256:478db5f5036817fe45adb7332d927daa62417159d49783041338921dcf646fc7"},
-    {file = "mypy-1.11.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:75746e06d5fa1e91bfd5432448d00d34593b52e7e91a187d981d08d1f33d4385"},
-    {file = "mypy-1.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a976775ab2256aadc6add633d44f100a2517d2388906ec4f13231fafbb0eccca"},
-    {file = "mypy-1.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd953f221ac1379050a8a646585a29574488974f79d8082cedef62744f0a0104"},
-    {file = "mypy-1.11.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:57555a7715c0a34421013144a33d280e73c08df70f3a18a552938587ce9274f4"},
-    {file = "mypy-1.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:36383a4fcbad95f2657642a07ba22ff797de26277158f1cc7bd234821468b1b6"},
-    {file = "mypy-1.11.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8960dbbbf36906c5c0b7f4fbf2f0c7ffb20f4898e6a879fcf56a41a08b0d318"},
-    {file = "mypy-1.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06d26c277962f3fb50e13044674aa10553981ae514288cb7d0a738f495550b36"},
-    {file = "mypy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e7184632d89d677973a14d00ae4d03214c8bc301ceefcdaf5c474866814c987"},
-    {file = "mypy-1.11.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a66169b92452f72117e2da3a576087025449018afc2d8e9bfe5ffab865709ca"},
-    {file = "mypy-1.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:969ea3ef09617aff826885a22ece0ddef69d95852cdad2f60c8bb06bf1f71f70"},
-    {file = "mypy-1.11.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:37c7fa6121c1cdfcaac97ce3d3b5588e847aa79b580c1e922bb5d5d2902df19b"},
-    {file = "mypy-1.11.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a8a53bc3ffbd161b5b2a4fff2f0f1e23a33b0168f1c0778ec70e1a3d66deb86"},
-    {file = "mypy-1.11.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ff93107f01968ed834f4256bc1fc4475e2fecf6c661260066a985b52741ddce"},
-    {file = "mypy-1.11.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:edb91dded4df17eae4537668b23f0ff6baf3707683734b6a818d5b9d0c0c31a1"},
-    {file = "mypy-1.11.2-cp38-cp38-win_amd64.whl", hash = "sha256:ee23de8530d99b6db0573c4ef4bd8f39a2a6f9b60655bf7a1357e585a3486f2b"},
-    {file = "mypy-1.11.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:801ca29f43d5acce85f8e999b1e431fb479cb02d0e11deb7d2abb56bdaf24fd6"},
-    {file = "mypy-1.11.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af8d155170fcf87a2afb55b35dc1a0ac21df4431e7d96717621962e4b9192e70"},
-    {file = "mypy-1.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7821776e5c4286b6a13138cc935e2e9b6fde05e081bdebf5cdb2bb97c9df81d"},
-    {file = "mypy-1.11.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:539c570477a96a4e6fb718b8d5c3e0c0eba1f485df13f86d2970c91f0673148d"},
-    {file = "mypy-1.11.2-cp39-cp39-win_amd64.whl", hash = "sha256:3f14cd3d386ac4d05c5a39a51b84387403dadbd936e17cb35882134d4f8f0d24"},
-    {file = "mypy-1.11.2-py3-none-any.whl", hash = "sha256:b499bc07dbdcd3de92b0a8b29fdf592c111276f6a12fe29c30f6c417dd546d12"},
-    {file = "mypy-1.11.2.tar.gz", hash = "sha256:7f9993ad3e0ffdc95c2a14b66dee63729f021968bff8ad911867579c65d13a79"},
+    {file = "mypy-1.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6607e0f1dd1fb7f0aca14d936d13fd19eba5e17e1cd2a14f808fa5f8f6d8f60a"},
+    {file = "mypy-1.13.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a21be69bd26fa81b1f80a61ee7ab05b076c674d9b18fb56239d72e21d9f4c80"},
+    {file = "mypy-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b2353a44d2179846a096e25691d54d59904559f4232519d420d64da6828a3a7"},
+    {file = "mypy-1.13.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0730d1c6a2739d4511dc4253f8274cdd140c55c32dfb0a4cf8b7a43f40abfa6f"},
+    {file = "mypy-1.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:c5fc54dbb712ff5e5a0fca797e6e0aa25726c7e72c6a5850cfd2adbc1eb0a372"},
+    {file = "mypy-1.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:581665e6f3a8a9078f28d5502f4c334c0c8d802ef55ea0e7276a6e409bc0d82d"},
+    {file = "mypy-1.13.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3ddb5b9bf82e05cc9a627e84707b528e5c7caaa1c55c69e175abb15a761cec2d"},
+    {file = "mypy-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20c7ee0bc0d5a9595c46f38beb04201f2620065a93755704e141fcac9f59db2b"},
+    {file = "mypy-1.13.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3790ded76f0b34bc9c8ba4def8f919dd6a46db0f5a6610fb994fe8efdd447f73"},
+    {file = "mypy-1.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:51f869f4b6b538229c1d1bcc1dd7d119817206e2bc54e8e374b3dfa202defcca"},
+    {file = "mypy-1.13.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5c7051a3461ae84dfb5dd15eff5094640c61c5f22257c8b766794e6dd85e72d5"},
+    {file = "mypy-1.13.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:39bb21c69a5d6342f4ce526e4584bc5c197fd20a60d14a8624d8743fffb9472e"},
+    {file = "mypy-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:164f28cb9d6367439031f4c81e84d3ccaa1e19232d9d05d37cb0bd880d3f93c2"},
+    {file = "mypy-1.13.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a4c1bfcdbce96ff5d96fc9b08e3831acb30dc44ab02671eca5953eadad07d6d0"},
+    {file = "mypy-1.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0affb3a79a256b4183ba09811e3577c5163ed06685e4d4b46429a271ba174d2"},
+    {file = "mypy-1.13.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a7b44178c9760ce1a43f544e595d35ed61ac2c3de306599fa59b38a6048e1aa7"},
+    {file = "mypy-1.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5d5092efb8516d08440e36626f0153b5006d4088c1d663d88bf79625af3d1d62"},
+    {file = "mypy-1.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2904956dac40ced10931ac967ae63c5089bd498542194b436eb097a9f77bc8"},
+    {file = "mypy-1.13.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:7bfd8836970d33c2105562650656b6846149374dc8ed77d98424b40b09340ba7"},
+    {file = "mypy-1.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:9f73dba9ec77acb86457a8fc04b5239822df0c14a082564737833d2963677dbc"},
+    {file = "mypy-1.13.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:100fac22ce82925f676a734af0db922ecfea991e1d7ec0ceb1e115ebe501301a"},
+    {file = "mypy-1.13.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7bcb0bb7f42a978bb323a7c88f1081d1b5dee77ca86f4100735a6f541299d8fb"},
+    {file = "mypy-1.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bde31fc887c213e223bbfc34328070996061b0833b0a4cfec53745ed61f3519b"},
+    {file = "mypy-1.13.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:07de989f89786f62b937851295ed62e51774722e5444a27cecca993fc3f9cd74"},
+    {file = "mypy-1.13.0-cp38-cp38-win_amd64.whl", hash = "sha256:4bde84334fbe19bad704b3f5b78c4abd35ff1026f8ba72b29de70dda0916beb6"},
+    {file = "mypy-1.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0246bcb1b5de7f08f2826451abd947bf656945209b140d16ed317f65a17dc7dc"},
+    {file = "mypy-1.13.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7f5b7deae912cf8b77e990b9280f170381fdfbddf61b4ef80927edd813163732"},
+    {file = "mypy-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7029881ec6ffb8bc233a4fa364736789582c738217b133f1b55967115288a2bc"},
+    {file = "mypy-1.13.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3e38b980e5681f28f033f3be86b099a247b13c491f14bb8b1e1e134d23bb599d"},
+    {file = "mypy-1.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:a6789be98a2017c912ae6ccb77ea553bbaf13d27605d2ca20a76dfbced631b24"},
+    {file = "mypy-1.13.0-py3-none-any.whl", hash = "sha256:9c250883f9fd81d212e0952c92dbfcc96fc237f4b7c92f56ac81fd48460b3e5a"},
+    {file = "mypy-1.13.0.tar.gz", hash = "sha256:0291a61b6fbf3e6673e3405cfcc0e7650bebc7939659fdca2702958038bd835e"},
 ]
 
 [package.dependencies]
@@ -747,6 +1713,7 @@ typing-extensions = ">=4.6.0"
 
 [package.extras]
 dmypy = ["psutil (>=4.0)"]
+faster-cache = ["orjson"]
 install-types = ["pip"]
 mypyc = ["setuptools (>=50)"]
 reports = ["lxml"]
@@ -809,15 +1776,29 @@ files = [
 
 [[package]]
 name = "packaging"
-version = "24.1"
+version = "24.2"
 description = "Core utilities for Python packages"
 optional = false
 python-versions = ">=3.8"
 files = [
-    {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"},
-    {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"},
+    {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"},
+    {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"},
 ]
 
+[[package]]
+name = "parsimonious"
+version = "0.10.0"
+description = "(Soon to be) the fastest pure-Python PEG parser I could muster"
+optional = false
+python-versions = "*"
+files = [
+    {file = "parsimonious-0.10.0-py3-none-any.whl", hash = "sha256:982ab435fabe86519b57f6b35610aa4e4e977e9f02a14353edf4bbc75369fc0f"},
+    {file = "parsimonious-0.10.0.tar.gz", hash = "sha256:8281600da180ec8ae35427a4ab4f7b82bfec1e3d1e52f80cb60ea82b9512501c"},
+]
+
+[package.dependencies]
+regex = ">=2022.3.15"
+
 [[package]]
 name = "pathspec"
 version = "0.12.1"
@@ -874,6 +1855,97 @@ files = [
 dev = ["pre-commit", "tox"]
 testing = ["pytest", "pytest-benchmark"]
 
+[[package]]
+name = "propcache"
+version = "0.2.1"
+description = "Accelerated property cache"
+optional = false
+python-versions = ">=3.9"
+files = [
+    {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6"},
+    {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2"},
+    {file = "propcache-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea"},
+    {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"},
+    {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3"},
+    {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d"},
+    {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634"},
+    {file = "propcache-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2"},
+    {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958"},
+    {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c"},
+    {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583"},
+    {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf"},
+    {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034"},
+    {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b"},
+    {file = "propcache-0.2.1-cp310-cp310-win32.whl", hash = "sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4"},
+    {file = "propcache-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba"},
+    {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16"},
+    {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717"},
+    {file = "propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3"},
+    {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9"},
+    {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787"},
+    {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465"},
+    {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af"},
+    {file = "propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7"},
+    {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f"},
+    {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54"},
+    {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505"},
+    {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82"},
+    {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca"},
+    {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e"},
+    {file = "propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034"},
+    {file = "propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3"},
+    {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a"},
+    {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0"},
+    {file = "propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d"},
+    {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4"},
+    {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d"},
+    {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5"},
+    {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24"},
+    {file = "propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff"},
+    {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f"},
+    {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec"},
+    {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348"},
+    {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6"},
+    {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6"},
+    {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518"},
+    {file = "propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246"},
+    {file = "propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1"},
+    {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc"},
+    {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9"},
+    {file = "propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439"},
+    {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536"},
+    {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629"},
+    {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b"},
+    {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052"},
+    {file = "propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce"},
+    {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d"},
+    {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce"},
+    {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95"},
+    {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf"},
+    {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f"},
+    {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30"},
+    {file = "propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6"},
+    {file = "propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1"},
+    {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541"},
+    {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e"},
+    {file = "propcache-0.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4"},
+    {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097"},
+    {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd"},
+    {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681"},
+    {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16"},
+    {file = "propcache-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d"},
+    {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae"},
+    {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b"},
+    {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347"},
+    {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf"},
+    {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04"},
+    {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587"},
+    {file = "propcache-0.2.1-cp39-cp39-win32.whl", hash = "sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb"},
+    {file = "propcache-0.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1"},
+    {file = "propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54"},
+    {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"},
+]
+
 [[package]]
 name = "psutil"
 version = "5.9.8"
@@ -954,6 +2026,179 @@ files = [
     {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"},
 ]
 
+[[package]]
+name = "pycryptodome"
+version = "3.21.0"
+description = "Cryptographic library for Python"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
+files = [
+    {file = "pycryptodome-3.21.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:dad9bf36eda068e89059d1f07408e397856be9511d7113ea4b586642a429a4fd"},
+    {file = "pycryptodome-3.21.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:a1752eca64c60852f38bb29e2c86fca30d7672c024128ef5d70cc15868fa10f4"},
+    {file = "pycryptodome-3.21.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3ba4cc304eac4d4d458f508d4955a88ba25026890e8abff9b60404f76a62c55e"},
+    {file = "pycryptodome-3.21.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cb087b8612c8a1a14cf37dd754685be9a8d9869bed2ffaaceb04850a8aeef7e"},
+    {file = "pycryptodome-3.21.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:26412b21df30b2861424a6c6d5b1d8ca8107612a4cfa4d0183e71c5d200fb34a"},
+    {file = "pycryptodome-3.21.0-cp27-cp27m-win32.whl", hash = "sha256:cc2269ab4bce40b027b49663d61d816903a4bd90ad88cb99ed561aadb3888dd3"},
+    {file = "pycryptodome-3.21.0-cp27-cp27m-win_amd64.whl", hash = "sha256:0fa0a05a6a697ccbf2a12cec3d6d2650b50881899b845fac6e87416f8cb7e87d"},
+    {file = "pycryptodome-3.21.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6cce52e196a5f1d6797ff7946cdff2038d3b5f0aba4a43cb6bf46b575fd1b5bb"},
+    {file = "pycryptodome-3.21.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:a915597ffccabe902e7090e199a7bf7a381c5506a747d5e9d27ba55197a2c568"},
+    {file = "pycryptodome-3.21.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4e74c522d630766b03a836c15bff77cb657c5fdf098abf8b1ada2aebc7d0819"},
+    {file = "pycryptodome-3.21.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:a3804675283f4764a02db05f5191eb8fec2bb6ca34d466167fc78a5f05bbe6b3"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:2480ec2c72438430da9f601ebc12c518c093c13111a5c1644c82cdfc2e50b1e4"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:de18954104667f565e2fbb4783b56667f30fb49c4d79b346f52a29cb198d5b6b"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de4b7263a33947ff440412339cb72b28a5a4c769b5c1ca19e33dd6cd1dcec6e"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0714206d467fc911042d01ea3a1847c847bc10884cf674c82e12915cfe1649f8"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d85c1b613121ed3dbaa5a97369b3b757909531a959d229406a75b912dd51dd1"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:8898a66425a57bcf15e25fc19c12490b87bd939800f39a03ea2de2aea5e3611a"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-musllinux_1_2_i686.whl", hash = "sha256:932c905b71a56474bff8a9c014030bc3c882cee696b448af920399f730a650c2"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:18caa8cfbc676eaaf28613637a89980ad2fd96e00c564135bf90bc3f0b34dd93"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-win32.whl", hash = "sha256:280b67d20e33bb63171d55b1067f61fbd932e0b1ad976b3a184303a3dad22764"},
+    {file = "pycryptodome-3.21.0-cp36-abi3-win_amd64.whl", hash = "sha256:b7aa25fc0baa5b1d95b7633af4f5f1838467f1815442b22487426f94e0d66c53"},
+    {file = "pycryptodome-3.21.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:2cb635b67011bc147c257e61ce864879ffe6d03342dc74b6045059dfbdedafca"},
+    {file = "pycryptodome-3.21.0-pp27-pypy_73-win32.whl", hash = "sha256:4c26a2f0dc15f81ea3afa3b0c87b87e501f235d332b7f27e2225ecb80c0b1cdd"},
+    {file = "pycryptodome-3.21.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d5ebe0763c982f069d3877832254f64974139f4f9655058452603ff559c482e8"},
+    {file = "pycryptodome-3.21.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ee86cbde706be13f2dec5a42b52b1c1d1cbb90c8e405c68d0755134735c8dc6"},
+    {file = "pycryptodome-3.21.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0fd54003ec3ce4e0f16c484a10bc5d8b9bd77fa662a12b85779a2d2d85d67ee0"},
+    {file = "pycryptodome-3.21.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5dfafca172933506773482b0e18f0cd766fd3920bd03ec85a283df90d8a17bc6"},
+    {file = "pycryptodome-3.21.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:590ef0898a4b0a15485b05210b4a1c9de8806d3ad3d47f74ab1dc07c67a6827f"},
+    {file = "pycryptodome-3.21.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f35e442630bc4bc2e1878482d6f59ea22e280d7121d7adeaedba58c23ab6386b"},
+    {file = "pycryptodome-3.21.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff99f952db3db2fbe98a0b355175f93ec334ba3d01bbde25ad3a5a33abc02b58"},
+    {file = "pycryptodome-3.21.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8acd7d34af70ee63f9a849f957558e49a98f8f1634f86a59d2be62bb8e93f71c"},
+    {file = "pycryptodome-3.21.0.tar.gz", hash = "sha256:f7787e0d469bdae763b876174cf2e6c0f7be79808af26b1da96f1a64bcf47297"},
+]
+
+[[package]]
+name = "pydantic"
+version = "2.10.3"
+description = "Data validation using Python type hints"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "pydantic-2.10.3-py3-none-any.whl", hash = "sha256:be04d85bbc7b65651c5f8e6b9976ed9c6f41782a55524cef079a34a0bb82144d"},
+    {file = "pydantic-2.10.3.tar.gz", hash = "sha256:cb5ac360ce894ceacd69c403187900a02c4b20b693a9dd1d643e1effab9eadf9"},
+]
+
+[package.dependencies]
+annotated-types = ">=0.6.0"
+pydantic-core = "2.27.1"
+typing-extensions = ">=4.12.2"
+
+[package.extras]
+email = ["email-validator (>=2.0.0)"]
+timezone = ["tzdata"]
+
+[[package]]
+name = "pydantic-core"
+version = "2.27.1"
+description = "Core functionality for Pydantic validation and serialization"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "pydantic_core-2.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:71a5e35c75c021aaf400ac048dacc855f000bdfed91614b4a726f7432f1f3d6a"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f82d068a2d6ecfc6e054726080af69a6764a10015467d7d7b9f66d6ed5afa23b"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:121ceb0e822f79163dd4699e4c54f5ad38b157084d97b34de8b232bcaad70278"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4603137322c18eaf2e06a4495f426aa8d8388940f3c457e7548145011bb68e05"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a33cd6ad9017bbeaa9ed78a2e0752c5e250eafb9534f308e7a5f7849b0b1bfb4"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15cc53a3179ba0fcefe1e3ae50beb2784dede4003ad2dfd24f81bba4b23a454f"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45d9c5eb9273aa50999ad6adc6be5e0ecea7e09dbd0d31bd0c65a55a2592ca08"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8bf7b66ce12a2ac52d16f776b31d16d91033150266eb796967a7e4621707e4f6"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:655d7dd86f26cb15ce8a431036f66ce0318648f8853d709b4167786ec2fa4807"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:5556470f1a2157031e676f776c2bc20acd34c1990ca5f7e56f1ebf938b9ab57c"},
+    {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f69ed81ab24d5a3bd93861c8c4436f54afdf8e8cc421562b0c7504cf3be58206"},
+    {file = "pydantic_core-2.27.1-cp310-none-win32.whl", hash = "sha256:f5a823165e6d04ccea61a9f0576f345f8ce40ed533013580e087bd4d7442b52c"},
+    {file = "pydantic_core-2.27.1-cp310-none-win_amd64.whl", hash = "sha256:57866a76e0b3823e0b56692d1a0bf722bffb324839bb5b7226a7dbd6c9a40b17"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac3b20653bdbe160febbea8aa6c079d3df19310d50ac314911ed8cc4eb7f8cb8"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a5a8e19d7c707c4cadb8c18f5f60c843052ae83c20fa7d44f41594c644a1d330"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f7059ca8d64fea7f238994c97d91f75965216bcbe5f695bb44f354893f11d52"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bed0f8a0eeea9fb72937ba118f9db0cb7e90773462af7962d382445f3005e5a4"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3cb37038123447cf0f3ea4c74751f6a9d7afef0eb71aa07bf5f652b5e6a132c"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84286494f6c5d05243456e04223d5a9417d7f443c3b76065e75001beb26f88de"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acc07b2cfc5b835444b44a9956846b578d27beeacd4b52e45489e93276241025"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4fefee876e07a6e9aad7a8c8c9f85b0cdbe7df52b8a9552307b09050f7512c7e"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:258c57abf1188926c774a4c94dd29237e77eda19462e5bb901d88adcab6af919"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:35c14ac45fcfdf7167ca76cc80b2001205a8d5d16d80524e13508371fb8cdd9c"},
+    {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d1b26e1dff225c31897696cab7d4f0a315d4c0d9e8666dbffdb28216f3b17fdc"},
+    {file = "pydantic_core-2.27.1-cp311-none-win32.whl", hash = "sha256:2cdf7d86886bc6982354862204ae3b2f7f96f21a3eb0ba5ca0ac42c7b38598b9"},
+    {file = "pydantic_core-2.27.1-cp311-none-win_amd64.whl", hash = "sha256:3af385b0cee8df3746c3f406f38bcbfdc9041b5c2d5ce3e5fc6637256e60bbc5"},
+    {file = "pydantic_core-2.27.1-cp311-none-win_arm64.whl", hash = "sha256:81f2ec23ddc1b476ff96563f2e8d723830b06dceae348ce02914a37cb4e74b89"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9cbd94fc661d2bab2bc702cddd2d3370bbdcc4cd0f8f57488a81bcce90c7a54f"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f8c4718cd44ec1580e180cb739713ecda2bdee1341084c1467802a417fe0f02"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15aae984e46de8d376df515f00450d1522077254ef6b7ce189b38ecee7c9677c"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ba5e3963344ff25fc8c40da90f44b0afca8cfd89d12964feb79ac1411a260ac"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:992cea5f4f3b29d6b4f7f1726ed8ee46c8331c6b4eed6db5b40134c6fe1768bb"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0325336f348dbee6550d129b1627cb8f5351a9dc91aad141ffb96d4937bd9529"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7597c07fbd11515f654d6ece3d0e4e5093edc30a436c63142d9a4b8e22f19c35"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3bbd5d8cc692616d5ef6fbbbd50dbec142c7e6ad9beb66b78a96e9c16729b089"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:dc61505e73298a84a2f317255fcc72b710b72980f3a1f670447a21efc88f8381"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:e1f735dc43da318cad19b4173dd1ffce1d84aafd6c9b782b3abc04a0d5a6f5bb"},
+    {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f4e5658dbffe8843a0f12366a4c2d1c316dbe09bb4dfbdc9d2d9cd6031de8aae"},
+    {file = "pydantic_core-2.27.1-cp312-none-win32.whl", hash = "sha256:672ebbe820bb37988c4d136eca2652ee114992d5d41c7e4858cdd90ea94ffe5c"},
+    {file = "pydantic_core-2.27.1-cp312-none-win_amd64.whl", hash = "sha256:66ff044fd0bb1768688aecbe28b6190f6e799349221fb0de0e6f4048eca14c16"},
+    {file = "pydantic_core-2.27.1-cp312-none-win_arm64.whl", hash = "sha256:9a3b0793b1bbfd4146304e23d90045f2a9b5fd5823aa682665fbdaf2a6c28f3e"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f216dbce0e60e4d03e0c4353c7023b202d95cbaeff12e5fd2e82ea0a66905073"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a2e02889071850bbfd36b56fd6bc98945e23670773bc7a76657e90e6b6603c08"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42b0e23f119b2b456d07ca91b307ae167cc3f6c846a7b169fca5326e32fdc6cf"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:764be71193f87d460a03f1f7385a82e226639732214b402f9aa61f0d025f0737"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c00666a3bd2f84920a4e94434f5974d7bbc57e461318d6bb34ce9cdbbc1f6b2"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ccaa88b24eebc0f849ce0a4d09e8a408ec5a94afff395eb69baf868f5183107"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c65af9088ac534313e1963443d0ec360bb2b9cba6c2909478d22c2e363d98a51"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:206b5cf6f0c513baffaeae7bd817717140770c74528f3e4c3e1cec7871ddd61a"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:062f60e512fc7fff8b8a9d680ff0ddaaef0193dba9fa83e679c0c5f5fbd018bc"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:a0697803ed7d4af5e4c1adf1670af078f8fcab7a86350e969f454daf598c4960"},
+    {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:58ca98a950171f3151c603aeea9303ef6c235f692fe555e883591103da709b23"},
+    {file = "pydantic_core-2.27.1-cp313-none-win32.whl", hash = "sha256:8065914ff79f7eab1599bd80406681f0ad08f8e47c880f17b416c9f8f7a26d05"},
+    {file = "pydantic_core-2.27.1-cp313-none-win_amd64.whl", hash = "sha256:ba630d5e3db74c79300d9a5bdaaf6200172b107f263c98a0539eeecb857b2337"},
+    {file = "pydantic_core-2.27.1-cp313-none-win_arm64.whl", hash = "sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5897bec80a09b4084aee23f9b73a9477a46c3304ad1d2d07acca19723fb1de62"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d0165ab2914379bd56908c02294ed8405c252250668ebcb438a55494c69f44ab"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b9af86e1d8e4cfc82c2022bfaa6f459381a50b94a29e95dcdda8442d6d83864"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f6c8a66741c5f5447e047ab0ba7a1c61d1e95580d64bce852e3df1f895c4067"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a42d6a8156ff78981f8aa56eb6394114e0dedb217cf8b729f438f643608cbcd"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64c65f40b4cd8b0e049a8edde07e38b476da7e3aaebe63287c899d2cff253fa5"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdcf339322a3fae5cbd504edcefddd5a50d9ee00d968696846f089b4432cf78"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf99c8404f008750c846cb4ac4667b798a9f7de673ff719d705d9b2d6de49c5f"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8f1edcea27918d748c7e5e4d917297b2a0ab80cad10f86631e488b7cddf76a36"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:159cac0a3d096f79ab6a44d77a961917219707e2a130739c64d4dd46281f5c2a"},
+    {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:029d9757eb621cc6e1848fa0b0310310de7301057f623985698ed7ebb014391b"},
+    {file = "pydantic_core-2.27.1-cp38-none-win32.whl", hash = "sha256:a28af0695a45f7060e6f9b7092558a928a28553366519f64083c63a44f70e618"},
+    {file = "pydantic_core-2.27.1-cp38-none-win_amd64.whl", hash = "sha256:2d4567c850905d5eaaed2f7a404e61012a51caf288292e016360aa2b96ff38d4"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:e9386266798d64eeb19dd3677051f5705bf873e98e15897ddb7d76f477131967"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4228b5b646caa73f119b1ae756216b59cc6e2267201c27d3912b592c5e323b60"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3dfe500de26c52abe0477dde16192ac39c98f05bf2d80e76102d394bd13854"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aee66be87825cdf72ac64cb03ad4c15ffef4143dbf5c113f64a5ff4f81477bf9"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b748c44bb9f53031c8cbc99a8a061bc181c1000c60a30f55393b6e9c45cc5bd"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ca038c7f6a0afd0b2448941b6ef9d5e1949e999f9e5517692eb6da58e9d44be"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e0bd57539da59a3e4671b90a502da9a28c72322a4f17866ba3ac63a82c4498e"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac6c2c45c847bbf8f91930d88716a0fb924b51e0c6dad329b793d670ec5db792"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b94d4ba43739bbe8b0ce4262bcc3b7b9f31459ad120fb595627eaeb7f9b9ca01"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:00e6424f4b26fe82d44577b4c842d7df97c20be6439e8e685d0d715feceb9fb9"},
+    {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:38de0a70160dd97540335b7ad3a74571b24f1dc3ed33f815f0880682e6880131"},
+    {file = "pydantic_core-2.27.1-cp39-none-win32.whl", hash = "sha256:7ccebf51efc61634f6c2344da73e366c75e735960b5654b63d7e6f69a5885fa3"},
+    {file = "pydantic_core-2.27.1-cp39-none-win_amd64.whl", hash = "sha256:a57847b090d7892f123726202b7daa20df6694cbd583b67a592e856bff603d6c"},
+    {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3fa80ac2bd5856580e242dbc202db873c60a01b20309c8319b5c5986fbe53ce6"},
+    {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d950caa237bb1954f1b8c9227b5065ba6875ac9771bb8ec790d956a699b78676"},
+    {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e4216e64d203e39c62df627aa882f02a2438d18a5f21d7f721621f7a5d3611d"},
+    {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a3d637bd387c41d46b002f0e49c52642281edacd2740e5a42f7017feea3f2c"},
+    {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:161c27ccce13b6b0c8689418da3885d3220ed2eae2ea5e9b2f7f3d48f1d52c27"},
+    {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:19910754e4cc9c63bc1c7f6d73aa1cfee82f42007e407c0f413695c2f7ed777f"},
+    {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:e173486019cc283dc9778315fa29a363579372fe67045e971e89b6365cc035ed"},
+    {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:af52d26579b308921b73b956153066481f064875140ccd1dfd4e77db89dbb12f"},
+    {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:981fb88516bd1ae8b0cbbd2034678a39dedc98752f264ac9bc5839d3923fa04c"},
+    {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5fde892e6c697ce3e30c61b239330fc5d569a71fefd4eb6512fc6caec9dd9e2f"},
+    {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:816f5aa087094099fff7edabb5e01cc370eb21aa1a1d44fe2d2aefdfb5599b31"},
+    {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c10c309e18e443ddb108f0ef64e8729363adbfd92d6d57beec680f6261556f3"},
+    {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98476c98b02c8e9b2eec76ac4156fd006628b1b2d0ef27e548ffa978393fd154"},
+    {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c3027001c28434e7ca5a6e1e527487051136aa81803ac812be51802150d880dd"},
+    {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:7699b1df36a48169cdebda7ab5a2bac265204003f153b4bd17276153d997670a"},
+    {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1c39b07d90be6b48968ddc8c19e7585052088fd7ec8d568bb31ff64c70ae3c97"},
+    {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:46ccfe3032b3915586e469d4972973f893c0a2bb65669194a5bdea9bacc088c2"},
+    {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:62ba45e21cf6571d7f716d903b5b7b6d2617e2d5d67c0923dc47b9d41369f840"},
+    {file = "pydantic_core-2.27.1.tar.gz", hash = "sha256:62a763352879b84aa31058fc931884055fd75089cccbd9d58bb6afd01141b235"},
+]
+
+[package.dependencies]
+typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
+
 [[package]]
 name = "pyflakes"
 version = "3.2.0"
@@ -1005,13 +2250,13 @@ dev = ["build", "flake8", "mypy", "pytest", "twine"]
 
 [[package]]
 name = "pytest"
-version = "8.3.3"
+version = "8.3.4"
 description = "pytest: simple powerful testing with Python"
 optional = false
 python-versions = ">=3.8"
 files = [
-    {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"},
-    {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"},
+    {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"},
+    {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"},
 ]
 
 [package.dependencies]
@@ -1027,17 +2272,17 @@ dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments
 
 [[package]]
 name = "pytest-cov"
-version = "5.0.0"
+version = "6.0.0"
 description = "Pytest plugin for measuring coverage."
 optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
 files = [
-    {file = "pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857"},
-    {file = "pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652"},
+    {file = "pytest-cov-6.0.0.tar.gz", hash = "sha256:fde0b595ca248bb8e2d76f020b465f3b107c9632e6a1d1705f17834c89dcadc0"},
+    {file = "pytest_cov-6.0.0-py3-none-any.whl", hash = "sha256:eee6f1b9e61008bd34975a4d5bab25801eb31898b032dd55addc93e96fcaaa35"},
 ]
 
 [package.dependencies]
-coverage = {version = ">=5.2.1", extras = ["toml"]}
+coverage = {version = ">=7.5", extras = ["toml"]}
 pytest = ">=4.6"
 
 [package.extras]
@@ -1080,57 +2325,240 @@ psutil = ["psutil (>=3.0)"]
 setproctitle = ["setproctitle"]
 testing = ["filelock"]
 
+[[package]]
+name = "pyunormalize"
+version = "16.0.0"
+description = "Unicode normalization forms (NFC, NFKC, NFD, NFKD). A library independent of the Python core Unicode database."
+optional = false
+python-versions = ">=3.6"
+files = [
+    {file = "pyunormalize-16.0.0-py3-none-any.whl", hash = "sha256:c647d95e5d1e2ea9a2f448d1d95d8518348df24eab5c3fd32d2b5c3300a49152"},
+    {file = "pyunormalize-16.0.0.tar.gz", hash = "sha256:2e1dfbb4a118154ae26f70710426a52a364b926c9191f764601f5a8cb12761f7"},
+]
+
 [[package]]
 name = "pyupgrade"
-version = "3.17.0"
+version = "3.19.0"
 description = "A tool to automatically upgrade syntax for newer versions."
 optional = false
 python-versions = ">=3.9"
 files = [
-    {file = "pyupgrade-3.17.0-py2.py3-none-any.whl", hash = "sha256:cbc8f67a61d3f4e7ca9c2ef57b9aae67f023d3780ce30c99fccec78401723754"},
-    {file = "pyupgrade-3.17.0.tar.gz", hash = "sha256:d5dd1dcaf9a016c31508bb9d3d09fd335d736578092f91df52bb26ac30c37919"},
+    {file = "pyupgrade-3.19.0-py2.py3-none-any.whl", hash = "sha256:1364fcae4436a6a236a85960587390ec8a939ad0f65f429346f70a5f201c1489"},
+    {file = "pyupgrade-3.19.0.tar.gz", hash = "sha256:7ed4b7d972ed2788c43994f4a24f949d5bf044342992f3b48e1bed0092ddaa01"},
+]
+
+[package.dependencies]
+tokenize-rt = ">=6.1.0"
+
+[[package]]
+name = "pywin32"
+version = "308"
+description = "Python for Window Extensions"
+optional = false
+python-versions = "*"
+files = [
+    {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"},
+    {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"},
+    {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"},
+    {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"},
+    {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"},
+    {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"},
+    {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"},
+    {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"},
+    {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"},
+    {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"},
+    {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"},
+    {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"},
+    {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"},
+    {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"},
+    {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"},
+    {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"},
+    {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"},
+    {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"},
+]
+
+[[package]]
+name = "regex"
+version = "2024.11.6"
+description = "Alternative regular expression module, to replace re."
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"},
+    {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"},
+    {file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"},
+    {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"},
+    {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"},
+    {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"},
+    {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"},
+    {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"},
+    {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"},
+    {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"},
+    {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"},
+    {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"},
+    {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"},
+    {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"},
+    {file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"},
+    {file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"},
+    {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"},
+    {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"},
+    {file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"},
+    {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"},
+    {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"},
+    {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"},
+    {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"},
+    {file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"},
+    {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"},
+    {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"},
+    {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"},
+    {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"},
+    {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"},
+    {file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"},
+    {file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"},
+    {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"},
+    {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"},
+    {file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"},
+    {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"},
+    {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"},
+    {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"},
+    {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"},
+    {file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"},
+    {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"},
+    {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"},
+    {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"},
+    {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"},
+    {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"},
+    {file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"},
+    {file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"},
+    {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"},
+    {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"},
+    {file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"},
+    {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"},
+    {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"},
+    {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"},
+    {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"},
+    {file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"},
+    {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"},
+    {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"},
+    {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"},
+    {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"},
+    {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"},
+    {file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"},
+    {file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"},
+    {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"},
+    {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"},
+    {file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"},
+    {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"},
+    {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"},
+    {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"},
+    {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"},
+    {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"},
+    {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"},
+    {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"},
+    {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"},
+    {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"},
+    {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"},
+    {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"},
+    {file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"},
+    {file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"},
+    {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"},
+    {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"},
+    {file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"},
+    {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"},
+    {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"},
+    {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"},
+    {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"},
+    {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"},
+    {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"},
+    {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"},
+    {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"},
+    {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"},
+    {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"},
+    {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"},
+    {file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"},
+    {file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"},
+    {file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"},
+]
+
+[[package]]
+name = "requests"
+version = "2.32.3"
+description = "Python HTTP for Humans."
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"},
+    {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"},
 ]
 
 [package.dependencies]
-tokenize-rt = ">=5.2.0"
+certifi = ">=2017.4.17"
+charset-normalizer = ">=2,<4"
+idna = ">=2.5,<4"
+urllib3 = ">=1.21.1,<3"
+
+[package.extras]
+socks = ["PySocks (>=1.5.6,!=1.5.7)"]
+use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
 
 [[package]]
 name = "rich"
-version = "13.8.1"
+version = "13.9.4"
 description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
 optional = false
-python-versions = ">=3.7.0"
+python-versions = ">=3.8.0"
 files = [
-    {file = "rich-13.8.1-py3-none-any.whl", hash = "sha256:1760a3c0848469b97b558fc61c85233e3dafb69c7a071b4d60c38099d3cd4c06"},
-    {file = "rich-13.8.1.tar.gz", hash = "sha256:8260cda28e3db6bf04d2d1ef4dbc03ba80a824c88b0e7668a0f23126a424844a"},
+    {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"},
+    {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"},
 ]
 
 [package.dependencies]
 markdown-it-py = ">=2.2.0"
 pygments = ">=2.13.0,<3.0.0"
+typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""}
 
 [package.extras]
 jupyter = ["ipywidgets (>=7.5.1,<9)"]
 
+[[package]]
+name = "rlp"
+version = "4.0.1"
+description = "rlp: A package for Recursive Length Prefix encoding and decoding"
+optional = false
+python-versions = "<4,>=3.8"
+files = [
+    {file = "rlp-4.0.1-py3-none-any.whl", hash = "sha256:ff6846c3c27b97ee0492373aa074a7c3046aadd973320f4fffa7ac45564b0258"},
+    {file = "rlp-4.0.1.tar.gz", hash = "sha256:bcefb11013dfadf8902642337923bd0c786dc8a27cb4c21da6e154e52869ecb1"},
+]
+
+[package.dependencies]
+eth-utils = ">=2"
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "hypothesis (==5.19.0)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"]
+docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"]
+rust-backend = ["rusty-rlp (>=0.2.1)"]
+test = ["hypothesis (==5.19.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"]
+
 [[package]]
 name = "setuptools"
-version = "75.1.0"
+version = "75.6.0"
 description = "Easily download, build, install, upgrade, and uninstall Python packages"
 optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
 files = [
-    {file = "setuptools-75.1.0-py3-none-any.whl", hash = "sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2"},
-    {file = "setuptools-75.1.0.tar.gz", hash = "sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538"},
+    {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"},
+    {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"},
 ]
 
 [package.extras]
-check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"]
-core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
+check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"]
+core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
 cover = ["pytest-cov"]
 doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
 enabler = ["pytest-enabler (>=2.2)"]
-test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
-type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"]
+test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
+type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"]
 
 [[package]]
 name = "sortedcontainers"
@@ -1165,24 +2593,54 @@ dev = ["aiohttp (>=3.8.1)", "click (>=8.1.2)", "msgpack (>=1.0.3)"]
 
 [[package]]
 name = "tokenize-rt"
-version = "6.0.0"
+version = "6.1.0"
 description = "A wrapper around the stdlib `tokenize` which roundtrips."
 optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
 files = [
-    {file = "tokenize_rt-6.0.0-py2.py3-none-any.whl", hash = "sha256:d4ff7ded2873512938b4f8cbb98c9b07118f01d30ac585a30d7a88353ca36d22"},
-    {file = "tokenize_rt-6.0.0.tar.gz", hash = "sha256:b9711bdfc51210211137499b5e355d3de5ec88a85d2025c520cbb921b5194367"},
+    {file = "tokenize_rt-6.1.0-py2.py3-none-any.whl", hash = "sha256:d706141cdec4aa5f358945abe36b911b8cbdc844545da99e811250c0cee9b6fc"},
+    {file = "tokenize_rt-6.1.0.tar.gz", hash = "sha256:e8ee836616c0877ab7c7b54776d2fefcc3bde714449a206762425ae114b53c86"},
 ]
 
 [[package]]
 name = "tomli"
-version = "2.0.1"
+version = "2.2.1"
 description = "A lil' TOML parser"
 optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
 files = [
-    {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
-    {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
+    {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"},
+    {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"},
+    {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"},
+    {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"},
+    {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"},
+    {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"},
+    {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"},
+    {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"},
+    {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"},
+    {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"},
+    {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"},
+    {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"},
+    {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"},
+    {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"},
+    {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"},
+    {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"},
+    {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"},
+    {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"},
+    {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"},
+    {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"},
+    {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"},
+    {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"},
+    {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"},
+    {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"},
+    {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"},
+    {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"},
+    {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"},
+    {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"},
+    {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"},
+    {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"},
+    {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"},
+    {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"},
 ]
 
 [[package]]
@@ -1196,6 +2654,20 @@ files = [
     {file = "toolz-0.12.1.tar.gz", hash = "sha256:ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d"},
 ]
 
+[[package]]
+name = "types-requests"
+version = "2.32.0.20241016"
+description = "Typing stubs for requests"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95"},
+    {file = "types_requests-2.32.0.20241016-py3-none-any.whl", hash = "sha256:4195d62d6d3e043a4eaaf08ff8a62184584d2e8684e9d2aa178c7915a7da3747"},
+]
+
+[package.dependencies]
+urllib3 = ">=2"
+
 [[package]]
 name = "typing-extensions"
 version = "4.12.2"
@@ -1221,6 +2693,23 @@ files = [
 [package.extras]
 test = ["coverage", "pytest", "pytest-cov"]
 
+[[package]]
+name = "urllib3"
+version = "2.2.3"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"},
+    {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"},
+]
+
+[package.extras]
+brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
+h2 = ["h2 (>=4,<5)"]
+socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
+zstd = ["zstandard (>=0.18.0)"]
+
 [[package]]
 name = "wcwidth"
 version = "0.2.13"
@@ -1232,26 +2721,250 @@ files = [
     {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"},
 ]
 
+[[package]]
+name = "web3"
+version = "7.6.0"
+description = "web3: A Python library for interacting with Ethereum"
+optional = false
+python-versions = "<4,>=3.8"
+files = [
+    {file = "web3-7.6.0-py3-none-any.whl", hash = "sha256:670dac222b2ec5ce72f4572d8e5d91afe79fcac03af9dabfc69da4fe9f6621df"},
+    {file = "web3-7.6.0.tar.gz", hash = "sha256:25df8acdcb78eb872c3299408b79e8b4fd091602de5e3d29cbd8459e8f75ff23"},
+]
+
+[package.dependencies]
+aiohttp = ">=3.7.4.post0"
+eth-abi = ">=5.0.1"
+eth-account = ">=0.13.1"
+eth-hash = {version = ">=0.5.1", extras = ["pycryptodome"]}
+eth-typing = ">=5.0.0"
+eth-utils = ">=5.0.0"
+hexbytes = ">=1.2.0"
+pydantic = ">=2.4.0"
+pyunormalize = ">=15.0.0"
+pywin32 = {version = ">=223", markers = "platform_system == \"Windows\""}
+requests = ">=2.23.0"
+types-requests = ">=2.0.0"
+typing-extensions = ">=4.0.1"
+websockets = ">=10.0.0,<14.0.0"
+
+[package.extras]
+dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-tester[py-evm] (>=0.11.0b1,<0.13.0b1)", "flaky (>=3.7.0)", "hypothesis (>=3.31.2)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "py-geth (>=5.0.0)", "pytest (>=7.0.0)", "pytest-asyncio (>=0.18.1,<0.23)", "pytest-mock (>=1.10)", "pytest-xdist (>=2.4.0)", "setuptools (>=38.6.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "tqdm (>4.32)", "twine (>=1.13)", "wheel"]
+docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"]
+test = ["eth-tester[py-evm] (>=0.11.0b1,<0.13.0b1)", "flaky (>=3.7.0)", "hypothesis (>=3.31.2)", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "py-geth (>=5.0.0)", "pytest (>=7.0.0)", "pytest-asyncio (>=0.18.1,<0.23)", "pytest-mock (>=1.10)", "pytest-xdist (>=2.4.0)", "tox (>=4.0.0)"]
+tester = ["eth-tester[py-evm] (>=0.11.0b1,<0.13.0b1)", "py-geth (>=5.0.0)"]
+
+[[package]]
+name = "websockets"
+version = "13.1"
+description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "websockets-13.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f48c749857f8fb598fb890a75f540e3221d0976ed0bf879cf3c7eef34151acee"},
+    {file = "websockets-13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c7e72ce6bda6fb9409cc1e8164dd41d7c91466fb599eb047cfda72fe758a34a7"},
+    {file = "websockets-13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f779498eeec470295a2b1a5d97aa1bc9814ecd25e1eb637bd9d1c73a327387f6"},
+    {file = "websockets-13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676df3fe46956fbb0437d8800cd5f2b6d41143b6e7e842e60554398432cf29b"},
+    {file = "websockets-13.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7affedeb43a70351bb811dadf49493c9cfd1ed94c9c70095fd177e9cc1541fa"},
+    {file = "websockets-13.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1971e62d2caa443e57588e1d82d15f663b29ff9dfe7446d9964a4b6f12c1e700"},
+    {file = "websockets-13.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5f2e75431f8dc4a47f31565a6e1355fb4f2ecaa99d6b89737527ea917066e26c"},
+    {file = "websockets-13.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58cf7e75dbf7e566088b07e36ea2e3e2bd5676e22216e4cad108d4df4a7402a0"},
+    {file = "websockets-13.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c90d6dec6be2c7d03378a574de87af9b1efea77d0c52a8301dd831ece938452f"},
+    {file = "websockets-13.1-cp310-cp310-win32.whl", hash = "sha256:730f42125ccb14602f455155084f978bd9e8e57e89b569b4d7f0f0c17a448ffe"},
+    {file = "websockets-13.1-cp310-cp310-win_amd64.whl", hash = "sha256:5993260f483d05a9737073be197371940c01b257cc45ae3f1d5d7adb371b266a"},
+    {file = "websockets-13.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:61fc0dfcda609cda0fc9fe7977694c0c59cf9d749fbb17f4e9483929e3c48a19"},
+    {file = "websockets-13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ceec59f59d092c5007e815def4ebb80c2de330e9588e101cf8bd94c143ec78a5"},
+    {file = "websockets-13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c1dca61c6db1166c48b95198c0b7d9c990b30c756fc2923cc66f68d17dc558fd"},
+    {file = "websockets-13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308e20f22c2c77f3f39caca508e765f8725020b84aa963474e18c59accbf4c02"},
+    {file = "websockets-13.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d516c325e6540e8a57b94abefc3459d7dab8ce52ac75c96cad5549e187e3a7"},
+    {file = "websockets-13.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c6e35319b46b99e168eb98472d6c7d8634ee37750d7693656dc766395df096"},
+    {file = "websockets-13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5f9fee94ebafbc3117c30be1844ed01a3b177bb6e39088bc6b2fa1dc15572084"},
+    {file = "websockets-13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7c1e90228c2f5cdde263253fa5db63e6653f1c00e7ec64108065a0b9713fa1b3"},
+    {file = "websockets-13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6548f29b0e401eea2b967b2fdc1c7c7b5ebb3eeb470ed23a54cd45ef078a0db9"},
+    {file = "websockets-13.1-cp311-cp311-win32.whl", hash = "sha256:c11d4d16e133f6df8916cc5b7e3e96ee4c44c936717d684a94f48f82edb7c92f"},
+    {file = "websockets-13.1-cp311-cp311-win_amd64.whl", hash = "sha256:d04f13a1d75cb2b8382bdc16ae6fa58c97337253826dfe136195b7f89f661557"},
+    {file = "websockets-13.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9d75baf00138f80b48f1eac72ad1535aac0b6461265a0bcad391fc5aba875cfc"},
+    {file = "websockets-13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9b6f347deb3dcfbfde1c20baa21c2ac0751afaa73e64e5b693bb2b848efeaa49"},
+    {file = "websockets-13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de58647e3f9c42f13f90ac7e5f58900c80a39019848c5547bc691693098ae1bd"},
+    {file = "websockets-13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1b54689e38d1279a51d11e3467dd2f3a50f5f2e879012ce8f2d6943f00e83f0"},
+    {file = "websockets-13.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf1781ef73c073e6b0f90af841aaf98501f975d306bbf6221683dd594ccc52b6"},
+    {file = "websockets-13.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d23b88b9388ed85c6faf0e74d8dec4f4d3baf3ecf20a65a47b836d56260d4b9"},
+    {file = "websockets-13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3c78383585f47ccb0fcf186dcb8a43f5438bd7d8f47d69e0b56f71bf431a0a68"},
+    {file = "websockets-13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d6d300f8ec35c24025ceb9b9019ae9040c1ab2f01cddc2bcc0b518af31c75c14"},
+    {file = "websockets-13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a9dcaf8b0cc72a392760bb8755922c03e17a5a54e08cca58e8b74f6902b433cf"},
+    {file = "websockets-13.1-cp312-cp312-win32.whl", hash = "sha256:2f85cf4f2a1ba8f602298a853cec8526c2ca42a9a4b947ec236eaedb8f2dc80c"},
+    {file = "websockets-13.1-cp312-cp312-win_amd64.whl", hash = "sha256:38377f8b0cdeee97c552d20cf1865695fcd56aba155ad1b4ca8779a5b6ef4ac3"},
+    {file = "websockets-13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a9ab1e71d3d2e54a0aa646ab6d4eebfaa5f416fe78dfe4da2839525dc5d765c6"},
+    {file = "websockets-13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b9d7439d7fab4dce00570bb906875734df13d9faa4b48e261c440a5fec6d9708"},
+    {file = "websockets-13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:327b74e915cf13c5931334c61e1a41040e365d380f812513a255aa804b183418"},
+    {file = "websockets-13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:325b1ccdbf5e5725fdcb1b0e9ad4d2545056479d0eee392c291c1bf76206435a"},
+    {file = "websockets-13.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:346bee67a65f189e0e33f520f253d5147ab76ae42493804319b5716e46dddf0f"},
+    {file = "websockets-13.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91a0fa841646320ec0d3accdff5b757b06e2e5c86ba32af2e0815c96c7a603c5"},
+    {file = "websockets-13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:18503d2c5f3943e93819238bf20df71982d193f73dcecd26c94514f417f6b135"},
+    {file = "websockets-13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a9cd1af7e18e5221d2878378fbc287a14cd527fdd5939ed56a18df8a31136bb2"},
+    {file = "websockets-13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:70c5be9f416aa72aab7a2a76c90ae0a4fe2755c1816c153c1a2bcc3333ce4ce6"},
+    {file = "websockets-13.1-cp313-cp313-win32.whl", hash = "sha256:624459daabeb310d3815b276c1adef475b3e6804abaf2d9d2c061c319f7f187d"},
+    {file = "websockets-13.1-cp313-cp313-win_amd64.whl", hash = "sha256:c518e84bb59c2baae725accd355c8dc517b4a3ed8db88b4bc93c78dae2974bf2"},
+    {file = "websockets-13.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c7934fd0e920e70468e676fe7f1b7261c1efa0d6c037c6722278ca0228ad9d0d"},
+    {file = "websockets-13.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:149e622dc48c10ccc3d2760e5f36753db9cacf3ad7bc7bbbfd7d9c819e286f23"},
+    {file = "websockets-13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a569eb1b05d72f9bce2ebd28a1ce2054311b66677fcd46cf36204ad23acead8c"},
+    {file = "websockets-13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95df24ca1e1bd93bbca51d94dd049a984609687cb2fb08a7f2c56ac84e9816ea"},
+    {file = "websockets-13.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8dbb1bf0c0a4ae8b40bdc9be7f644e2f3fb4e8a9aca7145bfa510d4a374eeb7"},
+    {file = "websockets-13.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:035233b7531fb92a76beefcbf479504db8c72eb3bff41da55aecce3a0f729e54"},
+    {file = "websockets-13.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:e4450fc83a3df53dec45922b576e91e94f5578d06436871dce3a6be38e40f5db"},
+    {file = "websockets-13.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:463e1c6ec853202dd3657f156123d6b4dad0c546ea2e2e38be2b3f7c5b8e7295"},
+    {file = "websockets-13.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6d6855bbe70119872c05107e38fbc7f96b1d8cb047d95c2c50869a46c65a8e96"},
+    {file = "websockets-13.1-cp38-cp38-win32.whl", hash = "sha256:204e5107f43095012b00f1451374693267adbb832d29966a01ecc4ce1db26faf"},
+    {file = "websockets-13.1-cp38-cp38-win_amd64.whl", hash = "sha256:485307243237328c022bc908b90e4457d0daa8b5cf4b3723fd3c4a8012fce4c6"},
+    {file = "websockets-13.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9b37c184f8b976f0c0a231a5f3d6efe10807d41ccbe4488df8c74174805eea7d"},
+    {file = "websockets-13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:163e7277e1a0bd9fb3c8842a71661ad19c6aa7bb3d6678dc7f89b17fbcc4aeb7"},
+    {file = "websockets-13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4b889dbd1342820cc210ba44307cf75ae5f2f96226c0038094455a96e64fb07a"},
+    {file = "websockets-13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:586a356928692c1fed0eca68b4d1c2cbbd1ca2acf2ac7e7ebd3b9052582deefa"},
+    {file = "websockets-13.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7bd6abf1e070a6b72bfeb71049d6ad286852e285f146682bf30d0296f5fbadfa"},
+    {file = "websockets-13.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2aad13a200e5934f5a6767492fb07151e1de1d6079c003ab31e1823733ae79"},
+    {file = "websockets-13.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:df01aea34b6e9e33572c35cd16bae5a47785e7d5c8cb2b54b2acdb9678315a17"},
+    {file = "websockets-13.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e54affdeb21026329fb0744ad187cf812f7d3c2aa702a5edb562b325191fcab6"},
+    {file = "websockets-13.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9ef8aa8bdbac47f4968a5d66462a2a0935d044bf35c0e5a8af152d58516dbeb5"},
+    {file = "websockets-13.1-cp39-cp39-win32.whl", hash = "sha256:deeb929efe52bed518f6eb2ddc00cc496366a14c726005726ad62c2dd9017a3c"},
+    {file = "websockets-13.1-cp39-cp39-win_amd64.whl", hash = "sha256:7c65ffa900e7cc958cd088b9a9157a8141c991f8c53d11087e6fb7277a03f81d"},
+    {file = "websockets-13.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5dd6da9bec02735931fccec99d97c29f47cc61f644264eb995ad6c0c27667238"},
+    {file = "websockets-13.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:2510c09d8e8df777177ee3d40cd35450dc169a81e747455cc4197e63f7e7bfe5"},
+    {file = "websockets-13.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1c3cf67185543730888b20682fb186fc8d0fa6f07ccc3ef4390831ab4b388d9"},
+    {file = "websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcc03c8b72267e97b49149e4863d57c2d77f13fae12066622dc78fe322490fe6"},
+    {file = "websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:004280a140f220c812e65f36944a9ca92d766b6cc4560be652a0a3883a79ed8a"},
+    {file = "websockets-13.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e2620453c075abeb0daa949a292e19f56de518988e079c36478bacf9546ced23"},
+    {file = "websockets-13.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9156c45750b37337f7b0b00e6248991a047be4aa44554c9886fe6bdd605aab3b"},
+    {file = "websockets-13.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:80c421e07973a89fbdd93e6f2003c17d20b69010458d3a8e37fb47874bd67d51"},
+    {file = "websockets-13.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82d0ba76371769d6a4e56f7e83bb8e81846d17a6190971e38b5de108bde9b0d7"},
+    {file = "websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e9875a0143f07d74dc5e1ded1c4581f0d9f7ab86c78994e2ed9e95050073c94d"},
+    {file = "websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11e38ad8922c7961447f35c7b17bffa15de4d17c70abd07bfbe12d6faa3e027"},
+    {file = "websockets-13.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4059f790b6ae8768471cddb65d3c4fe4792b0ab48e154c9f0a04cefaabcd5978"},
+    {file = "websockets-13.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:25c35bf84bf7c7369d247f0b8cfa157f989862c49104c5cf85cb5436a641d93e"},
+    {file = "websockets-13.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:83f91d8a9bb404b8c2c41a707ac7f7f75b9442a0a876df295de27251a856ad09"},
+    {file = "websockets-13.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a43cfdcddd07f4ca2b1afb459824dd3c6d53a51410636a2c7fc97b9a8cf4842"},
+    {file = "websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a2ef1381632a2f0cb4efeff34efa97901c9fbc118e01951ad7cfc10601a9bb"},
+    {file = "websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459bf774c754c35dbb487360b12c5727adab887f1622b8aed5755880a21c4a20"},
+    {file = "websockets-13.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:95858ca14a9f6fa8413d29e0a585b31b278388aa775b8a81fa24830123874678"},
+    {file = "websockets-13.1-py3-none-any.whl", hash = "sha256:a9a396a6ad26130cdae92ae10c36af09d9bfe6cafe69670fd3b6da9b07b4044f"},
+    {file = "websockets-13.1.tar.gz", hash = "sha256:a3b3366087c1bc0a2795111edcadddb8b3b59509d5db5d7ea3fdd69f954a8878"},
+]
+
 [[package]]
 name = "xdg-base-dirs"
-version = "6.0.1"
+version = "6.0.2"
 description = "Variables defined by the XDG Base Directory Specification"
 optional = false
-python-versions = ">=3.10,<4.0"
+python-versions = "<4.0,>=3.10"
 files = [
-    {file = "xdg_base_dirs-6.0.1-py3-none-any.whl", hash = "sha256:63f6ebc1721ced2e86c340856e004ef829501a30a37e17079c52cfaf0e1741b9"},
-    {file = "xdg_base_dirs-6.0.1.tar.gz", hash = "sha256:b4c8f4ba72d1286018b25eea374ec6fbf4fddda3d4137edf50de95de53e195a6"},
+    {file = "xdg_base_dirs-6.0.2-py3-none-any.whl", hash = "sha256:3c01d1b758ed4ace150ac960ac0bd13ce4542b9e2cdf01312dcda5012cfebabe"},
+    {file = "xdg_base_dirs-6.0.2.tar.gz", hash = "sha256:950504e14d27cf3c9cb37744680a43bf0ac42efefc4ef4acf98dc736cab2bced"},
 ]
 
+[[package]]
+name = "yarl"
+version = "1.18.3"
+description = "Yet another URL library"
+optional = false
+python-versions = ">=3.9"
+files = [
+    {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"},
+    {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"},
+    {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"},
+    {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"},
+    {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"},
+    {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"},
+    {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"},
+    {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"},
+    {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"},
+    {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"},
+    {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"},
+    {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"},
+    {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"},
+    {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"},
+    {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"},
+    {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"},
+    {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"},
+    {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"},
+    {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"},
+    {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"},
+    {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"},
+    {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"},
+    {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"},
+    {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"},
+    {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"},
+    {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"},
+    {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"},
+    {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"},
+    {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"},
+    {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"},
+    {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"},
+    {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"},
+    {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"},
+    {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"},
+    {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"},
+    {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"},
+    {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"},
+    {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"},
+    {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"},
+    {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"},
+    {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"},
+    {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"},
+    {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"},
+    {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"},
+    {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"},
+    {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"},
+    {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"},
+    {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"},
+    {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"},
+    {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"},
+    {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"},
+    {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"},
+    {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"},
+    {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"},
+    {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"},
+    {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"},
+    {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"},
+    {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"},
+    {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"},
+    {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"},
+    {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"},
+    {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"},
+    {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"},
+    {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"},
+    {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"},
+    {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"},
+    {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"},
+    {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"},
+    {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"},
+    {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"},
+    {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"},
+    {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"},
+    {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"},
+    {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"},
+    {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"},
+    {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"},
+    {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"},
+    {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"},
+    {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"},
+    {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"},
+    {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"},
+    {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"},
+]
+
+[package.dependencies]
+idna = ">=2.0"
+multidict = ">=4.0"
+propcache = ">=0.2.0"
+
 [[package]]
 name = "zipp"
-version = "3.20.2"
+version = "3.21.0"
 description = "Backport of pathlib-compatible object wrapper for zip files"
 optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
 files = [
-    {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"},
-    {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"},
+    {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"},
+    {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"},
 ]
 
 [package.extras]
@@ -1265,4 +2978,4 @@ type = ["pytest-mypy"]
 [metadata]
 lock-version = "2.0"
 python-versions = "^3.10"
-content-hash = "1e3640ccbb3738523e0b76fa6b856eaad04b67049588e1b25e4a20244f9720f6"
+content-hash = "b36aa0cb3cded6d9ce39a17a9b37dbaef745eb78cbaefdf5334e4cd6f6cb689c"
diff --git a/pykwasm/pyproject.toml b/pykwasm/pyproject.toml
index ce4ba9276..ec8a77ed6 100644
--- a/pykwasm/pyproject.toml
+++ b/pykwasm/pyproject.toml
@@ -26,6 +26,7 @@ cytoolz = "^0.12.1"
 numpy = "^1.24.2"
 kframework = "7.1.149"
 py-wasm = { git = "https://github.com/runtimeverification/py-wasm.git", tag="0.2.1" }
+web3 = "7.6.0"
 
 [tool.poetry.group.dev.dependencies]
 autoflake = "*"
diff --git a/pykwasm/src/pykwasm/deploy_contract.py b/pykwasm/src/pykwasm/deploy_contract.py
new file mode 100644
index 000000000..5197b4827
--- /dev/null
+++ b/pykwasm/src/pykwasm/deploy_contract.py
@@ -0,0 +1,33 @@
+#!/usr/bin/python3
+from web3 import Web3
+from web3.middleware import SignAndSendRawMiddlewareBuilder
+
+rust_token_hex = open('/mnt/data/pi-squared/wasm-semantics/tests/ulm/erc20/erc20.bin').read().rstrip()
+
+w3 = Web3(Web3.HTTPProvider('http://localhost:8545'))
+sender = w3.eth.account.create()
+pk = w3.to_hex(sender.key)
+print(sender.address)
+
+tx_hash = w3.eth.send_transaction({'from': w3.eth.accounts[0],'to':sender.address,'value':1000000000000000000})
+print('transfer eth tx hash:', tx_hash)
+w3.eth.wait_for_transaction_receipt(tx_hash)
+
+w3.middleware_onion.inject(SignAndSendRawMiddlewareBuilder.build(sender), layer=0)
+
+deploy_token_tx = {
+  'from': sender.address,
+  'data': rust_token_hex,
+  'to': '',
+  'value': 0,
+  'gas': 11000000,
+  'maxFeePerGas': 2000000000,
+  'maxPriorityFeePerGas': 1000000000,
+}
+
+tx_hash = w3.eth.send_transaction(deploy_token_tx)
+print('deploy tx hash:', tx_hash)
+receipt = w3.eth.wait_for_transaction_receipt(tx_hash)
+print('deploy receipt:', receipt)
+token_address = receipt['contractAddress']
+
diff --git a/pykwasm/src/pykwasm/wasm2kore.py b/pykwasm/src/pykwasm/wasm2kore.py
new file mode 100644
index 000000000..2b8890f20
--- /dev/null
+++ b/pykwasm/src/pykwasm/wasm2kore.py
@@ -0,0 +1,50 @@
+import subprocess
+import sys
+from io import BytesIO
+from pathlib import Path
+
+from pyk.kast.inner import KSort
+from pyk.ktool.krun import KRun
+
+from . import wasm2kast
+
+sys.setrecursionlimit(10**6)
+
+def main() -> None:
+    # check arg count
+    if len(sys.argv) < 3:
+        print('usage: wasm2kore <wasm_file> <output_kore_file>')
+        sys.exit(1)
+    args = sys.argv[1:]
+
+    # parse fixed args
+    llvm_dir = Path(args[0])
+    wasm_file = Path(args[1])
+    kore_file = Path(args[2])
+    infile = open(wasm_file, 'rb')
+
+    # parse module as binary (with fallback to textual parser)
+    try:
+        module = wasm2kast.wasm2kast(infile)
+    except Exception:
+        proc_res = subprocess.run(['wat2wasm', wasm_file, '--output=/dev/stdout'], check=True, capture_output=True)
+        infile.close()
+        infile1 = BytesIO(proc_res.stdout)
+        module = wasm2kast.wasm2kast(infile1)
+        infile1.close()
+
+    # get runner
+    runner = KRun(llvm_dir)
+
+    top_sort = KSort('ModuleDecl')
+    config_kore = runner.kast_to_kore(module, top_sort)
+
+    print(f"Writing to {kore_file}")
+    kore_file.write_text(config_kore.text)
+    # # monkey patch kore
+    # patched_config_kore = PatternWriter(config_kore)
+    # with open(wasm_file.name + '.input.kore', e'w') as f:
+    #     patched_config_kore.write(f)
+
+if __name__ == '__main__':
+    main()
diff --git a/scripts/compile-contract b/scripts/compile-contract
index 5fc41e1ad..81a11feff 100755
--- a/scripts/compile-contract
+++ b/scripts/compile-contract
@@ -1,4 +1,4 @@
 #!/bin/bash
 SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
 
-LD_LIBRARY_PATH="$SCRIPT_DIR/../build/lib:$LD_LIBRARY_PATH" "$SCRIPT_DIR/../build/ulm-contract-compiler"
+LD_LIBRARY_PATH="$SCRIPT_DIR/../build/lib:$LD_LIBRARY_PATH" "$SCRIPT_DIR/../build/ulm-contract-compiler" $1
diff --git a/scripts/deploy_contract.sh b/scripts/deploy_contract.sh
index f83598fa2..e285b7b60 100755
--- a/scripts/deploy_contract.sh
+++ b/scripts/deploy_contract.sh
@@ -1,6 +1,8 @@
 #!/bin/bash
 # Example usage: ./deploy_contract.sh --contract-hex-path ./misc/registry.hex --private-key-path ./misc/private_key.txt --http-provider-url http://localhost:8545
 
+set -x
+
 # Function to display usage
 usage() {
     echo "Usage: $0 --contract-hex-path <path_to_contract_hex> --private-key-path <path_to_private_key> [--http-provider-url <http_provider_url>]"
diff --git a/tests/ulm/erc20/.gitignore b/tests/ulm/erc20/.gitignore
new file mode 100644
index 000000000..e2ebf2345
--- /dev/null
+++ b/tests/ulm/erc20/.gitignore
@@ -0,0 +1,3 @@
+*.bin
+*.kore
+*.wasm
\ No newline at end of file
diff --git a/tests/ulm/erc20/erc20.wast b/tests/ulm/erc20/erc20.wast
index e69de29bb..820a04dd0 100644
--- a/tests/ulm/erc20/erc20.wast
+++ b/tests/ulm/erc20/erc20.wast
@@ -0,0 +1,24883 @@
+(module $erc20.wasm
+  (type (;0;) (func (param i32 i32 i32)))
+  (type (;1;) (func (param i32)))
+  (type (;2;) (func (param i32 i32 i32 i32)))
+  (type (;3;) (func (param i32 i32 i32 i32 i32 i32)))
+  (type (;4;) (func (param i32 i32)))
+  (type (;5;) (func (param i32 i32 i32) (result i32)))
+  (type (;6;) (func (param i32 i32) (result i32)))
+  (type (;7;) (func (param i32 i32 i32 i32 i32)))
+  (type (;8;) (func (result i32)))
+  (type (;9;) (func (param i32 i32 i32 i32) (result i32)))
+  (type (;10;) (func (param i32) (result i32)))
+  (type (;11;) (func))
+  (type (;12;) (func (param i32 i32 i32 i32 i32 i32) (result i32)))
+  (type (;13;) (func (param i32 i32 i32 i32 i32) (result i32)))
+  (type (;14;) (func (param i64 i32 i32) (result i32)))
+  (import "env" "fail" (func $fail (type 4)))
+  (import "env" "Log3" (func $Log3 (type 7)))
+  (import "env" "Caller" (func $Caller (type 1)))
+  (import "env" "CallDataLength" (func $CallDataLength (type 8)))
+  (import "env" "CallData" (func $CallData (type 1)))
+  (import "env" "GetAccountStorage" (func $GetAccountStorage (type 4)))
+  (import "env" "SetAccountStorage" (func $SetAccountStorage (type 4)))
+  (import "env" "setOutput" (func $setOutput (type 4)))
+  (import "env" "keccakHash" (func $keccakHash (type 0)))
+  (func $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE (type 4) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        i32.load offset=8
+        i32.const 32
+        i32.ne
+        br_if 0 (;@2;)
+        local.get 1
+        i32.load offset=4
+        local.tee 2
+        i32.load8_u offset=31
+        local.set 3
+        local.get 2
+        i32.load8_u offset=30
+        local.set 4
+        local.get 2
+        i32.load8_u offset=29
+        local.set 5
+        local.get 2
+        i32.load8_u offset=28
+        local.set 6
+        local.get 2
+        i32.load8_u offset=27
+        local.set 7
+        local.get 2
+        i32.load8_u offset=26
+        local.set 8
+        local.get 2
+        i32.load8_u offset=25
+        local.set 9
+        local.get 2
+        i32.load8_u offset=24
+        local.set 10
+        local.get 2
+        i32.load8_u offset=23
+        local.set 11
+        local.get 2
+        i32.load8_u offset=22
+        local.set 12
+        local.get 2
+        i32.load8_u offset=21
+        local.set 13
+        local.get 2
+        i32.load8_u offset=20
+        local.set 14
+        local.get 2
+        i32.load8_u offset=19
+        local.set 15
+        local.get 2
+        i32.load8_u offset=18
+        local.set 16
+        local.get 2
+        i32.load8_u offset=17
+        local.set 17
+        local.get 2
+        i32.load8_u offset=16
+        local.set 18
+        local.get 2
+        i32.load8_u offset=15
+        local.set 19
+        local.get 2
+        i32.load8_u offset=14
+        local.set 20
+        local.get 2
+        i32.load8_u offset=13
+        local.set 21
+        local.get 2
+        i32.load8_u offset=12
+        local.set 22
+        local.get 2
+        i32.load8_u offset=11
+        local.set 23
+        local.get 2
+        i32.load8_u offset=10
+        local.set 24
+        local.get 2
+        i32.load8_u offset=9
+        local.set 25
+        local.get 2
+        i32.load8_u offset=8
+        local.set 26
+        local.get 2
+        i32.load8_u offset=7
+        local.set 27
+        local.get 2
+        i32.load8_u offset=6
+        local.set 28
+        local.get 2
+        i32.load8_u offset=5
+        local.set 29
+        local.get 2
+        i32.load8_u offset=4
+        local.set 30
+        local.get 2
+        i32.load8_u offset=3
+        local.set 31
+        local.get 2
+        i32.load8_u offset=2
+        local.set 32
+        local.get 2
+        i32.load8_u offset=1
+        local.set 33
+        local.get 2
+        i32.load8_u
+        local.set 34
+        local.get 1
+        i32.const 12
+        i32.add
+        local.get 2
+        i32.const 32
+        local.get 1
+        i32.load
+        i32.load offset=16
+        call_indirect (type 0)
+        local.get 23
+        local.get 24
+        local.get 25
+        local.get 26
+        local.get 27
+        local.get 28
+        local.get 29
+        local.get 30
+        local.get 31
+        local.get 32
+        local.get 33
+        local.get 34
+        i32.or
+        i32.or
+        i32.or
+        i32.or
+        i32.or
+        i32.or
+        i32.or
+        i32.or
+        i32.or
+        i32.or
+        i32.or
+        i32.eqz
+        br_if 1 (;@1;)
+        i32.const 1048866
+        i32.const 23
+        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+        unreachable
+      end
+      i32.const 1048957
+      i32.const 22
+      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+      unreachable
+    end
+    local.get 0
+    local.get 22
+    i32.store8 offset=19
+    local.get 0
+    local.get 21
+    i32.store8 offset=18
+    local.get 0
+    local.get 20
+    i32.store8 offset=17
+    local.get 0
+    local.get 19
+    i32.store8 offset=16
+    local.get 0
+    local.get 18
+    i32.store8 offset=15
+    local.get 0
+    local.get 17
+    i32.store8 offset=14
+    local.get 0
+    local.get 16
+    i32.store8 offset=13
+    local.get 0
+    local.get 15
+    i32.store8 offset=12
+    local.get 0
+    local.get 14
+    i32.store8 offset=11
+    local.get 0
+    local.get 5
+    i32.store8 offset=2
+    local.get 0
+    local.get 4
+    i32.store8 offset=1
+    local.get 0
+    local.get 3
+    i32.store8
+    local.get 0
+    local.get 12
+    i32.const 16
+    i32.shl
+    local.get 13
+    i32.const 24
+    i32.shl
+    i32.or
+    local.get 11
+    i32.const 8
+    i32.shl
+    i32.or
+    local.get 10
+    i32.or
+    i32.store offset=7 align=1
+    local.get 0
+    local.get 8
+    i32.const 16
+    i32.shl
+    local.get 9
+    i32.const 24
+    i32.shl
+    i32.or
+    local.get 6
+    i32.or
+    local.get 7
+    i32.const 8
+    i32.shl
+    i32.or
+    i32.store offset=3 align=1)
+  (func $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E (type 4) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load offset=8
+      i32.const 32
+      i32.ne
+      br_if 0 (;@1;)
+      local.get 1
+      i32.load offset=4
+      local.tee 2
+      i32.load8_u offset=31
+      local.set 3
+      local.get 2
+      i32.load8_u offset=30
+      local.set 4
+      local.get 2
+      i32.load8_u offset=29
+      local.set 5
+      local.get 2
+      i32.load8_u offset=28
+      local.set 6
+      local.get 2
+      i32.load8_u offset=27
+      local.set 7
+      local.get 2
+      i32.load8_u offset=26
+      local.set 8
+      local.get 2
+      i32.load8_u offset=25
+      local.set 9
+      local.get 2
+      i32.load8_u offset=24
+      local.set 10
+      local.get 2
+      i32.load8_u offset=23
+      local.set 11
+      local.get 2
+      i32.load8_u offset=22
+      local.set 12
+      local.get 2
+      i32.load8_u offset=21
+      local.set 13
+      local.get 2
+      i32.load8_u offset=20
+      local.set 14
+      local.get 2
+      i32.load8_u offset=19
+      local.set 15
+      local.get 2
+      i32.load8_u offset=18
+      local.set 16
+      local.get 2
+      i32.load8_u offset=17
+      local.set 17
+      local.get 2
+      i32.load8_u offset=16
+      local.set 18
+      local.get 2
+      i32.load8_u offset=15
+      local.set 19
+      local.get 2
+      i32.load8_u offset=14
+      local.set 20
+      local.get 2
+      i32.load8_u offset=13
+      local.set 21
+      local.get 2
+      i32.load8_u offset=12
+      local.set 22
+      local.get 2
+      i32.load8_u offset=11
+      local.set 23
+      local.get 2
+      i32.load8_u offset=10
+      local.set 24
+      local.get 2
+      i32.load8_u offset=9
+      local.set 25
+      local.get 2
+      i32.load8_u offset=8
+      local.set 26
+      local.get 2
+      i32.load8_u offset=7
+      local.set 27
+      local.get 2
+      i32.load8_u offset=6
+      local.set 28
+      local.get 2
+      i32.load8_u offset=5
+      local.set 29
+      local.get 2
+      i32.load8_u offset=4
+      local.set 30
+      local.get 2
+      i32.load8_u offset=3
+      local.set 31
+      local.get 2
+      i32.load8_u offset=2
+      local.set 32
+      local.get 2
+      i32.load8_u offset=1
+      local.set 33
+      local.get 0
+      local.get 2
+      i32.load8_u
+      i32.store8 offset=31
+      local.get 0
+      local.get 33
+      i32.store8 offset=30
+      local.get 0
+      local.get 32
+      i32.store8 offset=29
+      local.get 0
+      local.get 31
+      i32.store8 offset=28
+      local.get 0
+      local.get 30
+      i32.store8 offset=27
+      local.get 0
+      local.get 29
+      i32.store8 offset=26
+      local.get 0
+      local.get 28
+      i32.store8 offset=25
+      local.get 0
+      local.get 27
+      i32.store8 offset=24
+      local.get 0
+      local.get 26
+      i32.store8 offset=23
+      local.get 0
+      local.get 25
+      i32.store8 offset=22
+      local.get 0
+      local.get 24
+      i32.store8 offset=21
+      local.get 0
+      local.get 23
+      i32.store8 offset=20
+      local.get 0
+      local.get 22
+      i32.store8 offset=19
+      local.get 0
+      local.get 21
+      i32.store8 offset=18
+      local.get 0
+      local.get 20
+      i32.store8 offset=17
+      local.get 0
+      local.get 19
+      i32.store8 offset=16
+      local.get 0
+      local.get 18
+      i32.store8 offset=15
+      local.get 0
+      local.get 17
+      i32.store8 offset=14
+      local.get 0
+      local.get 16
+      i32.store8 offset=13
+      local.get 0
+      local.get 15
+      i32.store8 offset=12
+      local.get 0
+      local.get 14
+      i32.store8 offset=11
+      local.get 0
+      local.get 13
+      i32.store8 offset=10
+      local.get 0
+      local.get 12
+      i32.store8 offset=9
+      local.get 0
+      local.get 11
+      i32.store8 offset=8
+      local.get 0
+      local.get 10
+      i32.store8 offset=7
+      local.get 0
+      local.get 9
+      i32.store8 offset=6
+      local.get 0
+      local.get 8
+      i32.store8 offset=5
+      local.get 0
+      local.get 7
+      i32.store8 offset=4
+      local.get 0
+      local.get 6
+      i32.store8 offset=3
+      local.get 0
+      local.get 5
+      i32.store8 offset=2
+      local.get 0
+      local.get 4
+      i32.store8 offset=1
+      local.get 0
+      local.get 3
+      i32.store8
+      local.get 1
+      i32.const 12
+      i32.add
+      local.get 2
+      i32.const 32
+      local.get 1
+      i32.load
+      i32.load offset=16
+      call_indirect (type 0)
+      return
+    end
+    i32.const 1048957
+    i32.const 22
+    call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+    unreachable)
+  (func $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154 (type 0) (param i32 i32 i32)
+    (local i32 i32)
+    global.get $__stack_pointer
+    i32.const 64
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 1
+    local.get 1
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 4
+    i32.store
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 4
+        i32.eqz
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.load8_u offset=1051873
+        drop
+        i32.const 12
+        i32.const 1
+        call $__rust_alloc
+        local.tee 4
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 4
+        i32.const 8
+        i32.add
+        i32.const 0
+        i32.load offset=1048584 align=1
+        i32.store align=1
+        local.get 4
+        i32.const 0
+        i64.load offset=1048576 align=1
+        i64.store align=1
+        local.get 3
+        i32.const 12
+        i32.store offset=28
+        local.get 3
+        local.get 4
+        i32.store offset=24
+        local.get 3
+        i32.const 12
+        i32.store offset=20
+        local.get 3
+        i32.const 32
+        i32.add
+        i32.const 8
+        i32.add
+        i32.const 0
+        i32.store
+        local.get 3
+        i64.const 17179869184
+        i64.store offset=32 align=4
+        local.get 3
+        i32.const 44
+        i32.add
+        local.get 3
+        i32.const 20
+        i32.add
+        call $_ZN67_$LT$alloc..string..String$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h1e4106a43390e251E
+        local.get 3
+        i32.const 32
+        i32.add
+        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+        local.get 3
+        i32.load offset=36
+        local.tee 4
+        local.get 3
+        i64.load offset=44 align=4
+        i64.store align=4
+        local.get 4
+        i32.const 8
+        i32.add
+        local.get 3
+        i32.const 44
+        i32.add
+        i32.const 8
+        i32.add
+        i64.load align=4
+        i64.store align=4
+        local.get 4
+        i32.const 16
+        i32.add
+        local.get 3
+        i32.const 44
+        i32.add
+        i32.const 16
+        i32.add
+        i32.load
+        i32.store
+        local.get 3
+        i32.const 8
+        i32.add
+        i32.const 1
+        i32.store
+        local.get 3
+        local.get 2
+        i32.store offset=16
+        local.get 3
+        local.get 1
+        i32.store offset=12
+        local.get 3
+        local.get 3
+        i64.load offset=32 align=4
+        i64.store
+        local.get 0
+        local.get 3
+        call $_ZN5erc207storage42SingleChunkStorageBuilder$LT$ValueType$GT$5build17hf8294c03859672afE
+        block  ;; label = @3
+          local.get 3
+          i32.load offset=20
+          local.tee 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 3
+          i32.load offset=24
+          local.get 1
+          i32.const 1
+          call $__rust_dealloc
+        end
+        local.get 3
+        i32.const 64
+        i32.add
+        global.set $__stack_pointer
+        return
+      end
+      unreachable
+      unreachable
+    end
+    i32.const 1
+    i32.const 12
+    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+    unreachable)
+  (func $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154 (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    global.get $__stack_pointer
+    i32.const 80
+    i32.sub
+    local.tee 4
+    global.set $__stack_pointer
+    local.get 1
+    local.get 1
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 5
+    i32.store
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 5
+        i32.eqz
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.load8_u offset=1051873
+        drop
+        i32.const 8
+        i32.const 1
+        call $__rust_alloc
+        local.tee 5
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 5
+        i64.const 8315161612741534050
+        i64.store align=1
+        local.get 4
+        i32.const 8
+        i32.store offset=40
+        local.get 4
+        local.get 5
+        i32.store offset=36
+        local.get 4
+        i32.const 8
+        i32.store offset=32
+        local.get 4
+        i32.const 44
+        i32.add
+        i32.const 8
+        i32.add
+        i32.const 0
+        i32.store
+        local.get 4
+        i64.const 17179869184
+        i64.store offset=44 align=4
+        local.get 4
+        i32.const 56
+        i32.add
+        local.get 4
+        i32.const 32
+        i32.add
+        call $_ZN67_$LT$alloc..string..String$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h1e4106a43390e251E
+        local.get 4
+        i32.const 44
+        i32.add
+        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+        local.get 4
+        i32.load offset=48
+        local.tee 5
+        local.get 4
+        i64.load offset=56 align=4
+        i64.store align=4
+        local.get 5
+        i32.const 16
+        i32.add
+        local.get 4
+        i32.const 56
+        i32.add
+        i32.const 16
+        i32.add
+        i32.load
+        i32.store
+        local.get 5
+        i32.const 8
+        i32.add
+        local.get 4
+        i32.const 56
+        i32.add
+        i32.const 8
+        i32.add
+        i64.load align=4
+        i64.store align=4
+        local.get 4
+        i32.const 8
+        i32.add
+        i32.const 8
+        i32.add
+        i32.const 1
+        i32.store
+        local.get 4
+        local.get 1
+        i32.store offset=20
+        local.get 4
+        local.get 2
+        i32.store offset=24
+        local.get 4
+        local.get 4
+        i64.load offset=44 align=4
+        i64.store offset=8
+        block  ;; label = @3
+          local.get 4
+          i32.load offset=32
+          local.tee 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 4
+          i32.load offset=36
+          local.get 1
+          i32.const 1
+          call $__rust_dealloc
+        end
+        local.get 4
+        i32.const 56
+        i32.add
+        local.get 3
+        call $_ZN69_$LT$erc20..address..Address$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h8008c8716bd1bbd7E
+        block  ;; label = @3
+          local.get 4
+          i32.load offset=16
+          local.tee 1
+          local.get 4
+          i32.load offset=8
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 4
+          i32.const 8
+          i32.add
+          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+        end
+        local.get 4
+        i32.load offset=12
+        local.get 1
+        i32.const 20
+        i32.mul
+        i32.add
+        local.tee 5
+        local.get 4
+        i64.load offset=56 align=4
+        i64.store align=4
+        local.get 5
+        i32.const 16
+        i32.add
+        local.get 4
+        i32.const 56
+        i32.add
+        i32.const 16
+        i32.add
+        local.tee 3
+        i32.load
+        i32.store
+        local.get 5
+        i32.const 8
+        i32.add
+        local.get 4
+        i32.const 56
+        i32.add
+        i32.const 8
+        i32.add
+        local.tee 5
+        i64.load align=4
+        i64.store align=4
+        local.get 4
+        i32.const 8
+        i32.add
+        i32.const 8
+        i32.add
+        local.tee 2
+        local.get 1
+        i32.const 1
+        i32.add
+        i32.store
+        local.get 3
+        local.get 4
+        i32.const 8
+        i32.add
+        i32.const 16
+        i32.add
+        i32.load
+        i32.store
+        local.get 5
+        local.get 2
+        i64.load
+        i64.store
+        local.get 4
+        local.get 4
+        i64.load offset=8
+        i64.store offset=56
+        local.get 0
+        local.get 4
+        i32.const 56
+        i32.add
+        call $_ZN5erc207storage42SingleChunkStorageBuilder$LT$ValueType$GT$5build17hf8294c03859672afE
+        local.get 4
+        i32.const 80
+        i32.add
+        global.set $__stack_pointer
+        return
+      end
+      unreachable
+      unreachable
+    end
+    i32.const 1
+    i32.const 8
+    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+    unreachable)
+  (func $_ZN5erc205erc205Erc2012s_allowances17hef5933103b313fd4E.llvm.12425491971175694154 (type 7) (param i32 i32 i32 i32 i32)
+    (local i32 i32)
+    global.get $__stack_pointer
+    i32.const 80
+    i32.sub
+    local.tee 5
+    global.set $__stack_pointer
+    local.get 1
+    local.get 1
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 6
+    i32.store
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 6
+        i32.eqz
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.load8_u offset=1051873
+        drop
+        i32.const 10
+        i32.const 1
+        call $__rust_alloc
+        local.tee 6
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 6
+        i32.const 8
+        i32.add
+        i32.const 0
+        i32.load16_u offset=1048596 align=1
+        i32.store16 align=1
+        local.get 6
+        i32.const 0
+        i64.load offset=1048588 align=1
+        i64.store align=1
+        local.get 5
+        i32.const 10
+        i32.store offset=40
+        local.get 5
+        local.get 6
+        i32.store offset=36
+        local.get 5
+        i32.const 10
+        i32.store offset=32
+        local.get 5
+        i32.const 44
+        i32.add
+        i32.const 8
+        i32.add
+        i32.const 0
+        i32.store
+        local.get 5
+        i64.const 17179869184
+        i64.store offset=44 align=4
+        local.get 5
+        i32.const 56
+        i32.add
+        local.get 5
+        i32.const 32
+        i32.add
+        call $_ZN67_$LT$alloc..string..String$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h1e4106a43390e251E
+        local.get 5
+        i32.const 44
+        i32.add
+        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+        local.get 5
+        i32.load offset=48
+        local.tee 6
+        local.get 5
+        i64.load offset=56 align=4
+        i64.store align=4
+        local.get 6
+        i32.const 16
+        i32.add
+        local.get 5
+        i32.const 56
+        i32.add
+        i32.const 16
+        i32.add
+        i32.load
+        i32.store
+        local.get 6
+        i32.const 8
+        i32.add
+        local.get 5
+        i32.const 56
+        i32.add
+        i32.const 8
+        i32.add
+        i64.load align=4
+        i64.store align=4
+        local.get 5
+        i32.const 8
+        i32.add
+        i32.const 8
+        i32.add
+        i32.const 1
+        i32.store
+        local.get 5
+        local.get 1
+        i32.store offset=20
+        local.get 5
+        local.get 2
+        i32.store offset=24
+        local.get 5
+        local.get 5
+        i64.load offset=44 align=4
+        i64.store offset=8
+        block  ;; label = @3
+          local.get 5
+          i32.load offset=32
+          local.tee 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 5
+          i32.load offset=36
+          local.get 1
+          i32.const 1
+          call $__rust_dealloc
+        end
+        local.get 5
+        i32.const 56
+        i32.add
+        local.get 3
+        call $_ZN69_$LT$erc20..address..Address$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h8008c8716bd1bbd7E
+        block  ;; label = @3
+          local.get 5
+          i32.load offset=16
+          local.tee 1
+          local.get 5
+          i32.load offset=8
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 5
+          i32.const 8
+          i32.add
+          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+        end
+        local.get 5
+        i32.load offset=12
+        local.get 1
+        i32.const 20
+        i32.mul
+        i32.add
+        local.tee 6
+        local.get 5
+        i64.load offset=56 align=4
+        i64.store align=4
+        local.get 6
+        i32.const 16
+        i32.add
+        local.get 5
+        i32.const 56
+        i32.add
+        i32.const 16
+        i32.add
+        local.tee 3
+        i32.load
+        i32.store
+        local.get 6
+        i32.const 8
+        i32.add
+        local.get 5
+        i32.const 56
+        i32.add
+        i32.const 8
+        i32.add
+        local.tee 6
+        i64.load align=4
+        i64.store align=4
+        local.get 5
+        local.get 1
+        i32.const 1
+        i32.add
+        local.tee 2
+        i32.store offset=16
+        local.get 5
+        i32.const 56
+        i32.add
+        local.get 4
+        call $_ZN69_$LT$erc20..address..Address$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h8008c8716bd1bbd7E
+        block  ;; label = @3
+          local.get 2
+          local.get 5
+          i32.load offset=8
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 5
+          i32.const 8
+          i32.add
+          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+        end
+        local.get 5
+        i32.load offset=12
+        local.get 2
+        i32.const 20
+        i32.mul
+        i32.add
+        local.tee 2
+        local.get 5
+        i64.load offset=56 align=4
+        i64.store align=4
+        local.get 2
+        i32.const 16
+        i32.add
+        local.get 3
+        i32.load
+        i32.store
+        local.get 2
+        i32.const 8
+        i32.add
+        local.get 6
+        i64.load align=4
+        i64.store align=4
+        local.get 5
+        i32.const 8
+        i32.add
+        i32.const 8
+        i32.add
+        local.tee 2
+        local.get 1
+        i32.const 2
+        i32.add
+        i32.store
+        local.get 3
+        local.get 5
+        i32.const 8
+        i32.add
+        i32.const 16
+        i32.add
+        i32.load
+        i32.store
+        local.get 6
+        local.get 2
+        i64.load
+        i64.store
+        local.get 5
+        local.get 5
+        i64.load offset=8
+        i64.store offset=56
+        local.get 0
+        local.get 5
+        i32.const 56
+        i32.add
+        call $_ZN5erc207storage42SingleChunkStorageBuilder$LT$ValueType$GT$5build17hf8294c03859672afE
+        local.get 5
+        i32.const 80
+        i32.add
+        global.set $__stack_pointer
+        return
+      end
+      unreachable
+      unreachable
+    end
+    i32.const 1
+    i32.const 10
+    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+    unreachable)
+  (func $_ZN5erc205erc205Erc2012total_supply17hfe7aaedf3a1c67e9E (type 4) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 112
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    i32.const 8
+    i32.add
+    local.get 1
+    i32.load
+    local.get 1
+    i32.load offset=4
+    call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
+    block  ;; label = @1
+      local.get 2
+      i32.load offset=8
+      local.tee 3
+      local.get 2
+      i32.load offset=12
+      local.tee 4
+      i32.load offset=8
+      local.tee 5
+      i32.const 4
+      local.get 5
+      i32.const 4
+      i32.gt_u
+      select
+      local.tee 6
+      i32.const -1
+      i32.add
+      i32.const -8
+      i32.and
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 1
+      i32.load
+      local.tee 7
+      i32.const 2147483646
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 1
+      local.get 7
+      i32.const 1
+      i32.add
+      i32.store
+      local.get 1
+      local.get 5
+      i32.const -1
+      i32.add
+      local.tee 8
+      i32.const -4
+      i32.and
+      i32.add
+      i32.const 4
+      i32.add
+      local.tee 7
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 4
+      i32.const 28
+      i32.add
+      i32.load
+      local.set 9
+      local.get 2
+      i32.const 48
+      i32.add
+      i32.const 24
+      i32.add
+      local.get 2
+      i32.const 40
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 2
+      i32.const 48
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 2
+      i32.const 8
+      i32.add
+      i32.const 24
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 2
+      i32.const 48
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 2
+      i32.const 8
+      i32.add
+      i32.const 16
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 2
+      local.get 2
+      i64.load offset=16 align=4
+      i64.store offset=48
+      local.get 2
+      i32.const 80
+      i32.add
+      i32.const 24
+      i32.add
+      local.tee 10
+      i64.const 0
+      i64.store
+      local.get 2
+      i32.const 80
+      i32.add
+      i32.const 16
+      i32.add
+      local.tee 11
+      i64.const 0
+      i64.store
+      local.get 2
+      i32.const 80
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 12
+      i64.const 0
+      i64.store
+      local.get 2
+      i64.const 0
+      i64.store offset=80
+      local.get 7
+      local.get 2
+      i32.const 48
+      i32.add
+      local.get 2
+      i32.const 80
+      i32.add
+      local.get 9
+      call_indirect (type 0)
+      local.get 0
+      i32.const 24
+      i32.add
+      local.get 10
+      i64.load
+      i64.store align=1
+      local.get 0
+      i32.const 16
+      i32.add
+      local.get 11
+      i64.load
+      i64.store align=1
+      local.get 0
+      i32.const 8
+      i32.add
+      local.get 12
+      i64.load
+      i64.store align=1
+      local.get 0
+      local.get 2
+      i64.load offset=80
+      i64.store align=1
+      local.get 1
+      local.get 1
+      i32.load
+      i32.const -1
+      i32.add
+      i32.store
+      local.get 3
+      local.get 3
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 1
+      i32.store
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 7
+        local.get 4
+        i32.load
+        call_indirect (type 1)
+        local.get 3
+        i32.const 4
+        i32.add
+        local.tee 1
+        local.get 1
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 1
+        i32.store
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 6
+        local.get 6
+        local.get 4
+        i32.load offset=4
+        local.get 8
+        i32.add
+        i32.const 0
+        local.get 5
+        i32.sub
+        i32.and
+        i32.add
+        i32.const 3
+        i32.add
+        i32.const 0
+        local.get 6
+        i32.sub
+        local.tee 1
+        i32.and
+        i32.add
+        i32.const 7
+        i32.add
+        local.get 1
+        i32.and
+        local.tee 1
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 3
+        local.get 1
+        local.get 6
+        call $__rust_dealloc
+      end
+      local.get 2
+      i32.const 112
+      i32.add
+      global.set $__stack_pointer
+      return
+    end
+    i32.const 1050168
+    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+    unreachable)
+  (func $_ZN5erc205erc205Erc2010balance_of17h30b9a5b4c7c2e770E (type 0) (param i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 112
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 3
+    i32.const 8
+    i32.add
+    local.get 1
+    i32.load
+    local.get 1
+    i32.load offset=4
+    local.get 2
+    call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
+    block  ;; label = @1
+      local.get 3
+      i32.load offset=8
+      local.tee 2
+      local.get 3
+      i32.load offset=12
+      local.tee 4
+      i32.load offset=8
+      local.tee 5
+      i32.const 4
+      local.get 5
+      i32.const 4
+      i32.gt_u
+      select
+      local.tee 6
+      i32.const -1
+      i32.add
+      i32.const -8
+      i32.and
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 1
+      i32.load
+      local.tee 7
+      i32.const 2147483646
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 1
+      local.get 7
+      i32.const 1
+      i32.add
+      i32.store
+      local.get 1
+      local.get 5
+      i32.const -1
+      i32.add
+      local.tee 8
+      i32.const -4
+      i32.and
+      i32.add
+      i32.const 4
+      i32.add
+      local.tee 7
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 4
+      i32.const 28
+      i32.add
+      i32.load
+      local.set 9
+      local.get 3
+      i32.const 48
+      i32.add
+      i32.const 24
+      i32.add
+      local.get 3
+      i32.const 40
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 3
+      i32.const 48
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 3
+      i32.const 8
+      i32.add
+      i32.const 24
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 3
+      i32.const 48
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 3
+      i32.const 8
+      i32.add
+      i32.const 16
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 3
+      local.get 3
+      i64.load offset=16 align=4
+      i64.store offset=48
+      local.get 3
+      i32.const 80
+      i32.add
+      i32.const 24
+      i32.add
+      local.tee 10
+      i64.const 0
+      i64.store
+      local.get 3
+      i32.const 80
+      i32.add
+      i32.const 16
+      i32.add
+      local.tee 11
+      i64.const 0
+      i64.store
+      local.get 3
+      i32.const 80
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 12
+      i64.const 0
+      i64.store
+      local.get 3
+      i64.const 0
+      i64.store offset=80
+      local.get 7
+      local.get 3
+      i32.const 48
+      i32.add
+      local.get 3
+      i32.const 80
+      i32.add
+      local.get 9
+      call_indirect (type 0)
+      local.get 0
+      i32.const 24
+      i32.add
+      local.get 10
+      i64.load
+      i64.store align=1
+      local.get 0
+      i32.const 16
+      i32.add
+      local.get 11
+      i64.load
+      i64.store align=1
+      local.get 0
+      i32.const 8
+      i32.add
+      local.get 12
+      i64.load
+      i64.store align=1
+      local.get 0
+      local.get 3
+      i64.load offset=80
+      i64.store align=1
+      local.get 1
+      local.get 1
+      i32.load
+      i32.const -1
+      i32.add
+      i32.store
+      local.get 2
+      local.get 2
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 1
+      i32.store
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 7
+        local.get 4
+        i32.load
+        call_indirect (type 1)
+        local.get 2
+        i32.const 4
+        i32.add
+        local.tee 1
+        local.get 1
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 1
+        i32.store
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 6
+        local.get 6
+        local.get 4
+        i32.load offset=4
+        local.get 8
+        i32.add
+        i32.const 0
+        local.get 5
+        i32.sub
+        i32.and
+        i32.add
+        i32.const 3
+        i32.add
+        i32.const 0
+        local.get 6
+        i32.sub
+        local.tee 1
+        i32.and
+        i32.add
+        i32.const 7
+        i32.add
+        local.get 1
+        i32.and
+        local.tee 1
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 1
+        local.get 6
+        call $__rust_dealloc
+      end
+      local.get 3
+      i32.const 112
+      i32.add
+      global.set $__stack_pointer
+      return
+    end
+    i32.const 1050168
+    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+    unreachable)
+  (func $_ZN5erc205erc205Erc209_transfer17h2686357d78aa1243E.llvm.12425491971175694154 (type 7) (param i32 i32 i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i64 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 208
+    i32.sub
+    local.tee 5
+    global.set $__stack_pointer
+    local.get 5
+    i32.const 192
+    i32.add
+    local.tee 6
+    i32.const 0
+    i32.store
+    local.get 5
+    i32.const 184
+    i32.add
+    local.tee 7
+    i64.const 0
+    i64.store
+    local.get 5
+    i64.const 0
+    i64.store offset=176
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 2
+        local.get 5
+        i32.const 176
+        i32.add
+        call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
+        i32.const 255
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 6
+        i32.const 0
+        i32.store
+        local.get 7
+        i64.const 0
+        i64.store
+        local.get 5
+        i64.const 0
+        i64.store offset=176
+        block  ;; label = @3
+          local.get 3
+          local.get 5
+          i32.const 176
+          i32.add
+          call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
+          i32.const 255
+          i32.and
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 1
+          local.get 2
+          local.get 3
+          local.get 4
+          call $_ZN5erc205erc205Erc207_update17he4e974dae5007c46E.llvm.12425491971175694154
+          local.get 5
+          i32.const 0
+          i32.store offset=12
+          local.get 5
+          i64.const 17179869184
+          i64.store offset=4 align=4
+          local.get 5
+          i32.const 176
+          i32.add
+          local.get 4
+          call $_ZN69_$LT$erc20..balance..Balance$u20$as$u20$erc20..encoder..Encodable$GT$6encode17hede0d9f51024b58fE
+          local.get 5
+          i32.const 4
+          i32.add
+          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+          local.get 5
+          i32.load offset=8
+          local.tee 4
+          local.get 5
+          i64.load offset=176 align=4
+          i64.store align=4
+          local.get 4
+          i32.const 8
+          i32.add
+          local.get 5
+          i32.const 176
+          i32.add
+          i32.const 8
+          i32.add
+          i64.load align=4
+          i64.store align=4
+          local.get 4
+          i32.const 16
+          i32.add
+          local.get 5
+          i32.const 176
+          i32.add
+          i32.const 16
+          i32.add
+          i32.load
+          i32.store
+          local.get 5
+          i32.const 1
+          i32.store offset=12
+          local.get 0
+          local.get 1
+          i32.load offset=8
+          local.tee 4
+          i32.const 4
+          local.get 4
+          i32.const 4
+          i32.gt_u
+          select
+          i32.const -1
+          i32.add
+          i32.const -8
+          i32.and
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 6
+          i32.load
+          local.tee 0
+          i32.const 2147483646
+          i32.gt_u
+          br_if 2 (;@1;)
+          local.get 6
+          local.get 0
+          i32.const 1
+          i32.add
+          i32.store
+          local.get 6
+          local.get 4
+          i32.const -1
+          i32.add
+          i32.const -4
+          i32.and
+          i32.add
+          i32.const 4
+          i32.add
+          local.tee 8
+          i32.eqz
+          br_if 2 (;@1;)
+          i32.const 0
+          local.set 4
+          local.get 5
+          i32.const 161
+          i32.add
+          local.tee 9
+          i32.const 0
+          i32.store align=1
+          local.get 5
+          i32.const 144
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 7
+          local.get 2
+          i32.const 19
+          i32.add
+          i32.load8_u
+          i32.store8
+          local.get 5
+          i64.const 0
+          i64.store offset=153 align=1
+          local.get 5
+          i32.const 176
+          i32.add
+          i32.const 13
+          i32.add
+          local.tee 10
+          local.get 5
+          i32.const 144
+          i32.add
+          i32.const 13
+          i32.add
+          local.tee 11
+          i64.load align=1
+          i64.store align=1
+          local.get 5
+          i32.const 176
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 0
+          local.get 7
+          i64.load
+          i64.store
+          local.get 5
+          i32.const 16
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 12
+          local.get 0
+          i64.load
+          i64.store
+          local.get 5
+          i32.const 16
+          i32.add
+          i32.const 13
+          i32.add
+          local.tee 13
+          local.get 10
+          i64.load align=1
+          i64.store align=1
+          local.get 5
+          local.get 2
+          i64.load offset=11 align=1
+          i64.store offset=16
+          local.get 2
+          i64.load offset=3 align=1
+          local.set 14
+          local.get 9
+          i32.const 0
+          i32.store align=1
+          local.get 7
+          local.get 3
+          i32.const 19
+          i32.add
+          i32.load8_u
+          i32.store8
+          local.get 5
+          i64.const 0
+          i64.store offset=153 align=1
+          local.get 10
+          local.get 11
+          i64.load align=1
+          i64.store align=1
+          local.get 0
+          local.get 7
+          i64.load
+          i64.store
+          local.get 5
+          i32.const 40
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 11
+          local.get 0
+          i64.load
+          i64.store
+          local.get 5
+          i32.const 40
+          i32.add
+          i32.const 13
+          i32.add
+          local.tee 15
+          local.get 10
+          i64.load align=1
+          i64.store align=1
+          local.get 5
+          local.get 3
+          i64.load offset=11 align=1
+          i64.store offset=40
+          local.get 3
+          i64.load offset=3 align=1
+          local.set 16
+          local.get 5
+          i32.const 64
+          i32.add
+          local.get 5
+          i32.const 4
+          i32.add
+          call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+          local.get 5
+          i32.const 144
+          i32.add
+          i32.const 1048598
+          i32.const 30
+          call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+          local.get 1
+          i32.const 40
+          i32.add
+          i32.load
+          local.set 17
+          local.get 5
+          i32.load offset=152
+          local.set 7
+          local.get 5
+          i32.load offset=148
+          local.set 10
+          local.get 5
+          i32.const 176
+          i32.add
+          i32.const 24
+          i32.add
+          local.tee 9
+          i64.const 0
+          i64.store
+          local.get 5
+          i32.const 176
+          i32.add
+          i32.const 16
+          i32.add
+          local.tee 18
+          i64.const 0
+          i64.store
+          local.get 0
+          i64.const 0
+          i64.store
+          local.get 5
+          i64.const 0
+          i64.store offset=176
+          local.get 8
+          local.get 10
+          local.get 7
+          local.get 5
+          i32.const 176
+          i32.add
+          local.get 17
+          call_indirect (type 2)
+          local.get 5
+          i32.const 80
+          i32.add
+          i32.const 24
+          i32.add
+          local.tee 17
+          local.get 9
+          i64.load
+          i64.store
+          local.get 5
+          i32.const 80
+          i32.add
+          i32.const 16
+          i32.add
+          local.tee 19
+          local.get 18
+          i64.load
+          i64.store
+          local.get 5
+          i32.const 80
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 18
+          local.get 0
+          i64.load
+          i64.store
+          local.get 5
+          local.get 5
+          i64.load offset=176
+          i64.store offset=80
+          local.get 5
+          i32.const 144
+          i32.add
+          i32.const 12
+          i32.add
+          local.get 10
+          local.get 7
+          local.get 5
+          i32.load offset=144
+          i32.load offset=16
+          call_indirect (type 0)
+          local.get 5
+          i32.const 112
+          i32.add
+          i32.const 24
+          i32.add
+          local.get 17
+          i64.load
+          i64.store
+          local.get 5
+          i32.const 112
+          i32.add
+          i32.const 16
+          i32.add
+          local.get 19
+          i64.load
+          i64.store
+          local.get 5
+          i32.const 112
+          i32.add
+          i32.const 8
+          i32.add
+          local.get 18
+          i64.load
+          i64.store
+          local.get 5
+          local.get 5
+          i64.load offset=80
+          i64.store offset=112
+          local.get 5
+          i32.const 144
+          i32.add
+          i32.const 19
+          i32.add
+          local.get 12
+          i64.load
+          i64.store align=1
+          local.get 5
+          i32.const 144
+          i32.add
+          i32.const 24
+          i32.add
+          local.get 13
+          i64.load align=1
+          i64.store align=1
+          local.get 5
+          i32.const 144
+          i32.add
+          i32.const 2
+          i32.add
+          local.get 2
+          i32.const 2
+          i32.add
+          i32.load8_u
+          i32.store8
+          local.get 5
+          local.get 14
+          i64.store offset=147 align=1
+          local.get 5
+          local.get 5
+          i64.load offset=16
+          i64.store offset=155 align=1
+          local.get 5
+          local.get 2
+          i32.load16_u align=1
+          i32.store16 offset=144
+          local.get 5
+          i32.const 176
+          i32.add
+          i32.const 2
+          i32.add
+          local.get 3
+          i32.const 2
+          i32.add
+          i32.load8_u
+          i32.store8
+          local.get 5
+          local.get 16
+          i64.store offset=179 align=1
+          local.get 5
+          local.get 3
+          i32.load16_u align=1
+          i32.store16 offset=176
+          local.get 5
+          i32.const 176
+          i32.add
+          i32.const 19
+          i32.add
+          local.get 11
+          i64.load
+          i64.store align=1
+          local.get 9
+          local.get 15
+          i64.load align=1
+          i64.store align=1
+          local.get 5
+          local.get 5
+          i64.load offset=40
+          i64.store offset=187 align=1
+          local.get 8
+          local.get 5
+          i32.const 112
+          i32.add
+          local.get 5
+          i32.const 144
+          i32.add
+          local.get 5
+          i32.const 176
+          i32.add
+          local.get 5
+          i32.load offset=68
+          local.tee 2
+          local.get 5
+          i32.load offset=72
+          local.tee 3
+          local.get 1
+          i32.load offset=12
+          call_indirect (type 3)
+          local.get 5
+          i32.const 64
+          i32.add
+          i32.const 12
+          i32.add
+          local.get 2
+          local.get 3
+          local.get 5
+          i32.load offset=64
+          i32.load offset=16
+          call_indirect (type 0)
+          block  ;; label = @4
+            local.get 5
+            i32.load offset=12
+            local.tee 2
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 5
+            i32.load offset=8
+            local.set 0
+            local.get 2
+            i32.const 1
+            i32.and
+            local.set 1
+            block  ;; label = @5
+              local.get 2
+              i32.const 1
+              i32.eq
+              br_if 0 (;@5;)
+              local.get 2
+              i32.const -2
+              i32.and
+              local.set 3
+              i32.const 0
+              local.set 4
+              local.get 0
+              local.set 2
+              loop  ;; label = @6
+                local.get 2
+                i32.const 16
+                i32.add
+                local.get 2
+                i32.const 8
+                i32.add
+                i32.load
+                local.get 2
+                i32.const 12
+                i32.add
+                i32.load
+                local.get 2
+                i32.const 4
+                i32.add
+                i32.load
+                i32.load offset=16
+                call_indirect (type 0)
+                local.get 2
+                i32.const 36
+                i32.add
+                local.get 2
+                i32.const 28
+                i32.add
+                i32.load
+                local.get 2
+                i32.const 32
+                i32.add
+                i32.load
+                local.get 2
+                i32.const 24
+                i32.add
+                i32.load
+                i32.load offset=16
+                call_indirect (type 0)
+                local.get 2
+                i32.const 40
+                i32.add
+                local.set 2
+                local.get 3
+                local.get 4
+                i32.const 2
+                i32.add
+                local.tee 4
+                i32.ne
+                br_if 0 (;@6;)
+              end
+            end
+            local.get 1
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 0
+            local.get 4
+            i32.const 20
+            i32.mul
+            i32.add
+            local.tee 2
+            i32.const 16
+            i32.add
+            local.get 2
+            i32.load offset=8
+            local.get 2
+            i32.load offset=12
+            local.get 2
+            i32.load offset=4
+            i32.load offset=16
+            call_indirect (type 0)
+          end
+          block  ;; label = @4
+            local.get 5
+            i32.load offset=4
+            local.tee 2
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 5
+            i32.load offset=8
+            local.get 2
+            i32.const 20
+            i32.mul
+            i32.const 4
+            call $__rust_dealloc
+          end
+          local.get 6
+          local.get 6
+          i32.load
+          i32.const -1
+          i32.add
+          i32.store
+          local.get 5
+          i32.const 208
+          i32.add
+          global.set $__stack_pointer
+          return
+        end
+        i32.const 1048752
+        i32.const 16
+        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+        unreachable
+      end
+      i32.const 1048768
+      i32.const 14
+      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+      unreachable
+    end
+    i32.const 1048640
+    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+    unreachable)
+  (func $_ZN5erc205erc205Erc209allowance17h75c7fcb584df1022E (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 112
+    i32.sub
+    local.tee 4
+    global.set $__stack_pointer
+    local.get 4
+    i32.const 8
+    i32.add
+    local.get 1
+    i32.load
+    local.get 1
+    i32.load offset=4
+    local.get 2
+    local.get 3
+    call $_ZN5erc205erc205Erc2012s_allowances17hef5933103b313fd4E.llvm.12425491971175694154
+    block  ;; label = @1
+      local.get 4
+      i32.load offset=8
+      local.tee 3
+      local.get 4
+      i32.load offset=12
+      local.tee 5
+      i32.load offset=8
+      local.tee 2
+      i32.const 4
+      local.get 2
+      i32.const 4
+      i32.gt_u
+      select
+      local.tee 6
+      i32.const -1
+      i32.add
+      i32.const -8
+      i32.and
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 1
+      i32.load
+      local.tee 7
+      i32.const 2147483646
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 1
+      local.get 7
+      i32.const 1
+      i32.add
+      i32.store
+      local.get 1
+      local.get 2
+      i32.const -1
+      i32.add
+      local.tee 8
+      i32.const -4
+      i32.and
+      i32.add
+      i32.const 4
+      i32.add
+      local.tee 7
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 5
+      i32.const 28
+      i32.add
+      i32.load
+      local.set 9
+      local.get 4
+      i32.const 48
+      i32.add
+      i32.const 24
+      i32.add
+      local.get 4
+      i32.const 40
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 4
+      i32.const 48
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 4
+      i32.const 8
+      i32.add
+      i32.const 24
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 4
+      i32.const 48
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 4
+      i32.const 8
+      i32.add
+      i32.const 16
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 4
+      local.get 4
+      i64.load offset=16 align=4
+      i64.store offset=48
+      local.get 4
+      i32.const 80
+      i32.add
+      i32.const 24
+      i32.add
+      local.tee 10
+      i64.const 0
+      i64.store
+      local.get 4
+      i32.const 80
+      i32.add
+      i32.const 16
+      i32.add
+      local.tee 11
+      i64.const 0
+      i64.store
+      local.get 4
+      i32.const 80
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 12
+      i64.const 0
+      i64.store
+      local.get 4
+      i64.const 0
+      i64.store offset=80
+      local.get 7
+      local.get 4
+      i32.const 48
+      i32.add
+      local.get 4
+      i32.const 80
+      i32.add
+      local.get 9
+      call_indirect (type 0)
+      local.get 0
+      i32.const 24
+      i32.add
+      local.get 10
+      i64.load
+      i64.store align=1
+      local.get 0
+      i32.const 16
+      i32.add
+      local.get 11
+      i64.load
+      i64.store align=1
+      local.get 0
+      i32.const 8
+      i32.add
+      local.get 12
+      i64.load
+      i64.store align=1
+      local.get 0
+      local.get 4
+      i64.load offset=80
+      i64.store align=1
+      local.get 1
+      local.get 1
+      i32.load
+      i32.const -1
+      i32.add
+      i32.store
+      local.get 3
+      local.get 3
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 1
+      i32.store
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 7
+        local.get 5
+        i32.load
+        call_indirect (type 1)
+        local.get 3
+        i32.const 4
+        i32.add
+        local.tee 1
+        local.get 1
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 1
+        i32.store
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 6
+        local.get 6
+        local.get 5
+        i32.load offset=4
+        local.get 8
+        i32.add
+        i32.const 0
+        local.get 2
+        i32.sub
+        i32.and
+        i32.add
+        i32.const 3
+        i32.add
+        i32.const 0
+        local.get 6
+        i32.sub
+        local.tee 1
+        i32.and
+        i32.add
+        i32.const 7
+        i32.add
+        local.get 1
+        i32.and
+        local.tee 1
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 3
+        local.get 1
+        local.get 6
+        call $__rust_dealloc
+      end
+      local.get 4
+      i32.const 112
+      i32.add
+      global.set $__stack_pointer
+      return
+    end
+    i32.const 1050168
+    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+    unreachable)
+  (func $_ZN5erc205erc205Erc208_approve17h53bfc76d7c1fe7cfE.llvm.12425491971175694154 (type 3) (param i32 i32 i32 i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i64 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 224
+    i32.sub
+    local.tee 6
+    global.set $__stack_pointer
+    local.get 6
+    i32.const 8
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 7
+    i32.const 0
+    i32.store
+    local.get 6
+    i32.const 16
+    i32.add
+    local.tee 8
+    i64.const 0
+    i64.store
+    local.get 6
+    i64.const 0
+    i64.store offset=8
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 2
+            local.get 6
+            i32.const 8
+            i32.add
+            call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
+            i32.const 255
+            i32.and
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 7
+            i32.const 0
+            i32.store
+            local.get 8
+            i64.const 0
+            i64.store
+            local.get 6
+            i64.const 0
+            i64.store offset=8
+            local.get 3
+            local.get 6
+            i32.const 8
+            i32.add
+            call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
+            i32.const 255
+            i32.and
+            i32.eqz
+            br_if 2 (;@2;)
+            local.get 6
+            i32.const 8
+            i32.add
+            local.get 0
+            local.get 1
+            local.get 2
+            local.get 3
+            call $_ZN5erc205erc205Erc2012s_allowances17hef5933103b313fd4E.llvm.12425491971175694154
+            local.get 6
+            i32.load offset=8
+            local.tee 8
+            local.get 6
+            i32.load offset=12
+            local.tee 9
+            i32.load offset=8
+            local.tee 10
+            i32.const 4
+            local.get 10
+            i32.const 4
+            i32.gt_u
+            select
+            local.tee 11
+            i32.const -1
+            i32.add
+            i32.const -8
+            i32.and
+            i32.add
+            i32.const 8
+            i32.add
+            local.tee 7
+            i32.load
+            br_if 1 (;@3;)
+            local.get 7
+            i32.const -1
+            i32.store
+            local.get 7
+            local.get 10
+            i32.const -1
+            i32.add
+            local.tee 12
+            i32.const -4
+            i32.and
+            i32.add
+            i32.const 4
+            i32.add
+            local.tee 13
+            i32.eqz
+            br_if 1 (;@3;)
+            local.get 9
+            i32.const 32
+            i32.add
+            i32.load
+            local.set 14
+            local.get 6
+            i32.const 160
+            i32.add
+            i32.const 24
+            i32.add
+            local.get 6
+            i32.const 8
+            i32.add
+            i32.const 32
+            i32.add
+            i64.load align=4
+            i64.store
+            local.get 6
+            i32.const 160
+            i32.add
+            i32.const 16
+            i32.add
+            local.get 6
+            i32.const 8
+            i32.add
+            i32.const 24
+            i32.add
+            i64.load align=4
+            i64.store
+            local.get 6
+            i32.const 160
+            i32.add
+            i32.const 8
+            i32.add
+            local.get 6
+            i32.const 8
+            i32.add
+            i32.const 16
+            i32.add
+            i64.load align=4
+            i64.store
+            local.get 6
+            local.get 6
+            i64.load offset=16 align=4
+            i64.store offset=160
+            local.get 6
+            i32.const 192
+            i32.add
+            i32.const 24
+            i32.add
+            local.get 4
+            i32.const 24
+            i32.add
+            i64.load align=1
+            i64.store
+            local.get 6
+            i32.const 192
+            i32.add
+            i32.const 16
+            i32.add
+            local.get 4
+            i32.const 16
+            i32.add
+            i64.load align=1
+            i64.store
+            local.get 6
+            i32.const 192
+            i32.add
+            i32.const 8
+            i32.add
+            local.get 4
+            i32.const 8
+            i32.add
+            i64.load align=1
+            i64.store
+            local.get 6
+            local.get 4
+            i64.load align=1
+            i64.store offset=192
+            local.get 13
+            local.get 6
+            i32.const 160
+            i32.add
+            local.get 6
+            i32.const 192
+            i32.add
+            local.get 14
+            call_indirect (type 0)
+            local.get 7
+            local.get 7
+            i32.load
+            i32.const 1
+            i32.add
+            i32.store
+            local.get 8
+            local.get 8
+            i32.load
+            i32.const -1
+            i32.add
+            local.tee 7
+            i32.store
+            block  ;; label = @5
+              local.get 7
+              br_if 0 (;@5;)
+              local.get 13
+              local.get 9
+              i32.load
+              call_indirect (type 1)
+              local.get 8
+              i32.const 4
+              i32.add
+              local.tee 7
+              local.get 7
+              i32.load
+              i32.const -1
+              i32.add
+              local.tee 7
+              i32.store
+              local.get 7
+              br_if 0 (;@5;)
+              local.get 11
+              local.get 11
+              local.get 9
+              i32.load offset=4
+              local.get 12
+              i32.add
+              i32.const 0
+              local.get 10
+              i32.sub
+              i32.and
+              i32.add
+              i32.const 3
+              i32.add
+              i32.const 0
+              local.get 11
+              i32.sub
+              local.tee 7
+              i32.and
+              i32.add
+              i32.const 7
+              i32.add
+              local.get 7
+              i32.and
+              local.tee 7
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 8
+              local.get 7
+              local.get 11
+              call $__rust_dealloc
+            end
+            block  ;; label = @5
+              local.get 5
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 6
+              i32.const 0
+              i32.store offset=60
+              local.get 6
+              i64.const 17179869184
+              i64.store offset=52 align=4
+              local.get 6
+              i32.const 8
+              i32.add
+              local.get 4
+              call $_ZN69_$LT$erc20..balance..Balance$u20$as$u20$erc20..encoder..Encodable$GT$6encode17hede0d9f51024b58fE
+              local.get 6
+              i32.const 52
+              i32.add
+              call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+              local.get 6
+              i32.load offset=56
+              local.tee 4
+              local.get 6
+              i64.load offset=8 align=4
+              i64.store align=4
+              local.get 4
+              i32.const 8
+              i32.add
+              local.get 6
+              i32.const 8
+              i32.add
+              i32.const 8
+              i32.add
+              i64.load align=4
+              i64.store align=4
+              local.get 4
+              i32.const 16
+              i32.add
+              local.get 6
+              i32.const 8
+              i32.add
+              i32.const 16
+              i32.add
+              i32.load
+              i32.store
+              local.get 6
+              i32.const 1
+              i32.store offset=60
+              local.get 0
+              local.get 1
+              i32.load offset=8
+              local.tee 4
+              i32.const 4
+              local.get 4
+              i32.const 4
+              i32.gt_u
+              select
+              i32.const -1
+              i32.add
+              i32.const -8
+              i32.and
+              i32.add
+              i32.const 8
+              i32.add
+              local.tee 8
+              i32.load
+              local.tee 7
+              i32.const 2147483646
+              i32.gt_u
+              br_if 4 (;@1;)
+              local.get 8
+              local.get 7
+              i32.const 1
+              i32.add
+              i32.store
+              local.get 8
+              local.get 4
+              i32.const -1
+              i32.add
+              i32.const -4
+              i32.and
+              i32.add
+              i32.const 4
+              i32.add
+              local.tee 0
+              i32.eqz
+              br_if 4 (;@1;)
+              i32.const 0
+              local.set 4
+              local.get 6
+              i32.const 209
+              i32.add
+              local.tee 13
+              i32.const 0
+              i32.store align=1
+              local.get 6
+              i32.const 192
+              i32.add
+              i32.const 8
+              i32.add
+              local.tee 10
+              local.get 2
+              i32.const 19
+              i32.add
+              i32.load8_u
+              i32.store8
+              local.get 6
+              i64.const 0
+              i64.store offset=201 align=1
+              local.get 6
+              i32.const 8
+              i32.add
+              i32.const 13
+              i32.add
+              local.tee 9
+              local.get 6
+              i32.const 192
+              i32.add
+              i32.const 13
+              i32.add
+              local.tee 5
+              i64.load align=1
+              i64.store align=1
+              local.get 6
+              i32.const 8
+              i32.add
+              i32.const 8
+              i32.add
+              local.tee 7
+              local.get 10
+              i64.load
+              i64.store
+              local.get 6
+              i32.const 64
+              i32.add
+              i32.const 8
+              i32.add
+              local.tee 14
+              local.get 7
+              i64.load
+              i64.store
+              local.get 6
+              i32.const 64
+              i32.add
+              i32.const 13
+              i32.add
+              local.tee 11
+              local.get 9
+              i64.load align=1
+              i64.store align=1
+              local.get 6
+              local.get 2
+              i64.load offset=11 align=1
+              i64.store offset=64
+              local.get 2
+              i64.load offset=3 align=1
+              local.set 15
+              local.get 13
+              i32.const 0
+              i32.store align=1
+              local.get 10
+              local.get 3
+              i32.const 19
+              i32.add
+              i32.load8_u
+              i32.store8
+              local.get 6
+              i64.const 0
+              i64.store offset=201 align=1
+              local.get 9
+              local.get 5
+              i64.load align=1
+              i64.store align=1
+              local.get 7
+              local.get 10
+              i64.load
+              i64.store
+              local.get 6
+              i32.const 88
+              i32.add
+              i32.const 8
+              i32.add
+              local.tee 5
+              local.get 7
+              i64.load
+              i64.store
+              local.get 6
+              i32.const 88
+              i32.add
+              i32.const 13
+              i32.add
+              local.tee 12
+              local.get 9
+              i64.load align=1
+              i64.store align=1
+              local.get 6
+              local.get 3
+              i64.load offset=11 align=1
+              i64.store offset=88
+              local.get 3
+              i64.load offset=3 align=1
+              local.set 16
+              local.get 6
+              i32.const 112
+              i32.add
+              local.get 6
+              i32.const 52
+              i32.add
+              call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+              local.get 6
+              i32.const 192
+              i32.add
+              i32.const 1048656
+              i32.const 30
+              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+              local.get 1
+              i32.const 40
+              i32.add
+              i32.load
+              local.set 17
+              local.get 6
+              i32.load offset=200
+              local.set 10
+              local.get 6
+              i32.load offset=196
+              local.set 9
+              local.get 6
+              i32.const 8
+              i32.add
+              i32.const 24
+              i32.add
+              local.tee 13
+              i64.const 0
+              i64.store
+              local.get 6
+              i32.const 8
+              i32.add
+              i32.const 16
+              i32.add
+              local.tee 18
+              i64.const 0
+              i64.store
+              local.get 7
+              i64.const 0
+              i64.store
+              local.get 6
+              i64.const 0
+              i64.store offset=8
+              local.get 0
+              local.get 9
+              local.get 10
+              local.get 6
+              i32.const 8
+              i32.add
+              local.get 17
+              call_indirect (type 2)
+              local.get 6
+              i32.const 128
+              i32.add
+              i32.const 24
+              i32.add
+              local.tee 17
+              local.get 13
+              i64.load
+              i64.store
+              local.get 6
+              i32.const 128
+              i32.add
+              i32.const 16
+              i32.add
+              local.tee 19
+              local.get 18
+              i64.load
+              i64.store
+              local.get 6
+              i32.const 128
+              i32.add
+              i32.const 8
+              i32.add
+              local.tee 18
+              local.get 7
+              i64.load
+              i64.store
+              local.get 6
+              local.get 6
+              i64.load offset=8
+              i64.store offset=128
+              local.get 6
+              i32.const 192
+              i32.add
+              i32.const 12
+              i32.add
+              local.get 9
+              local.get 10
+              local.get 6
+              i32.load offset=192
+              i32.load offset=16
+              call_indirect (type 0)
+              local.get 6
+              i32.const 160
+              i32.add
+              i32.const 24
+              i32.add
+              local.get 17
+              i64.load
+              i64.store
+              local.get 6
+              i32.const 160
+              i32.add
+              i32.const 16
+              i32.add
+              local.get 19
+              i64.load
+              i64.store
+              local.get 6
+              i32.const 160
+              i32.add
+              i32.const 8
+              i32.add
+              local.get 18
+              i64.load
+              i64.store
+              local.get 6
+              local.get 6
+              i64.load offset=128
+              i64.store offset=160
+              local.get 6
+              i32.const 192
+              i32.add
+              i32.const 19
+              i32.add
+              local.get 14
+              i64.load
+              i64.store align=1
+              local.get 6
+              i32.const 192
+              i32.add
+              i32.const 24
+              i32.add
+              local.get 11
+              i64.load align=1
+              i64.store align=1
+              local.get 6
+              i32.const 192
+              i32.add
+              i32.const 2
+              i32.add
+              local.get 2
+              i32.const 2
+              i32.add
+              i32.load8_u
+              i32.store8
+              local.get 6
+              local.get 15
+              i64.store offset=195 align=1
+              local.get 6
+              local.get 6
+              i64.load offset=64
+              i64.store offset=203 align=1
+              local.get 6
+              local.get 2
+              i32.load16_u align=1
+              i32.store16 offset=192
+              local.get 6
+              i32.const 8
+              i32.add
+              i32.const 2
+              i32.add
+              local.get 3
+              i32.const 2
+              i32.add
+              i32.load8_u
+              i32.store8
+              local.get 6
+              local.get 16
+              i64.store offset=11 align=1
+              local.get 6
+              local.get 3
+              i32.load16_u align=1
+              i32.store16 offset=8
+              local.get 6
+              i32.const 8
+              i32.add
+              i32.const 19
+              i32.add
+              local.get 5
+              i64.load
+              i64.store align=1
+              local.get 13
+              local.get 12
+              i64.load align=1
+              i64.store align=1
+              local.get 6
+              local.get 6
+              i64.load offset=88
+              i64.store offset=19 align=1
+              local.get 0
+              local.get 6
+              i32.const 160
+              i32.add
+              local.get 6
+              i32.const 192
+              i32.add
+              local.get 6
+              i32.const 8
+              i32.add
+              local.get 6
+              i32.load offset=116
+              local.tee 2
+              local.get 6
+              i32.load offset=120
+              local.tee 3
+              local.get 1
+              i32.load offset=12
+              call_indirect (type 3)
+              local.get 6
+              i32.const 112
+              i32.add
+              i32.const 12
+              i32.add
+              local.get 2
+              local.get 3
+              local.get 6
+              i32.load offset=112
+              i32.load offset=16
+              call_indirect (type 0)
+              block  ;; label = @6
+                local.get 6
+                i32.load offset=60
+                local.tee 2
+                i32.eqz
+                br_if 0 (;@6;)
+                local.get 6
+                i32.load offset=56
+                local.set 7
+                local.get 2
+                i32.const 1
+                i32.and
+                local.set 1
+                block  ;; label = @7
+                  local.get 2
+                  i32.const 1
+                  i32.eq
+                  br_if 0 (;@7;)
+                  local.get 2
+                  i32.const -2
+                  i32.and
+                  local.set 3
+                  i32.const 0
+                  local.set 4
+                  local.get 7
+                  local.set 2
+                  loop  ;; label = @8
+                    local.get 2
+                    i32.const 16
+                    i32.add
+                    local.get 2
+                    i32.const 8
+                    i32.add
+                    i32.load
+                    local.get 2
+                    i32.const 12
+                    i32.add
+                    i32.load
+                    local.get 2
+                    i32.const 4
+                    i32.add
+                    i32.load
+                    i32.load offset=16
+                    call_indirect (type 0)
+                    local.get 2
+                    i32.const 36
+                    i32.add
+                    local.get 2
+                    i32.const 28
+                    i32.add
+                    i32.load
+                    local.get 2
+                    i32.const 32
+                    i32.add
+                    i32.load
+                    local.get 2
+                    i32.const 24
+                    i32.add
+                    i32.load
+                    i32.load offset=16
+                    call_indirect (type 0)
+                    local.get 2
+                    i32.const 40
+                    i32.add
+                    local.set 2
+                    local.get 3
+                    local.get 4
+                    i32.const 2
+                    i32.add
+                    local.tee 4
+                    i32.ne
+                    br_if 0 (;@8;)
+                  end
+                end
+                local.get 1
+                i32.eqz
+                br_if 0 (;@6;)
+                local.get 7
+                local.get 4
+                i32.const 20
+                i32.mul
+                i32.add
+                local.tee 2
+                i32.const 16
+                i32.add
+                local.get 2
+                i32.load offset=8
+                local.get 2
+                i32.load offset=12
+                local.get 2
+                i32.load offset=4
+                i32.load offset=16
+                call_indirect (type 0)
+              end
+              block  ;; label = @6
+                local.get 6
+                i32.load offset=52
+                local.tee 2
+                i32.eqz
+                br_if 0 (;@6;)
+                local.get 6
+                i32.load offset=56
+                local.get 2
+                i32.const 20
+                i32.mul
+                i32.const 4
+                call $__rust_dealloc
+              end
+              local.get 8
+              local.get 8
+              i32.load
+              i32.const -1
+              i32.add
+              i32.store
+            end
+            local.get 6
+            i32.const 224
+            i32.add
+            global.set $__stack_pointer
+            return
+          end
+          i32.const 1048829
+          i32.const 16
+          call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+          unreachable
+        end
+        i32.const 1050152
+        call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+        unreachable
+      end
+      i32.const 1048814
+      i32.const 15
+      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+      unreachable
+    end
+    i32.const 1048688
+    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+    unreachable)
+  (func $_ZN5erc205erc205Erc2013transfer_from17hafd5c8a9b635bbc8E (type 9) (param i32 i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 160
+    i32.sub
+    local.tee 4
+    global.set $__stack_pointer
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 0
+              i32.load
+              local.tee 5
+              local.get 0
+              i32.load offset=4
+              local.tee 6
+              i32.load offset=8
+              local.tee 7
+              i32.const 4
+              local.get 7
+              i32.const 4
+              i32.gt_u
+              select
+              i32.const -1
+              i32.add
+              i32.const -8
+              i32.and
+              i32.add
+              i32.const 8
+              i32.add
+              local.tee 8
+              i32.load
+              local.tee 9
+              i32.const 2147483646
+              i32.gt_u
+              br_if 0 (;@5;)
+              local.get 8
+              local.get 9
+              i32.const 1
+              i32.add
+              i32.store
+              local.get 8
+              local.get 7
+              i32.const -1
+              i32.add
+              i32.const -4
+              i32.and
+              i32.add
+              i32.const 4
+              i32.add
+              local.tee 10
+              i32.eqz
+              br_if 0 (;@5;)
+              i32.const 0
+              local.set 7
+              local.get 4
+              i32.const 128
+              i32.add
+              i32.const 16
+              i32.add
+              local.tee 9
+              i32.const 0
+              i32.store
+              local.get 4
+              i32.const 128
+              i32.add
+              i32.const 8
+              i32.add
+              local.tee 11
+              i64.const 0
+              i64.store
+              local.get 4
+              i64.const 0
+              i64.store offset=128
+              local.get 10
+              local.get 4
+              i32.const 128
+              i32.add
+              local.get 6
+              i32.load offset=16
+              call_indirect (type 4)
+              local.get 4
+              i32.const 8
+              i32.add
+              i32.const 16
+              i32.add
+              local.get 9
+              i32.load
+              i32.store
+              local.get 4
+              i32.const 8
+              i32.add
+              i32.const 8
+              i32.add
+              local.get 11
+              i64.load
+              i64.store
+              local.get 4
+              local.get 4
+              i64.load offset=128
+              i64.store offset=8
+              local.get 8
+              local.get 8
+              i32.load
+              i32.const -1
+              i32.add
+              i32.store
+              local.get 4
+              i32.const 32
+              i32.add
+              local.get 0
+              local.get 1
+              local.get 4
+              i32.const 8
+              i32.add
+              call $_ZN5erc205erc205Erc209allowance17h75c7fcb584df1022E
+              local.get 3
+              local.get 4
+              i32.const 32
+              i32.add
+              call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h99129b72a1377b56E
+              i32.const -1
+              i32.add
+              i32.const 255
+              i32.and
+              i32.const 1
+              i32.le_u
+              br_if 1 (;@4;)
+              local.get 4
+              i32.const 96
+              i32.add
+              i32.const 24
+              i32.add
+              local.get 4
+              i32.const 32
+              i32.add
+              i32.const 24
+              i32.add
+              i64.load align=1
+              i64.store
+              local.get 4
+              i32.const 96
+              i32.add
+              i32.const 16
+              i32.add
+              local.get 4
+              i32.const 32
+              i32.add
+              i32.const 16
+              i32.add
+              i64.load align=1
+              i64.store
+              local.get 4
+              i32.const 96
+              i32.add
+              i32.const 8
+              i32.add
+              local.get 4
+              i32.const 32
+              i32.add
+              i32.const 8
+              i32.add
+              i64.load align=1
+              i64.store
+              local.get 4
+              local.get 4
+              i64.load offset=32 align=1
+              i64.store offset=96
+              local.get 4
+              i32.const 128
+              i32.add
+              i32.const 24
+              i32.add
+              i64.const 0
+              i64.store
+              local.get 9
+              i64.const 0
+              i64.store
+              local.get 11
+              i64.const 0
+              i64.store
+              local.get 4
+              i64.const 0
+              i64.store offset=128
+              i32.const 0
+              local.set 8
+              loop  ;; label = @6
+                local.get 4
+                i32.const 96
+                i32.add
+                local.get 8
+                i32.add
+                i32.load8_u
+                local.tee 0
+                i32.const 256
+                i32.or
+                local.get 0
+                local.get 7
+                local.get 3
+                local.get 8
+                i32.add
+                i32.load8_u
+                i32.add
+                local.tee 9
+                i32.const 65535
+                i32.and
+                local.tee 11
+                local.get 0
+                i32.gt_u
+                local.tee 7
+                select
+                local.tee 10
+                local.get 11
+                i32.lt_u
+                br_if 4 (;@2;)
+                local.get 10
+                local.get 9
+                i32.sub
+                local.tee 11
+                i32.const 65535
+                i32.and
+                i32.const 256
+                i32.ge_u
+                br_if 5 (;@1;)
+                local.get 4
+                i32.const 128
+                i32.add
+                local.get 8
+                i32.add
+                local.get 11
+                i32.store8
+                local.get 8
+                i32.const 1
+                i32.add
+                local.tee 11
+                local.set 8
+                local.get 11
+                i32.const 32
+                i32.ne
+                br_if 0 (;@6;)
+              end
+              local.get 9
+              i32.const 65535
+              i32.and
+              local.get 0
+              i32.gt_u
+              br_if 2 (;@3;)
+              local.get 4
+              i32.const 64
+              i32.add
+              i32.const 24
+              i32.add
+              local.get 4
+              i32.const 128
+              i32.add
+              i32.const 24
+              i32.add
+              i64.load
+              i64.store
+              local.get 4
+              i32.const 64
+              i32.add
+              i32.const 16
+              i32.add
+              local.get 4
+              i32.const 128
+              i32.add
+              i32.const 16
+              i32.add
+              i64.load
+              i64.store
+              local.get 4
+              i32.const 64
+              i32.add
+              i32.const 8
+              i32.add
+              local.get 4
+              i32.const 128
+              i32.add
+              i32.const 8
+              i32.add
+              i64.load
+              i64.store
+              local.get 4
+              local.get 4
+              i64.load offset=128
+              i64.store offset=64
+              local.get 5
+              local.get 6
+              local.get 1
+              local.get 4
+              i32.const 8
+              i32.add
+              local.get 4
+              i32.const 64
+              i32.add
+              i32.const 0
+              call $_ZN5erc205erc205Erc208_approve17h53bfc76d7c1fe7cfE.llvm.12425491971175694154
+              local.get 5
+              local.get 6
+              local.get 1
+              local.get 2
+              local.get 3
+              call $_ZN5erc205erc205Erc209_transfer17h2686357d78aa1243E.llvm.12425491971175694154
+              local.get 4
+              i32.const 160
+              i32.add
+              global.set $__stack_pointer
+              i32.const 1
+              return
+            end
+            i32.const 1048736
+            call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+            unreachable
+          end
+          i32.const 1048845
+          i32.const 21
+          call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+          unreachable
+        end
+        i32.const 1048906
+        i32.const 20
+        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+        unreachable
+      end
+      i32.const 1048926
+      i32.const 31
+      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+      unreachable
+    end
+    i32.const 1048926
+    i32.const 31
+    call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+    unreachable)
+  (func $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h99129b72a1377b56E (type 6) (param i32 i32) (result i32)
+    (local i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load8_u offset=31
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=31
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        i32.const 1
+        local.set 4
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=30
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=30
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=29
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=29
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=28
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=28
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=27
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=27
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=26
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=26
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=25
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=25
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=24
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=24
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=23
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=23
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=22
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=22
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=21
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=21
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=20
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=20
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=19
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=19
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=18
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=18
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=17
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=17
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=16
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=16
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=15
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=15
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=14
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=14
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=13
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=13
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=12
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=12
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=11
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=11
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=10
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=10
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=9
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=9
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=8
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=8
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=7
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=7
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=6
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=6
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=5
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=5
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=4
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=4
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=3
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=3
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=2
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=2
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=1
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=1
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        i32.const 255
+        local.set 4
+        local.get 0
+        i32.load8_u
+        local.tee 0
+        local.get 1
+        i32.load8_u
+        local.tee 1
+        i32.lt_u
+        br_if 1 (;@1;)
+        local.get 0
+        local.get 1
+        i32.gt_u
+        return
+      end
+      i32.const 255
+      local.set 4
+    end
+    local.get 4)
+  (func $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE (type 6) (param i32 i32) (result i32)
+    (local i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load8_u offset=19
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=19
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        i32.const 1
+        local.set 4
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=18
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=18
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=17
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=17
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=16
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=16
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=15
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=15
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=14
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=14
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=13
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=13
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=12
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=12
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=11
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=11
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=10
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=10
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=9
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=9
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=8
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=8
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=7
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=7
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=6
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=6
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=5
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=5
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=4
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=4
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=3
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=3
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=2
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=2
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load8_u offset=1
+        local.tee 2
+        local.get 1
+        i32.load8_u offset=1
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 1 (;@1;)
+        i32.const 255
+        local.set 4
+        local.get 0
+        i32.load8_u
+        local.tee 0
+        local.get 1
+        i32.load8_u
+        local.tee 1
+        i32.lt_u
+        br_if 1 (;@1;)
+        local.get 0
+        local.get 1
+        i32.gt_u
+        return
+      end
+      i32.const 255
+      local.set 4
+    end
+    local.get 4)
+  (func $_ZN5erc205erc205Erc207_update17he4e974dae5007c46E.llvm.12425491971175694154 (type 7) (param i32 i32 i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 240
+    i32.sub
+    local.tee 5
+    global.set $__stack_pointer
+    local.get 5
+    i32.const 152
+    i32.add
+    i32.const 0
+    i32.store
+    local.get 5
+    i32.const 136
+    i32.add
+    i32.const 8
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 5
+    i64.const 0
+    i64.store offset=136
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        block  ;; label = @11
+                          block  ;; label = @12
+                            block  ;; label = @13
+                              block  ;; label = @14
+                                block  ;; label = @15
+                                  block  ;; label = @16
+                                    block  ;; label = @17
+                                      block  ;; label = @18
+                                        block  ;; label = @19
+                                          block  ;; label = @20
+                                            local.get 2
+                                            local.get 5
+                                            i32.const 136
+                                            i32.add
+                                            call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
+                                            i32.const 255
+                                            i32.and
+                                            i32.eqz
+                                            br_if 0 (;@20;)
+                                            local.get 5
+                                            i32.const 136
+                                            i32.add
+                                            local.get 0
+                                            local.get 1
+                                            local.get 2
+                                            call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
+                                            local.get 5
+                                            i32.load offset=136
+                                            local.tee 6
+                                            local.get 5
+                                            i32.load offset=140
+                                            local.tee 7
+                                            i32.load offset=8
+                                            local.tee 8
+                                            i32.const 4
+                                            local.get 8
+                                            i32.const 4
+                                            i32.gt_u
+                                            select
+                                            local.tee 9
+                                            i32.const -1
+                                            i32.add
+                                            i32.const -8
+                                            i32.and
+                                            i32.add
+                                            i32.const 8
+                                            i32.add
+                                            local.tee 10
+                                            i32.load
+                                            local.tee 11
+                                            i32.const 2147483646
+                                            i32.gt_u
+                                            br_if 3 (;@17;)
+                                            local.get 10
+                                            local.get 11
+                                            i32.const 1
+                                            i32.add
+                                            i32.store
+                                            local.get 10
+                                            local.get 8
+                                            i32.const -1
+                                            i32.add
+                                            local.tee 12
+                                            i32.const -4
+                                            i32.and
+                                            i32.add
+                                            i32.const 4
+                                            i32.add
+                                            local.tee 11
+                                            i32.eqz
+                                            br_if 3 (;@17;)
+                                            local.get 7
+                                            i32.const 28
+                                            i32.add
+                                            i32.load
+                                            local.set 13
+                                            local.get 5
+                                            i32.const 208
+                                            i32.add
+                                            i32.const 24
+                                            i32.add
+                                            local.get 5
+                                            i32.const 168
+                                            i32.add
+                                            i64.load align=4
+                                            i64.store
+                                            local.get 5
+                                            i32.const 208
+                                            i32.add
+                                            i32.const 16
+                                            i32.add
+                                            local.get 5
+                                            i32.const 136
+                                            i32.add
+                                            i32.const 24
+                                            i32.add
+                                            i64.load align=4
+                                            i64.store
+                                            local.get 5
+                                            i32.const 208
+                                            i32.add
+                                            i32.const 8
+                                            i32.add
+                                            local.get 5
+                                            i32.const 136
+                                            i32.add
+                                            i32.const 16
+                                            i32.add
+                                            i64.load align=4
+                                            i64.store
+                                            local.get 5
+                                            local.get 5
+                                            i64.load offset=144 align=4
+                                            i64.store offset=208
+                                            local.get 5
+                                            i32.const 32
+                                            i32.add
+                                            i32.const 24
+                                            i32.add
+                                            local.tee 14
+                                            i64.const 0
+                                            i64.store
+                                            local.get 5
+                                            i32.const 32
+                                            i32.add
+                                            i32.const 16
+                                            i32.add
+                                            local.tee 15
+                                            i64.const 0
+                                            i64.store
+                                            local.get 5
+                                            i32.const 32
+                                            i32.add
+                                            i32.const 8
+                                            i32.add
+                                            local.tee 16
+                                            i64.const 0
+                                            i64.store
+                                            local.get 5
+                                            i64.const 0
+                                            i64.store offset=32
+                                            local.get 11
+                                            local.get 5
+                                            i32.const 208
+                                            i32.add
+                                            local.get 5
+                                            i32.const 32
+                                            i32.add
+                                            local.get 13
+                                            call_indirect (type 0)
+                                            local.get 5
+                                            i32.const 24
+                                            i32.add
+                                            local.get 14
+                                            i64.load
+                                            i64.store
+                                            local.get 5
+                                            i32.const 16
+                                            i32.add
+                                            local.get 15
+                                            i64.load
+                                            i64.store
+                                            local.get 5
+                                            i32.const 8
+                                            i32.add
+                                            local.get 16
+                                            i64.load
+                                            i64.store
+                                            local.get 5
+                                            local.get 5
+                                            i64.load offset=32
+                                            i64.store
+                                            local.get 10
+                                            local.get 10
+                                            i32.load
+                                            i32.const -1
+                                            i32.add
+                                            i32.store
+                                            local.get 6
+                                            local.get 6
+                                            i32.load
+                                            i32.const -1
+                                            i32.add
+                                            local.tee 10
+                                            i32.store
+                                            block  ;; label = @21
+                                              local.get 10
+                                              br_if 0 (;@21;)
+                                              local.get 11
+                                              local.get 7
+                                              i32.load
+                                              call_indirect (type 1)
+                                              local.get 6
+                                              i32.const 4
+                                              i32.add
+                                              local.tee 10
+                                              local.get 10
+                                              i32.load
+                                              i32.const -1
+                                              i32.add
+                                              local.tee 10
+                                              i32.store
+                                              local.get 10
+                                              br_if 0 (;@21;)
+                                              local.get 9
+                                              local.get 9
+                                              local.get 7
+                                              i32.load offset=4
+                                              local.get 12
+                                              i32.add
+                                              i32.const 0
+                                              local.get 8
+                                              i32.sub
+                                              i32.and
+                                              i32.add
+                                              i32.const 3
+                                              i32.add
+                                              i32.const 0
+                                              local.get 9
+                                              i32.sub
+                                              local.tee 10
+                                              i32.and
+                                              i32.add
+                                              i32.const 7
+                                              i32.add
+                                              local.get 10
+                                              i32.and
+                                              local.tee 10
+                                              i32.eqz
+                                              br_if 0 (;@21;)
+                                              local.get 6
+                                              local.get 10
+                                              local.get 9
+                                              call $__rust_dealloc
+                                            end
+                                            local.get 4
+                                            local.get 5
+                                            call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h99129b72a1377b56E
+                                            i32.const -1
+                                            i32.add
+                                            i32.const 255
+                                            i32.and
+                                            i32.const 2
+                                            i32.ge_u
+                                            br_if 1 (;@19;)
+                                            i32.const 1048782
+                                            i32.const 20
+                                            call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+                                            unreachable
+                                          end
+                                          local.get 5
+                                          i32.const 32
+                                          i32.add
+                                          local.get 0
+                                          local.get 1
+                                          call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
+                                          local.get 5
+                                          i32.const 136
+                                          i32.add
+                                          local.get 0
+                                          local.get 1
+                                          call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
+                                          local.get 5
+                                          i32.load offset=136
+                                          local.tee 11
+                                          local.get 5
+                                          i32.load offset=140
+                                          local.tee 14
+                                          i32.load offset=8
+                                          local.tee 13
+                                          i32.const 4
+                                          local.get 13
+                                          i32.const 4
+                                          i32.gt_u
+                                          select
+                                          local.tee 9
+                                          i32.const -1
+                                          i32.add
+                                          i32.const -8
+                                          i32.and
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.tee 2
+                                          i32.load
+                                          local.tee 10
+                                          i32.const 2147483646
+                                          i32.gt_u
+                                          br_if 3 (;@16;)
+                                          local.get 2
+                                          local.get 10
+                                          i32.const 1
+                                          i32.add
+                                          i32.store
+                                          local.get 2
+                                          local.get 13
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 17
+                                          i32.const -4
+                                          i32.and
+                                          i32.add
+                                          i32.const 4
+                                          i32.add
+                                          local.tee 15
+                                          i32.eqz
+                                          br_if 3 (;@16;)
+                                          local.get 14
+                                          i32.const 28
+                                          i32.add
+                                          i32.load
+                                          local.set 7
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 5
+                                          i32.const 136
+                                          i32.add
+                                          i32.const 32
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 5
+                                          i32.const 136
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 5
+                                          i32.const 136
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=144 align=4
+                                          i64.store offset=176
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.tee 10
+                                          i64.const 0
+                                          i64.store
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.tee 6
+                                          i64.const 0
+                                          i64.store
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.tee 8
+                                          i64.const 0
+                                          i64.store
+                                          local.get 5
+                                          i64.const 0
+                                          i64.store offset=208
+                                          local.get 15
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          local.get 7
+                                          call_indirect (type 0)
+                                          local.get 5
+                                          i32.const 104
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 10
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 104
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 6
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 104
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 8
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=208
+                                          i64.store offset=104
+                                          local.get 2
+                                          local.get 2
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          i32.store
+                                          local.get 10
+                                          i64.const 0
+                                          i64.store
+                                          local.get 6
+                                          i64.const 0
+                                          i64.store
+                                          local.get 8
+                                          i64.const 0
+                                          i64.store
+                                          local.get 5
+                                          i64.const 0
+                                          i64.store offset=208
+                                          i32.const 0
+                                          local.set 10
+                                          i32.const -32
+                                          local.set 2
+                                          loop  ;; label = @20
+                                            local.get 5
+                                            i32.const 208
+                                            i32.add
+                                            local.get 2
+                                            i32.add
+                                            local.tee 6
+                                            i32.const 32
+                                            i32.add
+                                            local.get 10
+                                            local.get 5
+                                            i32.const 104
+                                            i32.add
+                                            local.get 2
+                                            i32.add
+                                            local.tee 8
+                                            i32.const 32
+                                            i32.add
+                                            i32.load8_u
+                                            i32.add
+                                            local.get 4
+                                            local.get 2
+                                            i32.add
+                                            local.tee 10
+                                            i32.const 32
+                                            i32.add
+                                            i32.load8_u
+                                            i32.add
+                                            local.tee 7
+                                            i32.store8
+                                            local.get 6
+                                            i32.const 33
+                                            i32.add
+                                            local.get 7
+                                            i32.const 65280
+                                            i32.and
+                                            i32.const 8
+                                            i32.shr_u
+                                            local.get 8
+                                            i32.const 33
+                                            i32.add
+                                            i32.load8_u
+                                            i32.add
+                                            local.get 10
+                                            i32.const 33
+                                            i32.add
+                                            i32.load8_u
+                                            i32.add
+                                            local.tee 6
+                                            i32.store8
+                                            local.get 6
+                                            i32.const 8
+                                            i32.shr_u
+                                            local.set 10
+                                            local.get 2
+                                            i32.const 2
+                                            i32.add
+                                            local.tee 2
+                                            br_if 0 (;@20;)
+                                          end
+                                          local.get 6
+                                          i32.const 256
+                                          i32.ge_u
+                                          br_if 4 (;@15;)
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=208
+                                          i64.store offset=72
+                                          local.get 5
+                                          i32.load offset=32
+                                          local.tee 10
+                                          local.get 5
+                                          i32.load offset=36
+                                          local.tee 8
+                                          i32.load offset=8
+                                          local.tee 6
+                                          i32.const 4
+                                          local.get 6
+                                          i32.const 4
+                                          i32.gt_u
+                                          select
+                                          local.tee 12
+                                          i32.const -1
+                                          i32.add
+                                          i32.const -8
+                                          i32.and
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.tee 2
+                                          i32.load
+                                          br_if 5 (;@14;)
+                                          local.get 2
+                                          i32.const -1
+                                          i32.store
+                                          local.get 2
+                                          local.get 6
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 18
+                                          i32.const -4
+                                          i32.and
+                                          i32.add
+                                          i32.const 4
+                                          i32.add
+                                          local.tee 7
+                                          i32.eqz
+                                          br_if 5 (;@14;)
+                                          local.get 8
+                                          i32.const 32
+                                          i32.add
+                                          i32.load
+                                          local.set 16
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 5
+                                          i32.const 32
+                                          i32.add
+                                          i32.const 32
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 5
+                                          i32.const 32
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 5
+                                          i32.const 32
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=40 align=4
+                                          i64.store offset=176
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=72
+                                          i64.store offset=208
+                                          local.get 7
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          local.get 16
+                                          call_indirect (type 0)
+                                          local.get 2
+                                          local.get 2
+                                          i32.load
+                                          i32.const 1
+                                          i32.add
+                                          i32.store
+                                          local.get 11
+                                          local.get 11
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 2
+                                          i32.store
+                                          block  ;; label = @20
+                                            local.get 2
+                                            br_if 0 (;@20;)
+                                            local.get 15
+                                            local.get 14
+                                            i32.load
+                                            call_indirect (type 1)
+                                            local.get 11
+                                            i32.const 4
+                                            i32.add
+                                            local.tee 2
+                                            local.get 2
+                                            i32.load
+                                            i32.const -1
+                                            i32.add
+                                            local.tee 2
+                                            i32.store
+                                            local.get 2
+                                            br_if 0 (;@20;)
+                                            local.get 9
+                                            local.get 9
+                                            local.get 14
+                                            i32.load offset=4
+                                            local.get 17
+                                            i32.add
+                                            i32.const 0
+                                            local.get 13
+                                            i32.sub
+                                            i32.and
+                                            i32.add
+                                            i32.const 3
+                                            i32.add
+                                            i32.const 0
+                                            local.get 9
+                                            i32.sub
+                                            local.tee 2
+                                            i32.and
+                                            i32.add
+                                            i32.const 7
+                                            i32.add
+                                            local.get 2
+                                            i32.and
+                                            local.tee 2
+                                            i32.eqz
+                                            br_if 0 (;@20;)
+                                            local.get 11
+                                            local.get 2
+                                            local.get 9
+                                            call $__rust_dealloc
+                                          end
+                                          local.get 10
+                                          local.get 10
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 2
+                                          i32.store
+                                          local.get 2
+                                          br_if 1 (;@18;)
+                                          local.get 7
+                                          local.get 8
+                                          i32.load
+                                          call_indirect (type 1)
+                                          local.get 10
+                                          i32.const 4
+                                          i32.add
+                                          local.tee 2
+                                          local.get 2
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 2
+                                          i32.store
+                                          local.get 2
+                                          br_if 1 (;@18;)
+                                          local.get 12
+                                          local.get 12
+                                          local.get 8
+                                          i32.load offset=4
+                                          local.get 18
+                                          i32.add
+                                          i32.const 0
+                                          local.get 6
+                                          i32.sub
+                                          i32.and
+                                          i32.add
+                                          i32.const 3
+                                          i32.add
+                                          i32.const 0
+                                          local.get 12
+                                          i32.sub
+                                          local.tee 2
+                                          i32.and
+                                          i32.add
+                                          i32.const 7
+                                          i32.add
+                                          local.get 2
+                                          i32.and
+                                          local.tee 2
+                                          i32.eqz
+                                          br_if 1 (;@18;)
+                                          local.get 10
+                                          local.get 2
+                                          local.get 12
+                                          call $__rust_dealloc
+                                          br 1 (;@18;)
+                                        end
+                                        local.get 5
+                                        i32.const 32
+                                        i32.add
+                                        local.get 0
+                                        local.get 1
+                                        local.get 2
+                                        call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
+                                        local.get 5
+                                        i32.const 136
+                                        i32.add
+                                        local.get 0
+                                        local.get 1
+                                        local.get 2
+                                        call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
+                                        local.get 5
+                                        i32.load offset=136
+                                        local.tee 13
+                                        local.get 5
+                                        i32.load offset=140
+                                        local.tee 15
+                                        i32.load offset=8
+                                        local.tee 14
+                                        i32.const 4
+                                        local.get 14
+                                        i32.const 4
+                                        i32.gt_u
+                                        select
+                                        local.tee 9
+                                        i32.const -1
+                                        i32.add
+                                        i32.const -8
+                                        i32.and
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.tee 2
+                                        i32.load
+                                        local.tee 10
+                                        i32.const 2147483646
+                                        i32.gt_u
+                                        br_if 5 (;@13;)
+                                        local.get 2
+                                        local.get 10
+                                        i32.const 1
+                                        i32.add
+                                        i32.store
+                                        local.get 2
+                                        local.get 14
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 17
+                                        i32.const -4
+                                        i32.and
+                                        i32.add
+                                        i32.const 4
+                                        i32.add
+                                        local.tee 16
+                                        i32.eqz
+                                        br_if 5 (;@13;)
+                                        local.get 15
+                                        i32.const 28
+                                        i32.add
+                                        i32.load
+                                        local.set 7
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 5
+                                        i32.const 136
+                                        i32.add
+                                        i32.const 32
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 5
+                                        i32.const 136
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 5
+                                        i32.const 136
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=144 align=4
+                                        i64.store offset=176
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.tee 10
+                                        i64.const 0
+                                        i64.store
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.tee 6
+                                        i64.const 0
+                                        i64.store
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.tee 8
+                                        i64.const 0
+                                        i64.store
+                                        local.get 5
+                                        i64.const 0
+                                        i64.store offset=208
+                                        local.get 16
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        local.get 7
+                                        call_indirect (type 0)
+                                        local.get 5
+                                        i32.const 104
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 10
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 104
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 6
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 104
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 8
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=208
+                                        i64.store offset=104
+                                        local.get 2
+                                        local.get 2
+                                        i32.load
+                                        i32.const -1
+                                        i32.add
+                                        i32.store
+                                        local.get 10
+                                        i64.const 0
+                                        i64.store
+                                        local.get 6
+                                        i64.const 0
+                                        i64.store
+                                        local.get 8
+                                        i64.const 0
+                                        i64.store
+                                        local.get 5
+                                        i64.const 0
+                                        i64.store offset=208
+                                        i32.const 0
+                                        local.set 6
+                                        i32.const 0
+                                        local.set 2
+                                        loop  ;; label = @19
+                                          local.get 5
+                                          i32.const 104
+                                          i32.add
+                                          local.get 2
+                                          i32.add
+                                          i32.load8_u
+                                          local.tee 10
+                                          i32.const 256
+                                          i32.or
+                                          local.get 10
+                                          local.get 6
+                                          local.get 4
+                                          local.get 2
+                                          i32.add
+                                          i32.load8_u
+                                          i32.add
+                                          local.tee 8
+                                          i32.const 65535
+                                          i32.and
+                                          local.tee 7
+                                          local.get 10
+                                          i32.gt_u
+                                          local.tee 6
+                                          select
+                                          local.tee 11
+                                          local.get 7
+                                          i32.lt_u
+                                          br_if 8 (;@11;)
+                                          local.get 11
+                                          local.get 8
+                                          i32.sub
+                                          local.tee 7
+                                          i32.const 65535
+                                          i32.and
+                                          i32.const 256
+                                          i32.ge_u
+                                          br_if 9 (;@10;)
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          local.get 2
+                                          i32.add
+                                          local.get 7
+                                          i32.store8
+                                          local.get 2
+                                          i32.const 1
+                                          i32.add
+                                          local.tee 7
+                                          local.set 2
+                                          local.get 7
+                                          i32.const 32
+                                          i32.ne
+                                          br_if 0 (;@19;)
+                                        end
+                                        local.get 8
+                                        i32.const 65535
+                                        i32.and
+                                        local.get 10
+                                        i32.gt_u
+                                        br_if 6 (;@12;)
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=208
+                                        i64.store offset=72
+                                        local.get 5
+                                        i32.load offset=32
+                                        local.tee 10
+                                        local.get 5
+                                        i32.load offset=36
+                                        local.tee 8
+                                        i32.load offset=8
+                                        local.tee 6
+                                        i32.const 4
+                                        local.get 6
+                                        i32.const 4
+                                        i32.gt_u
+                                        select
+                                        local.tee 12
+                                        i32.const -1
+                                        i32.add
+                                        i32.const -8
+                                        i32.and
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.tee 2
+                                        i32.load
+                                        br_if 9 (;@9;)
+                                        local.get 2
+                                        i32.const -1
+                                        i32.store
+                                        local.get 2
+                                        local.get 6
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 18
+                                        i32.const -4
+                                        i32.and
+                                        i32.add
+                                        i32.const 4
+                                        i32.add
+                                        local.tee 7
+                                        i32.eqz
+                                        br_if 9 (;@9;)
+                                        local.get 8
+                                        i32.const 32
+                                        i32.add
+                                        i32.load
+                                        local.set 11
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 5
+                                        i32.const 32
+                                        i32.add
+                                        i32.const 32
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 5
+                                        i32.const 32
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 5
+                                        i32.const 32
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=40 align=4
+                                        i64.store offset=176
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=72
+                                        i64.store offset=208
+                                        local.get 7
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        local.get 11
+                                        call_indirect (type 0)
+                                        local.get 2
+                                        local.get 2
+                                        i32.load
+                                        i32.const 1
+                                        i32.add
+                                        i32.store
+                                        local.get 13
+                                        local.get 13
+                                        i32.load
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 2
+                                        i32.store
+                                        block  ;; label = @19
+                                          local.get 2
+                                          br_if 0 (;@19;)
+                                          local.get 16
+                                          local.get 15
+                                          i32.load
+                                          call_indirect (type 1)
+                                          local.get 13
+                                          i32.const 4
+                                          i32.add
+                                          local.tee 2
+                                          local.get 2
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 2
+                                          i32.store
+                                          local.get 2
+                                          br_if 0 (;@19;)
+                                          local.get 9
+                                          local.get 9
+                                          local.get 15
+                                          i32.load offset=4
+                                          local.get 17
+                                          i32.add
+                                          i32.const 0
+                                          local.get 14
+                                          i32.sub
+                                          i32.and
+                                          i32.add
+                                          i32.const 3
+                                          i32.add
+                                          i32.const 0
+                                          local.get 9
+                                          i32.sub
+                                          local.tee 2
+                                          i32.and
+                                          i32.add
+                                          i32.const 7
+                                          i32.add
+                                          local.get 2
+                                          i32.and
+                                          local.tee 2
+                                          i32.eqz
+                                          br_if 0 (;@19;)
+                                          local.get 13
+                                          local.get 2
+                                          local.get 9
+                                          call $__rust_dealloc
+                                        end
+                                        local.get 10
+                                        local.get 10
+                                        i32.load
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 2
+                                        i32.store
+                                        local.get 2
+                                        br_if 0 (;@18;)
+                                        local.get 7
+                                        local.get 8
+                                        i32.load
+                                        call_indirect (type 1)
+                                        local.get 10
+                                        i32.const 4
+                                        i32.add
+                                        local.tee 2
+                                        local.get 2
+                                        i32.load
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 2
+                                        i32.store
+                                        local.get 2
+                                        br_if 0 (;@18;)
+                                        local.get 12
+                                        local.get 12
+                                        local.get 8
+                                        i32.load offset=4
+                                        local.get 18
+                                        i32.add
+                                        i32.const 0
+                                        local.get 6
+                                        i32.sub
+                                        i32.and
+                                        i32.add
+                                        i32.const 3
+                                        i32.add
+                                        i32.const 0
+                                        local.get 12
+                                        i32.sub
+                                        local.tee 2
+                                        i32.and
+                                        i32.add
+                                        i32.const 7
+                                        i32.add
+                                        local.get 2
+                                        i32.and
+                                        local.tee 2
+                                        i32.eqz
+                                        br_if 0 (;@18;)
+                                        local.get 10
+                                        local.get 2
+                                        local.get 12
+                                        call $__rust_dealloc
+                                      end
+                                      local.get 5
+                                      i32.const 152
+                                      i32.add
+                                      i32.const 0
+                                      i32.store
+                                      local.get 5
+                                      i32.const 136
+                                      i32.add
+                                      i32.const 8
+                                      i32.add
+                                      i64.const 0
+                                      i64.store
+                                      local.get 5
+                                      i64.const 0
+                                      i64.store offset=136
+                                      block  ;; label = @18
+                                        block  ;; label = @19
+                                          local.get 3
+                                          local.get 5
+                                          i32.const 136
+                                          i32.add
+                                          call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
+                                          i32.const 255
+                                          i32.and
+                                          i32.eqz
+                                          br_if 0 (;@19;)
+                                          local.get 5
+                                          i32.const 32
+                                          i32.add
+                                          local.get 0
+                                          local.get 1
+                                          local.get 3
+                                          call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
+                                          local.get 5
+                                          i32.const 136
+                                          i32.add
+                                          local.get 0
+                                          local.get 1
+                                          local.get 3
+                                          call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
+                                          local.get 5
+                                          i32.load offset=136
+                                          local.tee 11
+                                          local.get 5
+                                          i32.load offset=140
+                                          local.tee 0
+                                          i32.load offset=8
+                                          local.tee 1
+                                          i32.const 4
+                                          local.get 1
+                                          i32.const 4
+                                          i32.gt_u
+                                          select
+                                          local.tee 13
+                                          i32.const -1
+                                          i32.add
+                                          i32.const -8
+                                          i32.and
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.tee 2
+                                          i32.load
+                                          local.tee 10
+                                          i32.const 2147483646
+                                          i32.gt_u
+                                          br_if 11 (;@8;)
+                                          local.get 2
+                                          local.get 10
+                                          i32.const 1
+                                          i32.add
+                                          i32.store
+                                          local.get 2
+                                          local.get 1
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 15
+                                          i32.const -4
+                                          i32.and
+                                          i32.add
+                                          i32.const 4
+                                          i32.add
+                                          local.tee 3
+                                          i32.eqz
+                                          br_if 11 (;@8;)
+                                          local.get 0
+                                          i32.const 28
+                                          i32.add
+                                          i32.load
+                                          local.set 7
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 5
+                                          i32.const 136
+                                          i32.add
+                                          i32.const 32
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 5
+                                          i32.const 136
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 5
+                                          i32.const 136
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=144 align=4
+                                          i64.store offset=176
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.tee 10
+                                          i64.const 0
+                                          i64.store
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.tee 6
+                                          i64.const 0
+                                          i64.store
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.tee 8
+                                          i64.const 0
+                                          i64.store
+                                          local.get 5
+                                          i64.const 0
+                                          i64.store offset=208
+                                          local.get 3
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          local.get 7
+                                          call_indirect (type 0)
+                                          local.get 5
+                                          i32.const 104
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 10
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 104
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 6
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 104
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 8
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=208
+                                          i64.store offset=104
+                                          local.get 2
+                                          local.get 2
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          i32.store
+                                          local.get 10
+                                          i64.const 0
+                                          i64.store
+                                          local.get 6
+                                          i64.const 0
+                                          i64.store
+                                          local.get 8
+                                          i64.const 0
+                                          i64.store
+                                          local.get 5
+                                          i64.const 0
+                                          i64.store offset=208
+                                          i32.const 0
+                                          local.set 10
+                                          i32.const -32
+                                          local.set 2
+                                          loop  ;; label = @20
+                                            local.get 5
+                                            i32.const 208
+                                            i32.add
+                                            local.get 2
+                                            i32.add
+                                            local.tee 6
+                                            i32.const 32
+                                            i32.add
+                                            local.get 10
+                                            local.get 5
+                                            i32.const 104
+                                            i32.add
+                                            local.get 2
+                                            i32.add
+                                            local.tee 8
+                                            i32.const 32
+                                            i32.add
+                                            i32.load8_u
+                                            i32.add
+                                            local.get 4
+                                            local.get 2
+                                            i32.add
+                                            local.tee 10
+                                            i32.const 32
+                                            i32.add
+                                            i32.load8_u
+                                            i32.add
+                                            local.tee 7
+                                            i32.store8
+                                            local.get 6
+                                            i32.const 33
+                                            i32.add
+                                            local.get 7
+                                            i32.const 65280
+                                            i32.and
+                                            i32.const 8
+                                            i32.shr_u
+                                            local.get 8
+                                            i32.const 33
+                                            i32.add
+                                            i32.load8_u
+                                            i32.add
+                                            local.get 10
+                                            i32.const 33
+                                            i32.add
+                                            i32.load8_u
+                                            i32.add
+                                            local.tee 6
+                                            i32.store8
+                                            local.get 6
+                                            i32.const 8
+                                            i32.shr_u
+                                            local.set 10
+                                            local.get 2
+                                            i32.const 2
+                                            i32.add
+                                            local.tee 2
+                                            br_if 0 (;@20;)
+                                          end
+                                          local.get 6
+                                          i32.const 256
+                                          i32.ge_u
+                                          br_if 12 (;@7;)
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=208
+                                          i64.store offset=72
+                                          local.get 5
+                                          i32.load offset=32
+                                          local.tee 4
+                                          local.get 5
+                                          i32.load offset=36
+                                          local.tee 6
+                                          i32.load offset=8
+                                          local.tee 10
+                                          i32.const 4
+                                          local.get 10
+                                          i32.const 4
+                                          i32.gt_u
+                                          select
+                                          local.tee 14
+                                          i32.const -1
+                                          i32.add
+                                          i32.const -8
+                                          i32.and
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.tee 2
+                                          i32.load
+                                          br_if 13 (;@6;)
+                                          local.get 2
+                                          i32.const -1
+                                          i32.store
+                                          local.get 2
+                                          local.get 10
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 16
+                                          i32.const -4
+                                          i32.and
+                                          i32.add
+                                          i32.const 4
+                                          i32.add
+                                          local.tee 8
+                                          i32.eqz
+                                          br_if 13 (;@6;)
+                                          local.get 6
+                                          i32.const 32
+                                          i32.add
+                                          i32.load
+                                          local.set 7
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 5
+                                          i32.const 32
+                                          i32.add
+                                          i32.const 32
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 5
+                                          i32.const 32
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 5
+                                          i32.const 32
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          i64.load align=4
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=40 align=4
+                                          i64.store offset=176
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 24
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 16
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          local.get 5
+                                          i32.const 72
+                                          i32.add
+                                          i32.const 8
+                                          i32.add
+                                          i64.load
+                                          i64.store
+                                          local.get 5
+                                          local.get 5
+                                          i64.load offset=72
+                                          i64.store offset=208
+                                          local.get 8
+                                          local.get 5
+                                          i32.const 176
+                                          i32.add
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          local.get 7
+                                          call_indirect (type 0)
+                                          local.get 2
+                                          local.get 2
+                                          i32.load
+                                          i32.const 1
+                                          i32.add
+                                          i32.store
+                                          local.get 11
+                                          local.get 11
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 2
+                                          i32.store
+                                          block  ;; label = @20
+                                            local.get 2
+                                            br_if 0 (;@20;)
+                                            local.get 3
+                                            local.get 0
+                                            i32.load
+                                            call_indirect (type 1)
+                                            local.get 11
+                                            i32.const 4
+                                            i32.add
+                                            local.tee 2
+                                            local.get 2
+                                            i32.load
+                                            i32.const -1
+                                            i32.add
+                                            local.tee 2
+                                            i32.store
+                                            local.get 2
+                                            br_if 0 (;@20;)
+                                            local.get 13
+                                            local.get 13
+                                            local.get 0
+                                            i32.load offset=4
+                                            local.get 15
+                                            i32.add
+                                            i32.const 0
+                                            local.get 1
+                                            i32.sub
+                                            i32.and
+                                            i32.add
+                                            i32.const 3
+                                            i32.add
+                                            i32.const 0
+                                            local.get 13
+                                            i32.sub
+                                            local.tee 2
+                                            i32.and
+                                            i32.add
+                                            i32.const 7
+                                            i32.add
+                                            local.get 2
+                                            i32.and
+                                            local.tee 2
+                                            i32.eqz
+                                            br_if 0 (;@20;)
+                                            local.get 11
+                                            local.get 2
+                                            local.get 13
+                                            call $__rust_dealloc
+                                          end
+                                          local.get 4
+                                          local.get 4
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 2
+                                          i32.store
+                                          local.get 2
+                                          br_if 1 (;@18;)
+                                          local.get 8
+                                          local.get 6
+                                          i32.load
+                                          call_indirect (type 1)
+                                          local.get 4
+                                          i32.const 4
+                                          i32.add
+                                          local.tee 2
+                                          local.get 2
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 2
+                                          i32.store
+                                          local.get 2
+                                          br_if 1 (;@18;)
+                                          local.get 14
+                                          local.get 14
+                                          local.get 6
+                                          i32.load offset=4
+                                          local.get 16
+                                          i32.add
+                                          i32.const 0
+                                          local.get 10
+                                          i32.sub
+                                          i32.and
+                                          i32.add
+                                          i32.const 3
+                                          i32.add
+                                          i32.const 0
+                                          local.get 14
+                                          i32.sub
+                                          local.tee 2
+                                          i32.and
+                                          i32.add
+                                          i32.const 7
+                                          i32.add
+                                          local.get 2
+                                          i32.and
+                                          local.tee 2
+                                          i32.eqz
+                                          br_if 1 (;@18;)
+                                          local.get 4
+                                          local.get 2
+                                          local.get 14
+                                          call $__rust_dealloc
+                                          br 1 (;@18;)
+                                        end
+                                        local.get 5
+                                        i32.const 32
+                                        i32.add
+                                        local.get 0
+                                        local.get 1
+                                        call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
+                                        local.get 5
+                                        i32.const 136
+                                        i32.add
+                                        local.get 0
+                                        local.get 1
+                                        call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
+                                        local.get 5
+                                        i32.load offset=136
+                                        local.tee 1
+                                        local.get 5
+                                        i32.load offset=140
+                                        local.tee 3
+                                        i32.load offset=8
+                                        local.tee 0
+                                        i32.const 4
+                                        local.get 0
+                                        i32.const 4
+                                        i32.gt_u
+                                        select
+                                        local.tee 14
+                                        i32.const -1
+                                        i32.add
+                                        i32.const -8
+                                        i32.and
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.tee 2
+                                        i32.load
+                                        local.tee 10
+                                        i32.const 2147483646
+                                        i32.gt_u
+                                        br_if 13 (;@5;)
+                                        local.get 2
+                                        local.get 10
+                                        i32.const 1
+                                        i32.add
+                                        i32.store
+                                        local.get 2
+                                        local.get 0
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 15
+                                        i32.const -4
+                                        i32.and
+                                        i32.add
+                                        i32.const 4
+                                        i32.add
+                                        local.tee 13
+                                        i32.eqz
+                                        br_if 13 (;@5;)
+                                        local.get 3
+                                        i32.const 28
+                                        i32.add
+                                        i32.load
+                                        local.set 7
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 5
+                                        i32.const 136
+                                        i32.add
+                                        i32.const 32
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 5
+                                        i32.const 136
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 5
+                                        i32.const 136
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=144 align=4
+                                        i64.store offset=176
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.tee 10
+                                        i64.const 0
+                                        i64.store
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.tee 6
+                                        i64.const 0
+                                        i64.store
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.tee 8
+                                        i64.const 0
+                                        i64.store
+                                        local.get 5
+                                        i64.const 0
+                                        i64.store offset=208
+                                        local.get 13
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        local.get 7
+                                        call_indirect (type 0)
+                                        local.get 5
+                                        i32.const 104
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 10
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 104
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 6
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 104
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 8
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=208
+                                        i64.store offset=104
+                                        local.get 2
+                                        local.get 2
+                                        i32.load
+                                        i32.const -1
+                                        i32.add
+                                        i32.store
+                                        local.get 10
+                                        i64.const 0
+                                        i64.store
+                                        local.get 6
+                                        i64.const 0
+                                        i64.store
+                                        local.get 8
+                                        i64.const 0
+                                        i64.store
+                                        local.get 5
+                                        i64.const 0
+                                        i64.store offset=208
+                                        i32.const 0
+                                        local.set 6
+                                        i32.const 0
+                                        local.set 2
+                                        loop  ;; label = @19
+                                          local.get 5
+                                          i32.const 104
+                                          i32.add
+                                          local.get 2
+                                          i32.add
+                                          i32.load8_u
+                                          local.tee 10
+                                          i32.const 256
+                                          i32.or
+                                          local.get 10
+                                          local.get 6
+                                          local.get 4
+                                          local.get 2
+                                          i32.add
+                                          i32.load8_u
+                                          i32.add
+                                          local.tee 8
+                                          i32.const 65535
+                                          i32.and
+                                          local.tee 7
+                                          local.get 10
+                                          i32.gt_u
+                                          local.tee 6
+                                          select
+                                          local.tee 11
+                                          local.get 7
+                                          i32.lt_u
+                                          br_if 16 (;@3;)
+                                          local.get 11
+                                          local.get 8
+                                          i32.sub
+                                          local.tee 7
+                                          i32.const 65535
+                                          i32.and
+                                          i32.const 256
+                                          i32.ge_u
+                                          br_if 17 (;@2;)
+                                          local.get 5
+                                          i32.const 208
+                                          i32.add
+                                          local.get 2
+                                          i32.add
+                                          local.get 7
+                                          i32.store8
+                                          local.get 2
+                                          i32.const 1
+                                          i32.add
+                                          local.tee 7
+                                          local.set 2
+                                          local.get 7
+                                          i32.const 32
+                                          i32.ne
+                                          br_if 0 (;@19;)
+                                        end
+                                        local.get 8
+                                        i32.const 65535
+                                        i32.and
+                                        local.get 10
+                                        i32.gt_u
+                                        br_if 14 (;@4;)
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=208
+                                        i64.store offset=72
+                                        local.get 5
+                                        i32.load offset=32
+                                        local.tee 4
+                                        local.get 5
+                                        i32.load offset=36
+                                        local.tee 6
+                                        i32.load offset=8
+                                        local.tee 10
+                                        i32.const 4
+                                        local.get 10
+                                        i32.const 4
+                                        i32.gt_u
+                                        select
+                                        local.tee 11
+                                        i32.const -1
+                                        i32.add
+                                        i32.const -8
+                                        i32.and
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.tee 2
+                                        i32.load
+                                        br_if 17 (;@1;)
+                                        local.get 2
+                                        i32.const -1
+                                        i32.store
+                                        local.get 2
+                                        local.get 10
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 16
+                                        i32.const -4
+                                        i32.and
+                                        i32.add
+                                        i32.const 4
+                                        i32.add
+                                        local.tee 8
+                                        i32.eqz
+                                        br_if 17 (;@1;)
+                                        local.get 6
+                                        i32.const 32
+                                        i32.add
+                                        i32.load
+                                        local.set 7
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 5
+                                        i32.const 32
+                                        i32.add
+                                        i32.const 32
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 5
+                                        i32.const 32
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 5
+                                        i32.const 32
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        i64.load align=4
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=40 align=4
+                                        i64.store offset=176
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 24
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 16
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        local.get 5
+                                        i32.const 72
+                                        i32.add
+                                        i32.const 8
+                                        i32.add
+                                        i64.load
+                                        i64.store
+                                        local.get 5
+                                        local.get 5
+                                        i64.load offset=72
+                                        i64.store offset=208
+                                        local.get 8
+                                        local.get 5
+                                        i32.const 176
+                                        i32.add
+                                        local.get 5
+                                        i32.const 208
+                                        i32.add
+                                        local.get 7
+                                        call_indirect (type 0)
+                                        local.get 2
+                                        local.get 2
+                                        i32.load
+                                        i32.const 1
+                                        i32.add
+                                        i32.store
+                                        local.get 1
+                                        local.get 1
+                                        i32.load
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 2
+                                        i32.store
+                                        block  ;; label = @19
+                                          local.get 2
+                                          br_if 0 (;@19;)
+                                          local.get 13
+                                          local.get 3
+                                          i32.load
+                                          call_indirect (type 1)
+                                          local.get 1
+                                          i32.const 4
+                                          i32.add
+                                          local.tee 2
+                                          local.get 2
+                                          i32.load
+                                          i32.const -1
+                                          i32.add
+                                          local.tee 2
+                                          i32.store
+                                          local.get 2
+                                          br_if 0 (;@19;)
+                                          local.get 14
+                                          local.get 14
+                                          local.get 3
+                                          i32.load offset=4
+                                          local.get 15
+                                          i32.add
+                                          i32.const 0
+                                          local.get 0
+                                          i32.sub
+                                          i32.and
+                                          i32.add
+                                          i32.const 3
+                                          i32.add
+                                          i32.const 0
+                                          local.get 14
+                                          i32.sub
+                                          local.tee 2
+                                          i32.and
+                                          i32.add
+                                          i32.const 7
+                                          i32.add
+                                          local.get 2
+                                          i32.and
+                                          local.tee 2
+                                          i32.eqz
+                                          br_if 0 (;@19;)
+                                          local.get 1
+                                          local.get 2
+                                          local.get 14
+                                          call $__rust_dealloc
+                                        end
+                                        local.get 4
+                                        local.get 4
+                                        i32.load
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 2
+                                        i32.store
+                                        local.get 2
+                                        br_if 0 (;@18;)
+                                        local.get 8
+                                        local.get 6
+                                        i32.load
+                                        call_indirect (type 1)
+                                        local.get 4
+                                        i32.const 4
+                                        i32.add
+                                        local.tee 2
+                                        local.get 2
+                                        i32.load
+                                        i32.const -1
+                                        i32.add
+                                        local.tee 2
+                                        i32.store
+                                        local.get 2
+                                        br_if 0 (;@18;)
+                                        local.get 11
+                                        local.get 11
+                                        local.get 6
+                                        i32.load offset=4
+                                        local.get 16
+                                        i32.add
+                                        i32.const 0
+                                        local.get 10
+                                        i32.sub
+                                        i32.and
+                                        i32.add
+                                        i32.const 3
+                                        i32.add
+                                        i32.const 0
+                                        local.get 11
+                                        i32.sub
+                                        local.tee 2
+                                        i32.and
+                                        i32.add
+                                        i32.const 7
+                                        i32.add
+                                        local.get 2
+                                        i32.and
+                                        local.tee 2
+                                        i32.eqz
+                                        br_if 0 (;@18;)
+                                        local.get 4
+                                        local.get 2
+                                        local.get 11
+                                        call $__rust_dealloc
+                                      end
+                                      local.get 5
+                                      i32.const 240
+                                      i32.add
+                                      global.set $__stack_pointer
+                                      return
+                                    end
+                                    i32.const 1050168
+                                    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                                    unreachable
+                                  end
+                                  i32.const 1050168
+                                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                                  unreachable
+                                end
+                                i32.const 1048889
+                                i32.const 17
+                                call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+                                unreachable
+                              end
+                              i32.const 1050152
+                              call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+                              unreachable
+                            end
+                            i32.const 1050168
+                            call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                            unreachable
+                          end
+                          i32.const 1048906
+                          i32.const 20
+                          call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+                          unreachable
+                        end
+                        i32.const 1048926
+                        i32.const 31
+                        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+                        unreachable
+                      end
+                      i32.const 1048926
+                      i32.const 31
+                      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+                      unreachable
+                    end
+                    i32.const 1050152
+                    call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+                    unreachable
+                  end
+                  i32.const 1050168
+                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                  unreachable
+                end
+                i32.const 1048889
+                i32.const 17
+                call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+                unreachable
+              end
+              i32.const 1050152
+              call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+              unreachable
+            end
+            i32.const 1050168
+            call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+            unreachable
+          end
+          i32.const 1048906
+          i32.const 20
+          call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+          unreachable
+        end
+        i32.const 1048926
+        i32.const 31
+        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+        unreachable
+      end
+      i32.const 1048926
+      i32.const 31
+      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+      unreachable
+    end
+    i32.const 1050152
+    call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+    unreachable)
+  (func $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E (type 4) (param i32 i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    local.get 1
+    i32.load8_u offset=31
+    i32.store8
+    local.get 2
+    local.get 1
+    i32.load8_u offset=30
+    i32.store8 offset=1
+    local.get 2
+    local.get 1
+    i32.load8_u offset=29
+    i32.store8 offset=2
+    local.get 2
+    local.get 1
+    i32.load8_u offset=28
+    i32.store8 offset=3
+    local.get 2
+    local.get 1
+    i32.load8_u offset=27
+    i32.store8 offset=4
+    local.get 2
+    local.get 1
+    i32.load8_u offset=26
+    i32.store8 offset=5
+    local.get 2
+    local.get 1
+    i32.load8_u offset=25
+    i32.store8 offset=6
+    local.get 2
+    local.get 1
+    i32.load8_u offset=24
+    i32.store8 offset=7
+    local.get 2
+    local.get 1
+    i32.load8_u offset=23
+    i32.store8 offset=8
+    local.get 2
+    local.get 1
+    i32.load8_u offset=22
+    i32.store8 offset=9
+    local.get 2
+    local.get 1
+    i32.load8_u offset=21
+    i32.store8 offset=10
+    local.get 2
+    local.get 1
+    i32.load8_u offset=20
+    i32.store8 offset=11
+    local.get 2
+    local.get 1
+    i32.load8_u offset=19
+    i32.store8 offset=12
+    local.get 2
+    local.get 1
+    i32.load8_u offset=18
+    i32.store8 offset=13
+    local.get 2
+    local.get 1
+    i32.load8_u offset=17
+    i32.store8 offset=14
+    local.get 2
+    local.get 1
+    i32.load8_u offset=16
+    i32.store8 offset=15
+    local.get 2
+    local.get 1
+    i32.load8_u offset=15
+    i32.store8 offset=16
+    local.get 2
+    local.get 1
+    i32.load8_u offset=14
+    i32.store8 offset=17
+    local.get 2
+    local.get 1
+    i32.load8_u offset=13
+    i32.store8 offset=18
+    local.get 2
+    local.get 1
+    i32.load8_u offset=12
+    i32.store8 offset=19
+    local.get 2
+    local.get 1
+    i32.load8_u offset=11
+    i32.store8 offset=20
+    local.get 2
+    local.get 1
+    i32.load8_u offset=10
+    i32.store8 offset=21
+    local.get 2
+    local.get 1
+    i32.load8_u offset=9
+    i32.store8 offset=22
+    local.get 2
+    local.get 1
+    i32.load8_u offset=8
+    i32.store8 offset=23
+    local.get 2
+    local.get 1
+    i32.load8_u offset=7
+    i32.store8 offset=24
+    local.get 2
+    local.get 1
+    i32.load8_u offset=6
+    i32.store8 offset=25
+    local.get 2
+    local.get 1
+    i32.load8_u offset=5
+    i32.store8 offset=26
+    local.get 2
+    local.get 1
+    i32.load8_u offset=4
+    i32.store8 offset=27
+    local.get 2
+    local.get 1
+    i32.load8_u offset=3
+    i32.store8 offset=28
+    local.get 2
+    local.get 1
+    i32.load8_u offset=2
+    i32.store8 offset=29
+    local.get 2
+    local.get 1
+    i32.load8_u offset=1
+    i32.store8 offset=30
+    local.get 2
+    local.get 1
+    i32.load8_u
+    i32.store8 offset=31
+    local.get 0
+    i32.const 4
+    i32.add
+    local.get 2
+    i32.const 32
+    call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+    local.get 0
+    i32.const 1
+    i32.store8
+    local.get 2
+    i32.const 32
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE (type 6) (param i32 i32) (result i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load offset=28
+      local.tee 2
+      i32.const 16
+      i32.and
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 2
+        i32.const 32
+        i32.and
+        br_if 0 (;@2;)
+        local.get 0
+        local.get 1
+        call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE
+        return
+      end
+      local.get 0
+      local.get 1
+      call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd504c8c64d2f0cadE
+      return
+    end
+    local.get 0
+    local.get 1
+    call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h3be2bf5a24d84447E)
+  (func $_ZN4core3ptr47drop_in_place$LT$erc20..ulm..impl_..UlmImpl$GT$17he64bf1bacb8d0b6cE (type 1) (param i32))
+  (func $_ZN5bytes5bytes11static_drop17h80d4e6ae9b05ca89E (type 0) (param i32 i32 i32))
+  (func $_ZN5bytes5bytes12static_clone17h8ee0bb07f5e580ccE (type 2) (param i32 i32 i32 i32)
+    local.get 0
+    i32.const 0
+    i32.store offset=12
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 0
+    i32.const 1048980
+    i32.store)
+  (func $_ZN5bytes5bytes16static_is_unique17h6e19e52823949186E (type 10) (param i32) (result i32)
+    i32.const 0)
+  (func $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i64)
+    global.get $__stack_pointer
+    i32.const 64
+    i32.sub
+    local.tee 4
+    global.set $__stack_pointer
+    local.get 4
+    local.get 1
+    i32.load offset=8
+    local.tee 5
+    i32.store offset=12
+    local.get 4
+    local.get 2
+    i32.store offset=16
+    local.get 4
+    local.get 3
+    i32.store offset=20
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 2
+        local.get 3
+        i32.gt_u
+        br_if 0 (;@2;)
+        local.get 5
+        local.get 3
+        i32.lt_u
+        br_if 1 (;@1;)
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 3
+            local.get 2
+            i32.eq
+            br_if 0 (;@4;)
+            local.get 4
+            i32.const 24
+            i32.add
+            local.get 1
+            i32.const 12
+            i32.add
+            local.get 1
+            i32.load offset=4
+            local.get 5
+            local.get 1
+            i32.load
+            i32.load
+            call_indirect (type 2)
+            local.get 4
+            i32.const 24
+            i32.add
+            i32.const 8
+            i32.add
+            local.tee 3
+            local.get 4
+            i32.load offset=20
+            local.get 2
+            i32.sub
+            i32.store
+            local.get 4
+            local.get 4
+            i32.load offset=28
+            local.get 2
+            i32.add
+            i32.store offset=28
+            local.get 0
+            local.get 4
+            i64.load offset=24 align=4
+            i64.store align=4
+            local.get 0
+            i32.const 8
+            i32.add
+            local.get 3
+            i64.load align=4
+            i64.store align=4
+            br 1 (;@3;)
+          end
+          local.get 0
+          i32.const 0
+          i32.store offset=12
+          local.get 0
+          i64.const 1
+          i64.store offset=4 align=4
+          local.get 0
+          i32.const 1048980
+          i32.store
+        end
+        local.get 4
+        i32.const 64
+        i32.add
+        global.set $__stack_pointer
+        return
+      end
+      local.get 4
+      i32.const 2
+      i32.store offset=28
+      local.get 4
+      i32.const 1049136
+      i32.store offset=24
+      local.get 4
+      i64.const 2
+      i64.store offset=36 align=4
+      local.get 4
+      i32.const 1
+      i64.extend_i32_u
+      i64.const 32
+      i64.shl
+      local.tee 6
+      local.get 4
+      i32.const 20
+      i32.add
+      i64.extend_i32_u
+      i64.or
+      i64.store offset=56
+      local.get 4
+      local.get 6
+      local.get 4
+      i32.const 16
+      i32.add
+      i64.extend_i32_u
+      i64.or
+      i64.store offset=48
+      local.get 4
+      local.get 4
+      i32.const 48
+      i32.add
+      i32.store offset=32
+      local.get 4
+      i32.const 24
+      i32.add
+      i32.const 1049152
+      call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+      unreachable
+    end
+    local.get 4
+    i32.const 2
+    i32.store offset=28
+    local.get 4
+    i32.const 1049196
+    i32.store offset=24
+    local.get 4
+    i64.const 2
+    i64.store offset=36 align=4
+    local.get 4
+    i32.const 1
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.tee 6
+    local.get 4
+    i32.const 12
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=56
+    local.get 4
+    local.get 6
+    local.get 4
+    i32.const 20
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=48
+    local.get 4
+    local.get 4
+    i32.const 48
+    i32.add
+    i32.store offset=32
+    local.get 4
+    i32.const 24
+    i32.add
+    i32.const 1049212
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E (type 4) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64)
+    global.get $__stack_pointer
+    i32.const 144
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 1
+    i32.load offset=4
+    local.set 3
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        i32.load offset=8
+        local.tee 4
+        br_if 0 (;@2;)
+        i32.const 0
+        local.set 5
+        i32.const 0
+        local.set 6
+        br 1 (;@1;)
+      end
+      local.get 4
+      i32.const 20
+      i32.mul
+      i32.const -20
+      i32.add
+      local.tee 7
+      i32.const 20
+      i32.div_u
+      i32.const 1
+      i32.add
+      local.tee 8
+      i32.const 3
+      i32.and
+      local.set 9
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 7
+          i32.const 60
+          i32.ge_u
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 5
+          local.get 3
+          local.set 1
+          br 1 (;@2;)
+        end
+        local.get 8
+        i32.const 536870908
+        i32.and
+        local.set 10
+        i32.const 0
+        local.set 5
+        local.get 3
+        local.set 11
+        loop  ;; label = @3
+          i32.const 32
+          local.set 6
+          block  ;; label = @4
+            local.get 11
+            local.tee 1
+            i32.load8_u
+            i32.const 1
+            i32.ne
+            br_if 0 (;@4;)
+            local.get 1
+            i32.load offset=12
+            local.set 6
+          end
+          local.get 6
+          local.get 5
+          i32.add
+          local.set 11
+          i32.const 32
+          local.set 5
+          i32.const 32
+          local.set 6
+          block  ;; label = @4
+            local.get 1
+            i32.const 20
+            i32.add
+            i32.load8_u
+            i32.const 1
+            i32.ne
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const 32
+            i32.add
+            i32.load
+            local.set 6
+          end
+          local.get 6
+          local.get 11
+          i32.add
+          local.set 6
+          block  ;; label = @4
+            local.get 1
+            i32.const 40
+            i32.add
+            i32.load8_u
+            i32.const 1
+            i32.ne
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const 52
+            i32.add
+            i32.load
+            local.set 5
+          end
+          local.get 5
+          local.get 6
+          i32.add
+          local.set 6
+          i32.const 32
+          local.set 5
+          block  ;; label = @4
+            local.get 1
+            i32.const 60
+            i32.add
+            i32.load8_u
+            i32.const 1
+            i32.ne
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const 72
+            i32.add
+            i32.load
+            local.set 5
+          end
+          local.get 1
+          i32.const 80
+          i32.add
+          local.set 11
+          local.get 5
+          local.get 6
+          i32.add
+          local.set 5
+          local.get 10
+          i32.const -4
+          i32.add
+          local.tee 10
+          br_if 0 (;@3;)
+        end
+        local.get 1
+        i32.const 80
+        i32.add
+        local.set 1
+      end
+      block  ;; label = @2
+        local.get 9
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 9
+        i32.const 20
+        i32.mul
+        local.set 10
+        loop  ;; label = @3
+          i32.const 32
+          local.set 6
+          block  ;; label = @4
+            local.get 1
+            i32.load8_u
+            i32.const 1
+            i32.ne
+            br_if 0 (;@4;)
+            local.get 1
+            i32.load offset=12
+            local.set 6
+          end
+          local.get 1
+          i32.const 20
+          i32.add
+          local.set 1
+          local.get 6
+          local.get 5
+          i32.add
+          local.set 5
+          local.get 10
+          i32.const -20
+          i32.add
+          local.tee 10
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 8
+      i32.const 3
+      i32.and
+      local.set 9
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 7
+          i32.const 60
+          i32.ge_u
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 6
+          local.get 3
+          local.set 1
+          br 1 (;@2;)
+        end
+        local.get 8
+        i32.const 536870908
+        i32.and
+        local.set 11
+        i32.const 0
+        local.set 6
+        local.get 3
+        local.set 7
+        loop  ;; label = @3
+          i32.const 0
+          local.set 10
+          block  ;; label = @4
+            local.get 7
+            local.tee 1
+            i32.load8_u
+            i32.const 1
+            i32.eq
+            br_if 0 (;@4;)
+            local.get 1
+            i32.load offset=12
+            local.set 10
+          end
+          local.get 10
+          local.get 6
+          i32.add
+          local.set 7
+          i32.const 0
+          local.set 6
+          i32.const 0
+          local.set 10
+          block  ;; label = @4
+            local.get 1
+            i32.const 20
+            i32.add
+            i32.load8_u
+            i32.const 1
+            i32.eq
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const 32
+            i32.add
+            i32.load
+            local.set 10
+          end
+          local.get 10
+          local.get 7
+          i32.add
+          local.set 10
+          block  ;; label = @4
+            local.get 1
+            i32.const 40
+            i32.add
+            i32.load8_u
+            i32.const 1
+            i32.eq
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const 52
+            i32.add
+            i32.load
+            local.set 6
+          end
+          local.get 6
+          local.get 10
+          i32.add
+          local.set 10
+          i32.const 0
+          local.set 6
+          block  ;; label = @4
+            local.get 1
+            i32.const 60
+            i32.add
+            i32.load8_u
+            i32.const 1
+            i32.eq
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const 72
+            i32.add
+            i32.load
+            local.set 6
+          end
+          local.get 1
+          i32.const 80
+          i32.add
+          local.set 7
+          local.get 6
+          local.get 10
+          i32.add
+          local.set 6
+          local.get 11
+          i32.const -4
+          i32.add
+          local.tee 11
+          br_if 0 (;@3;)
+        end
+        local.get 1
+        i32.const 80
+        i32.add
+        local.set 1
+      end
+      local.get 9
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 9
+      i32.const 20
+      i32.mul
+      local.set 11
+      loop  ;; label = @2
+        i32.const 0
+        local.set 10
+        block  ;; label = @3
+          local.get 1
+          i32.load8_u
+          i32.const 1
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 1
+          i32.load offset=12
+          local.set 10
+        end
+        local.get 1
+        i32.const 20
+        i32.add
+        local.set 1
+        local.get 10
+        local.get 6
+        i32.add
+        local.set 6
+        local.get 11
+        i32.const -20
+        i32.add
+        local.tee 11
+        br_if 0 (;@2;)
+      end
+    end
+    i32.const 1
+    local.set 11
+    i32.const 1
+    local.set 10
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  local.get 6
+                  local.get 5
+                  i32.add
+                  local.tee 1
+                  i32.eqz
+                  br_if 0 (;@7;)
+                  i32.const 0
+                  local.set 7
+                  local.get 1
+                  i32.const 0
+                  i32.lt_s
+                  br_if 1 (;@6;)
+                  i32.const 0
+                  i32.load8_u offset=1051873
+                  drop
+                  i32.const 1
+                  local.set 7
+                  local.get 1
+                  i32.const 1
+                  call $__rust_alloc
+                  local.tee 10
+                  i32.eqz
+                  br_if 1 (;@6;)
+                end
+                i32.const 0
+                local.set 7
+                local.get 2
+                i32.const 0
+                i32.store offset=12
+                local.get 2
+                local.get 10
+                i32.store offset=8
+                local.get 2
+                local.get 1
+                i32.store offset=16
+                local.get 2
+                i32.const 32
+                local.get 1
+                i32.const 10
+                i32.shr_u
+                i32.clz
+                i32.sub
+                local.tee 1
+                i32.const 7
+                local.get 1
+                i32.const 7
+                i32.lt_u
+                select
+                i32.const 2
+                i32.shl
+                i32.const 1
+                i32.or
+                i32.store offset=20
+                block  ;; label = @7
+                  local.get 6
+                  i32.eqz
+                  br_if 0 (;@7;)
+                  local.get 6
+                  i32.const 0
+                  i32.lt_s
+                  br_if 2 (;@5;)
+                  i32.const 0
+                  i32.load8_u offset=1051873
+                  drop
+                  i32.const 1
+                  local.set 7
+                  local.get 6
+                  i32.const 1
+                  call $__rust_alloc
+                  local.tee 11
+                  i32.eqz
+                  br_if 2 (;@5;)
+                end
+                local.get 2
+                i32.const 0
+                i32.store offset=28
+                local.get 2
+                local.get 11
+                i32.store offset=24
+                local.get 2
+                local.get 6
+                i32.store offset=32
+                local.get 2
+                i32.const 32
+                local.get 6
+                i32.const 10
+                i32.shr_u
+                i32.clz
+                i32.sub
+                local.tee 1
+                i32.const 7
+                local.get 1
+                i32.const 7
+                i32.lt_u
+                select
+                i32.const 2
+                i32.shl
+                i32.const 1
+                i32.or
+                i32.store offset=36
+                local.get 4
+                i32.eqz
+                br_if 5 (;@1;)
+                local.get 4
+                i32.const 20
+                i32.mul
+                local.set 6
+                local.get 2
+                i32.const 76
+                i32.add
+                i32.const 8
+                i32.add
+                local.set 11
+                local.get 2
+                i32.const 52
+                i32.add
+                local.set 8
+                local.get 2
+                i32.const 60
+                i32.add
+                local.set 7
+                loop  ;; label = @7
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      local.get 3
+                      i32.load8_u
+                      i32.const 1
+                      i32.ne
+                      br_if 0 (;@9;)
+                      local.get 3
+                      i32.load offset=8
+                      local.set 4
+                      block  ;; label = @10
+                        local.get 2
+                        i32.load offset=16
+                        local.get 2
+                        i32.load offset=12
+                        local.tee 10
+                        i32.sub
+                        local.get 3
+                        i32.load offset=12
+                        local.tee 1
+                        i32.ge_u
+                        br_if 0 (;@10;)
+                        local.get 2
+                        i32.const 8
+                        i32.add
+                        local.get 1
+                        i32.const 1
+                        call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
+                        drop
+                        local.get 2
+                        i32.load offset=12
+                        local.set 10
+                      end
+                      local.get 2
+                      i32.load offset=8
+                      local.get 10
+                      i32.add
+                      local.get 4
+                      local.get 1
+                      call $memcpy
+                      drop
+                      local.get 2
+                      i32.load offset=16
+                      local.get 2
+                      i32.load offset=12
+                      local.tee 10
+                      i32.sub
+                      local.tee 4
+                      local.get 1
+                      i32.lt_u
+                      br_if 5 (;@4;)
+                      local.get 2
+                      local.get 10
+                      local.get 1
+                      i32.add
+                      i32.store offset=12
+                      br 1 (;@8;)
+                    end
+                    local.get 2
+                    i32.load offset=28
+                    local.set 1
+                    local.get 11
+                    i32.const 16
+                    i32.add
+                    i64.const 0
+                    i64.store align=1
+                    local.get 11
+                    i32.const 8
+                    i32.add
+                    i64.const 0
+                    i64.store align=1
+                    local.get 11
+                    i64.const 0
+                    i64.store align=1
+                    local.get 2
+                    i32.const 0
+                    i32.store offset=80 align=1
+                    local.get 2
+                    local.get 1
+                    local.get 5
+                    i32.add
+                    local.tee 1
+                    i32.store8 offset=76
+                    local.get 2
+                    local.get 1
+                    i32.const 24
+                    i32.shr_u
+                    i32.store8 offset=79
+                    local.get 2
+                    local.get 1
+                    i32.const 16
+                    i32.shr_u
+                    i32.store8 offset=78
+                    local.get 2
+                    local.get 1
+                    i32.const 8
+                    i32.shr_u
+                    i32.store8 offset=77
+                    local.get 2
+                    i32.const 56
+                    i32.add
+                    local.get 2
+                    i32.const 76
+                    i32.add
+                    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
+                    local.get 2
+                    i32.const 40
+                    i32.add
+                    i32.const 8
+                    i32.add
+                    local.get 7
+                    i32.const 8
+                    i32.add
+                    i64.load align=4
+                    local.tee 12
+                    i64.store
+                    local.get 2
+                    local.get 7
+                    i64.load align=4
+                    i64.store offset=40
+                    local.get 2
+                    i32.load offset=44
+                    local.set 10
+                    block  ;; label = @9
+                      local.get 12
+                      i32.wrap_i64
+                      local.tee 1
+                      i32.eqz
+                      br_if 0 (;@9;)
+                      block  ;; label = @10
+                        local.get 2
+                        i32.load offset=16
+                        local.get 2
+                        i32.load offset=12
+                        local.tee 4
+                        i32.sub
+                        local.get 1
+                        i32.ge_u
+                        br_if 0 (;@10;)
+                        local.get 2
+                        i32.const 8
+                        i32.add
+                        local.get 1
+                        i32.const 1
+                        call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
+                        drop
+                        local.get 2
+                        i32.load offset=12
+                        local.set 4
+                      end
+                      local.get 2
+                      i32.load offset=8
+                      local.get 4
+                      i32.add
+                      local.get 10
+                      local.get 1
+                      call $memcpy
+                      drop
+                      local.get 2
+                      i32.load offset=16
+                      local.get 2
+                      i32.load offset=12
+                      local.tee 4
+                      i32.sub
+                      local.tee 9
+                      local.get 1
+                      i32.lt_u
+                      br_if 6 (;@3;)
+                      local.get 2
+                      i32.const 0
+                      i32.store offset=48
+                      local.get 2
+                      local.get 4
+                      local.get 1
+                      i32.add
+                      i32.store offset=12
+                      local.get 2
+                      local.get 10
+                      local.get 1
+                      i32.add
+                      local.tee 10
+                      i32.store offset=44
+                    end
+                    local.get 8
+                    local.get 10
+                    i32.const 0
+                    local.get 2
+                    i32.load offset=40
+                    i32.load offset=16
+                    call_indirect (type 0)
+                    local.get 3
+                    i32.load offset=12
+                    local.tee 1
+                    i32.eqz
+                    br_if 0 (;@8;)
+                    local.get 3
+                    i32.load offset=8
+                    local.set 4
+                    block  ;; label = @9
+                      local.get 2
+                      i32.load offset=32
+                      local.get 2
+                      i32.load offset=28
+                      local.tee 10
+                      i32.sub
+                      local.get 1
+                      i32.ge_u
+                      br_if 0 (;@9;)
+                      local.get 2
+                      i32.const 24
+                      i32.add
+                      local.get 1
+                      i32.const 1
+                      call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
+                      drop
+                      local.get 2
+                      i32.load offset=28
+                      local.set 10
+                    end
+                    local.get 2
+                    i32.load offset=24
+                    local.get 10
+                    i32.add
+                    local.get 4
+                    local.get 1
+                    call $memcpy
+                    drop
+                    local.get 2
+                    i32.load offset=32
+                    local.get 2
+                    i32.load offset=28
+                    local.tee 10
+                    i32.sub
+                    local.tee 4
+                    local.get 1
+                    i32.lt_u
+                    br_if 6 (;@2;)
+                    local.get 2
+                    local.get 10
+                    local.get 1
+                    i32.add
+                    i32.store offset=28
+                  end
+                  local.get 3
+                  i32.const 20
+                  i32.add
+                  local.set 3
+                  local.get 6
+                  i32.const -20
+                  i32.add
+                  local.tee 6
+                  br_if 0 (;@7;)
+                  br 6 (;@1;)
+                end
+              end
+              local.get 7
+              local.get 1
+              call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+              unreachable
+            end
+            local.get 7
+            local.get 6
+            call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+            unreachable
+          end
+          local.get 1
+          local.get 4
+          call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
+          unreachable
+        end
+        local.get 1
+        local.get 9
+        call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
+        unreachable
+      end
+      local.get 1
+      local.get 4
+      call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
+      unreachable
+    end
+    local.get 2
+    i32.const 120
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 24
+    i32.add
+    i32.const 8
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=24 align=4
+    i64.store offset=120
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 2
+            i32.load offset=124
+            local.tee 3
+            i32.eqz
+            br_if 0 (;@4;)
+            loop  ;; label = @5
+              local.get 2
+              i32.load offset=120
+              local.set 5
+              block  ;; label = @6
+                local.get 2
+                i32.load offset=16
+                local.get 2
+                i32.load offset=12
+                local.tee 1
+                i32.sub
+                local.get 3
+                i32.ge_u
+                br_if 0 (;@6;)
+                local.get 2
+                i32.const 8
+                i32.add
+                local.get 3
+                i32.const 1
+                call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
+                drop
+                local.get 2
+                i32.load offset=12
+                local.set 1
+              end
+              local.get 2
+              i32.load offset=8
+              local.get 1
+              i32.add
+              local.get 5
+              local.get 3
+              call $memcpy
+              drop
+              local.get 2
+              i32.load offset=16
+              local.get 2
+              i32.load offset=12
+              local.tee 1
+              i32.sub
+              local.tee 5
+              local.get 3
+              i32.lt_u
+              br_if 2 (;@3;)
+              local.get 2
+              local.get 1
+              local.get 3
+              i32.add
+              i32.store offset=12
+              local.get 2
+              local.get 3
+              i32.store offset=140
+              local.get 2
+              i32.load offset=124
+              local.tee 1
+              local.get 3
+              i32.lt_u
+              br_if 3 (;@2;)
+              local.get 2
+              i32.const 120
+              i32.add
+              local.get 3
+              call $_ZN5bytes9bytes_mut8BytesMut17advance_unchecked17h8cc95633436894fdE
+              local.get 2
+              i32.load offset=124
+              local.tee 3
+              br_if 0 (;@5;)
+            end
+          end
+          local.get 2
+          i32.const 120
+          i32.add
+          call $_ZN68_$LT$bytes..bytes_mut..BytesMut$u20$as$u20$core..ops..drop..Drop$GT$4drop17h694f9b0f8c62c807E
+          local.get 2
+          i32.load offset=8
+          local.set 1
+          local.get 2
+          i32.load offset=12
+          local.set 5
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 2
+              i32.load offset=20
+              local.tee 3
+              i32.const 1
+              i32.and
+              br_if 0 (;@5;)
+              local.get 0
+              local.get 3
+              i32.store offset=12
+              local.get 0
+              local.get 5
+              i32.store offset=8
+              local.get 0
+              local.get 1
+              i32.store offset=4
+              local.get 0
+              i32.const 1050872
+              i32.store
+              br 1 (;@4;)
+            end
+            local.get 2
+            i32.const 108
+            i32.add
+            local.get 1
+            local.get 5
+            local.get 2
+            i32.load offset=16
+            local.get 3
+            i32.const 5
+            i32.shr_u
+            local.tee 3
+            call $_ZN5bytes9bytes_mut11rebuild_vec17h38cce237df47590bE
+            local.get 2
+            i32.const 120
+            i32.add
+            local.get 2
+            i32.const 108
+            i32.add
+            call $_ZN92_$LT$bytes..bytes..Bytes$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$4from17h73298beb60a3c1fbE
+            local.get 2
+            local.get 3
+            i32.store offset=136
+            local.get 2
+            i32.load offset=128
+            local.tee 1
+            local.get 3
+            i32.lt_u
+            br_if 3 (;@1;)
+            local.get 2
+            i32.const 120
+            i32.add
+            i32.const 8
+            i32.add
+            local.tee 5
+            local.get 1
+            local.get 3
+            i32.sub
+            i32.store
+            local.get 2
+            local.get 2
+            i32.load offset=124
+            local.get 3
+            i32.add
+            i32.store offset=124
+            local.get 0
+            i32.const 8
+            i32.add
+            local.get 5
+            i64.load align=4
+            i64.store align=4
+            local.get 0
+            local.get 2
+            i64.load offset=120 align=4
+            i64.store align=4
+          end
+          local.get 2
+          i32.const 144
+          i32.add
+          global.set $__stack_pointer
+          return
+        end
+        local.get 3
+        local.get 5
+        call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
+        unreachable
+      end
+      local.get 2
+      i32.const 2
+      i32.store offset=80
+      local.get 2
+      i32.const 1049264
+      i32.store offset=76
+      local.get 2
+      i64.const 2
+      i64.store offset=88 align=4
+      local.get 2
+      local.get 1
+      i32.store offset=108
+      local.get 2
+      i32.const 1
+      i64.extend_i32_u
+      i64.const 32
+      i64.shl
+      local.tee 12
+      local.get 2
+      i32.const 108
+      i32.add
+      i64.extend_i32_u
+      i64.or
+      i64.store offset=64
+      local.get 2
+      local.get 12
+      local.get 2
+      i32.const 140
+      i32.add
+      i64.extend_i32_u
+      i64.or
+      i64.store offset=56
+      local.get 2
+      local.get 2
+      i32.const 56
+      i32.add
+      i32.store offset=84
+      local.get 2
+      i32.const 76
+      i32.add
+      i32.const 1049392
+      call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+      unreachable
+    end
+    local.get 2
+    i32.const 2
+    i32.store offset=80
+    local.get 2
+    i32.const 1049264
+    i32.store offset=76
+    local.get 2
+    i64.const 2
+    i64.store offset=88 align=4
+    local.get 2
+    local.get 1
+    i32.store offset=140
+    local.get 2
+    i32.const 1
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.tee 12
+    local.get 2
+    i32.const 140
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=64
+    local.get 2
+    local.get 12
+    local.get 2
+    i32.const 136
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=56
+    local.get 2
+    local.get 2
+    i32.const 56
+    i32.add
+    i32.store offset=84
+    local.get 2
+    i32.const 76
+    i32.add
+    i32.const 1049280
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN5erc2016erc20_dispatcher14same_signature17he85b455a9ec874d9E (type 9) (param i32 i32 i32 i32) (result i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 64
+    i32.sub
+    local.tee 4
+    global.set $__stack_pointer
+    local.get 4
+    i32.const 16
+    i32.add
+    local.get 2
+    local.get 3
+    call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+    local.get 4
+    i32.load offset=24
+    local.set 3
+    local.get 4
+    i32.load offset=20
+    local.set 2
+    local.get 4
+    i32.const 56
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 4
+    i32.const 48
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 4
+    i32.const 40
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 4
+    i64.const 0
+    i64.store offset=32
+    local.get 0
+    local.get 2
+    local.get 3
+    local.get 4
+    i32.const 32
+    i32.add
+    call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
+    local.get 4
+    i32.load offset=32
+    local.set 0
+    local.get 4
+    i32.const 16
+    i32.add
+    i32.const 12
+    i32.add
+    local.get 2
+    local.get 3
+    local.get 4
+    i32.load offset=16
+    i32.load offset=16
+    call_indirect (type 0)
+    local.get 4
+    local.get 0
+    i32.store offset=12
+    local.get 4
+    i32.const 32
+    i32.add
+    local.get 4
+    i32.const 12
+    i32.add
+    i32.const 4
+    call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+    local.get 1
+    local.get 4
+    i32.const 32
+    i32.add
+    call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
+    local.set 3
+    local.get 4
+    i32.const 32
+    i32.add
+    i32.const 12
+    i32.add
+    local.get 4
+    i32.load offset=36
+    local.get 4
+    i32.load offset=40
+    local.get 4
+    i32.load offset=32
+    i32.load offset=16
+    call_indirect (type 0)
+    local.get 4
+    i32.const 64
+    i32.add
+    global.set $__stack_pointer
+    local.get 3)
+  (func $ulmDispatchCaller (type 1) (param i32)
+    (local i32 i32 i32 i32 i32 i32 i64 i64)
+    global.get $__stack_pointer
+    i32.const 304
+    i32.sub
+    local.tee 1
+    global.set $__stack_pointer
+    i32.const 0
+    i32.load8_u offset=1051873
+    drop
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        block  ;; label = @11
+                          block  ;; label = @12
+                            i32.const 12
+                            i32.const 4
+                            call $__rust_alloc
+                            local.tee 2
+                            i32.eqz
+                            br_if 0 (;@12;)
+                            local.get 2
+                            i64.const 4294967297
+                            i64.store align=4
+                            i32.const 1
+                            local.set 3
+                            local.get 2
+                            i32.const 1
+                            i32.store offset=8
+                            block  ;; label = @13
+                              local.get 2
+                              i32.const 12
+                              i32.add
+                              local.tee 4
+                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$16call_data_length17h5a8338a3b18df8f2E
+                              local.tee 5
+                              i32.eqz
+                              br_if 0 (;@13;)
+                              i32.const 0
+                              local.set 6
+                              local.get 5
+                              i32.const 0
+                              i32.lt_s
+                              br_if 2 (;@11;)
+                              i32.const 0
+                              i32.load8_u offset=1051873
+                              drop
+                              i32.const 1
+                              local.set 6
+                              local.get 5
+                              i32.const 1
+                              call $__rust_alloc
+                              local.tee 3
+                              i32.eqz
+                              br_if 2 (;@11;)
+                            end
+                            local.get 4
+                            local.get 3
+                            i32.const 0
+                            call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$9call_data17hde8d81abbe4336aeE
+                            local.get 1
+                            i32.const 8
+                            i32.add
+                            local.get 3
+                            i32.const 0
+                            call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                            block  ;; label = @13
+                              local.get 5
+                              i32.eqz
+                              br_if 0 (;@13;)
+                              local.get 3
+                              local.get 5
+                              i32.const 1
+                              call $__rust_dealloc
+                            end
+                            local.get 2
+                            local.get 2
+                            i32.load offset=8
+                            i32.const -1
+                            i32.add
+                            local.tee 3
+                            i32.store offset=8
+                            block  ;; label = @13
+                              block  ;; label = @14
+                                block  ;; label = @15
+                                  local.get 0
+                                  br_if 0 (;@15;)
+                                  local.get 1
+                                  i32.load offset=16
+                                  i32.const 3
+                                  i32.gt_u
+                                  br_if 1 (;@14;)
+                                  i32.const 1049452
+                                  i32.const 33
+                                  call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+                                  unreachable
+                                end
+                                local.get 1
+                                i32.const 184
+                                i32.add
+                                i32.const 8
+                                i32.add
+                                local.get 1
+                                i32.const 8
+                                i32.add
+                                i32.const 8
+                                i32.add
+                                i64.load align=4
+                                i64.store
+                                local.get 2
+                                local.get 2
+                                i32.load
+                                i32.const 1
+                                i32.add
+                                local.tee 5
+                                i32.store
+                                local.get 1
+                                local.get 1
+                                i64.load offset=8 align=4
+                                i64.store offset=184
+                                local.get 1
+                                i32.const 0
+                                i32.store offset=200
+                                local.get 5
+                                i32.eqz
+                                br_if 4 (;@10;)
+                                local.get 1
+                                i32.const 0
+                                i32.store offset=256
+                                local.get 1
+                                i64.const 17179869184
+                                i64.store offset=248 align=4
+                                local.get 3
+                                br_if 5 (;@9;)
+                                local.get 2
+                                i32.const -1
+                                i32.store offset=8
+                                local.get 1
+                                i32.const 128
+                                i32.add
+                                local.get 1
+                                i32.const 248
+                                i32.add
+                                call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+                                local.get 4
+                                local.get 1
+                                i32.load offset=132
+                                local.tee 3
+                                local.get 1
+                                i32.load offset=136
+                                local.tee 5
+                                call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
+                                local.get 1
+                                i32.const 128
+                                i32.add
+                                i32.const 12
+                                i32.add
+                                local.get 3
+                                local.get 5
+                                local.get 1
+                                i32.load offset=128
+                                i32.load offset=16
+                                call_indirect (type 0)
+                                local.get 2
+                                local.get 2
+                                i32.load offset=8
+                                i32.const 1
+                                i32.add
+                                i32.store offset=8
+                                local.get 2
+                                local.get 2
+                                i32.load
+                                i32.const -1
+                                i32.add
+                                local.tee 3
+                                i32.store
+                                block  ;; label = @15
+                                  local.get 3
+                                  br_if 0 (;@15;)
+                                  local.get 2
+                                  local.get 2
+                                  i32.load offset=4
+                                  i32.const -1
+                                  i32.add
+                                  local.tee 3
+                                  i32.store offset=4
+                                  local.get 3
+                                  br_if 0 (;@15;)
+                                  local.get 2
+                                  i32.const 12
+                                  i32.const 4
+                                  call $__rust_dealloc
+                                end
+                                local.get 1
+                                i32.const 184
+                                i32.add
+                                i32.const 12
+                                i32.add
+                                local.get 1
+                                i32.load offset=188
+                                local.get 1
+                                i32.load offset=192
+                                local.get 1
+                                i32.load offset=184
+                                i32.load offset=16
+                                call_indirect (type 0)
+                                local.get 2
+                                local.get 2
+                                i32.load
+                                i32.const -1
+                                i32.add
+                                local.tee 3
+                                i32.store
+                                local.get 3
+                                br_if 1 (;@13;)
+                                local.get 2
+                                local.get 2
+                                i32.load offset=4
+                                i32.const -1
+                                i32.add
+                                local.tee 3
+                                i32.store offset=4
+                                local.get 3
+                                br_if 1 (;@13;)
+                                local.get 2
+                                i32.const 12
+                                i32.const 4
+                                call $__rust_dealloc
+                                br 1 (;@13;)
+                              end
+                              local.get 1
+                              i32.const 24
+                              i32.add
+                              local.get 1
+                              i32.const 8
+                              i32.add
+                              i32.const 4
+                              call $_ZN5bytes5bytes5Bytes9split_off17h8fb60c9956121d47E
+                              local.get 1
+                              i32.const 40
+                              i32.add
+                              i32.const 8
+                              i32.add
+                              local.get 1
+                              i32.const 8
+                              i32.add
+                              i32.const 8
+                              i32.add
+                              i64.load align=4
+                              i64.store
+                              local.get 1
+                              local.get 1
+                              i64.load offset=8 align=4
+                              i64.store offset=40
+                              local.get 2
+                              i32.load offset=8
+                              local.tee 3
+                              i32.const 2147483646
+                              i32.gt_u
+                              br_if 5 (;@8;)
+                              local.get 2
+                              local.get 3
+                              i32.const 1
+                              i32.add
+                              i32.store offset=8
+                              local.get 1
+                              i32.const 128
+                              i32.add
+                              i32.const 1049485
+                              i32.const 10
+                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                              local.get 1
+                              i32.load offset=136
+                              local.set 3
+                              local.get 1
+                              i32.load offset=132
+                              local.set 5
+                              local.get 1
+                              i32.const 208
+                              i32.add
+                              i64.const 0
+                              i64.store
+                              local.get 1
+                              i32.const 200
+                              i32.add
+                              i64.const 0
+                              i64.store
+                              local.get 1
+                              i32.const 184
+                              i32.add
+                              i32.const 8
+                              i32.add
+                              i64.const 0
+                              i64.store
+                              local.get 1
+                              i64.const 0
+                              i64.store offset=184
+                              local.get 4
+                              local.get 5
+                              local.get 3
+                              local.get 1
+                              i32.const 184
+                              i32.add
+                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
+                              local.get 1
+                              i32.load offset=184
+                              local.set 0
+                              local.get 1
+                              i32.const 128
+                              i32.add
+                              i32.const 12
+                              i32.add
+                              local.get 5
+                              local.get 3
+                              local.get 1
+                              i32.load offset=128
+                              i32.load offset=16
+                              call_indirect (type 0)
+                              local.get 1
+                              local.get 0
+                              i32.store offset=248
+                              local.get 1
+                              i32.const 184
+                              i32.add
+                              local.get 1
+                              i32.const 248
+                              i32.add
+                              i32.const 4
+                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                              local.get 1
+                              i32.const 40
+                              i32.add
+                              local.get 1
+                              i32.const 184
+                              i32.add
+                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
+                              local.set 3
+                              local.get 1
+                              i32.const 184
+                              i32.add
+                              i32.const 12
+                              i32.add
+                              local.get 1
+                              i32.load offset=188
+                              local.get 1
+                              i32.load offset=192
+                              local.get 1
+                              i32.load offset=184
+                              i32.load offset=16
+                              call_indirect (type 0)
+                              local.get 2
+                              local.get 2
+                              i32.load offset=8
+                              local.tee 5
+                              i32.const -1
+                              i32.add
+                              i32.store offset=8
+                              block  ;; label = @14
+                                block  ;; label = @15
+                                  block  ;; label = @16
+                                    block  ;; label = @17
+                                      block  ;; label = @18
+                                        block  ;; label = @19
+                                          block  ;; label = @20
+                                            block  ;; label = @21
+                                              block  ;; label = @22
+                                                block  ;; label = @23
+                                                  block  ;; label = @24
+                                                    block  ;; label = @25
+                                                      block  ;; label = @26
+                                                        block  ;; label = @27
+                                                          block  ;; label = @28
+                                                            block  ;; label = @29
+                                                              local.get 3
+                                                              br_if 0 (;@29;)
+                                                              local.get 5
+                                                              i32.const 0
+                                                              i32.le_s
+                                                              br_if 1 (;@28;)
+                                                              local.get 2
+                                                              local.get 5
+                                                              i32.store offset=8
+                                                              local.get 1
+                                                              i32.const 128
+                                                              i32.add
+                                                              i32.const 1049495
+                                                              i32.const 13
+                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                                                              local.get 1
+                                                              i32.load offset=136
+                                                              local.set 3
+                                                              local.get 1
+                                                              i32.load offset=132
+                                                              local.set 5
+                                                              local.get 1
+                                                              i32.const 208
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i32.const 200
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              i32.const 8
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i64.const 0
+                                                              i64.store offset=184
+                                                              local.get 4
+                                                              local.get 5
+                                                              local.get 3
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
+                                                              local.get 1
+                                                              i32.load offset=184
+                                                              local.set 0
+                                                              local.get 1
+                                                              i32.const 128
+                                                              i32.add
+                                                              i32.const 12
+                                                              i32.add
+                                                              local.get 5
+                                                              local.get 3
+                                                              local.get 1
+                                                              i32.load offset=128
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 1
+                                                              local.get 0
+                                                              i32.store offset=248
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.const 248
+                                                              i32.add
+                                                              i32.const 4
+                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                                                              local.get 1
+                                                              i32.const 40
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
+                                                              local.set 3
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              i32.const 12
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.load offset=188
+                                                              local.get 1
+                                                              i32.load offset=192
+                                                              local.get 1
+                                                              i32.load offset=184
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 2
+                                                              local.get 2
+                                                              i32.load offset=8
+                                                              local.tee 5
+                                                              i32.const -1
+                                                              i32.add
+                                                              i32.store offset=8
+                                                              local.get 3
+                                                              br_if 2 (;@27;)
+                                                              local.get 5
+                                                              i32.const 0
+                                                              i32.le_s
+                                                              br_if 3 (;@26;)
+                                                              local.get 2
+                                                              local.get 5
+                                                              i32.store offset=8
+                                                              local.get 1
+                                                              i32.const 128
+                                                              i32.add
+                                                              i32.const 1049508
+                                                              i32.const 18
+                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                                                              local.get 1
+                                                              i32.load offset=136
+                                                              local.set 3
+                                                              local.get 1
+                                                              i32.load offset=132
+                                                              local.set 5
+                                                              local.get 1
+                                                              i32.const 208
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i32.const 200
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              i32.const 8
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i64.const 0
+                                                              i64.store offset=184
+                                                              local.get 4
+                                                              local.get 5
+                                                              local.get 3
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
+                                                              local.get 1
+                                                              i32.load offset=184
+                                                              local.set 0
+                                                              local.get 1
+                                                              i32.const 128
+                                                              i32.add
+                                                              i32.const 12
+                                                              i32.add
+                                                              local.get 5
+                                                              local.get 3
+                                                              local.get 1
+                                                              i32.load offset=128
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 1
+                                                              local.get 0
+                                                              i32.store offset=248
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.const 248
+                                                              i32.add
+                                                              i32.const 4
+                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                                                              local.get 1
+                                                              i32.const 40
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
+                                                              local.set 3
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              i32.const 12
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.load offset=188
+                                                              local.get 1
+                                                              i32.load offset=192
+                                                              local.get 1
+                                                              i32.load offset=184
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 2
+                                                              local.get 2
+                                                              i32.load offset=8
+                                                              local.tee 5
+                                                              i32.const -1
+                                                              i32.add
+                                                              i32.store offset=8
+                                                              local.get 3
+                                                              br_if 4 (;@25;)
+                                                              local.get 5
+                                                              i32.const 0
+                                                              i32.le_s
+                                                              br_if 5 (;@24;)
+                                                              local.get 2
+                                                              local.get 5
+                                                              i32.store offset=8
+                                                              local.get 1
+                                                              i32.const 128
+                                                              i32.add
+                                                              i32.const 1049526
+                                                              i32.const 25
+                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                                                              local.get 1
+                                                              i32.load offset=136
+                                                              local.set 3
+                                                              local.get 1
+                                                              i32.load offset=132
+                                                              local.set 5
+                                                              local.get 1
+                                                              i32.const 208
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i32.const 200
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              i32.const 8
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i64.const 0
+                                                              i64.store offset=184
+                                                              local.get 4
+                                                              local.get 5
+                                                              local.get 3
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
+                                                              local.get 1
+                                                              i32.load offset=184
+                                                              local.set 0
+                                                              local.get 1
+                                                              i32.const 128
+                                                              i32.add
+                                                              i32.const 12
+                                                              i32.add
+                                                              local.get 5
+                                                              local.get 3
+                                                              local.get 1
+                                                              i32.load offset=128
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 1
+                                                              local.get 0
+                                                              i32.store offset=248
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.const 248
+                                                              i32.add
+                                                              i32.const 4
+                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                                                              local.get 1
+                                                              i32.const 40
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
+                                                              local.set 3
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              i32.const 12
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.load offset=188
+                                                              local.get 1
+                                                              i32.load offset=192
+                                                              local.get 1
+                                                              i32.load offset=184
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 2
+                                                              local.get 2
+                                                              i32.load offset=8
+                                                              local.tee 5
+                                                              i32.const -1
+                                                              i32.add
+                                                              i32.store offset=8
+                                                              local.get 3
+                                                              br_if 6 (;@23;)
+                                                              local.get 5
+                                                              i32.const 0
+                                                              i32.le_s
+                                                              br_if 7 (;@22;)
+                                                              local.get 2
+                                                              local.get 5
+                                                              i32.store offset=8
+                                                              local.get 1
+                                                              i32.const 128
+                                                              i32.add
+                                                              i32.const 1049551
+                                                              i32.const 26
+                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                                                              local.get 1
+                                                              i32.load offset=136
+                                                              local.set 3
+                                                              local.get 1
+                                                              i32.load offset=132
+                                                              local.set 5
+                                                              local.get 1
+                                                              i32.const 208
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i32.const 200
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i32.const 192
+                                                              i32.add
+                                                              i64.const 0
+                                                              i64.store
+                                                              local.get 1
+                                                              i64.const 0
+                                                              i64.store offset=184
+                                                              local.get 4
+                                                              local.get 5
+                                                              local.get 3
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
+                                                              local.get 1
+                                                              i32.load offset=184
+                                                              local.set 0
+                                                              local.get 1
+                                                              i32.const 128
+                                                              i32.add
+                                                              i32.const 12
+                                                              i32.add
+                                                              local.get 5
+                                                              local.get 3
+                                                              local.get 1
+                                                              i32.load offset=128
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 1
+                                                              local.get 0
+                                                              i32.store offset=248
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.const 248
+                                                              i32.add
+                                                              i32.const 4
+                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+                                                              local.get 1
+                                                              i32.const 40
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
+                                                              local.set 3
+                                                              local.get 1
+                                                              i32.const 184
+                                                              i32.add
+                                                              i32.const 12
+                                                              i32.add
+                                                              local.get 1
+                                                              i32.load offset=188
+                                                              local.get 1
+                                                              i32.load offset=192
+                                                              local.get 1
+                                                              i32.load offset=184
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 2
+                                                              local.get 2
+                                                              i32.load offset=8
+                                                              local.tee 5
+                                                              i32.const -1
+                                                              i32.add
+                                                              i32.store offset=8
+                                                              local.get 3
+                                                              br_if 8 (;@21;)
+                                                              local.get 5
+                                                              i32.const 0
+                                                              i32.le_s
+                                                              br_if 9 (;@20;)
+                                                              local.get 2
+                                                              local.get 5
+                                                              i32.store offset=8
+                                                              local.get 4
+                                                              local.get 1
+                                                              i32.const 40
+                                                              i32.add
+                                                              i32.const 1049577
+                                                              i32.const 24
+                                                              call $_ZN5erc2016erc20_dispatcher14same_signature17he85b455a9ec874d9E
+                                                              local.set 3
+                                                              local.get 2
+                                                              local.get 2
+                                                              i32.load offset=8
+                                                              local.tee 5
+                                                              i32.const -1
+                                                              i32.add
+                                                              i32.store offset=8
+                                                              local.get 3
+                                                              br_if 10 (;@19;)
+                                                              local.get 5
+                                                              i32.const 0
+                                                              i32.le_s
+                                                              br_if 11 (;@18;)
+                                                              local.get 2
+                                                              local.get 5
+                                                              i32.store offset=8
+                                                              local.get 4
+                                                              local.get 1
+                                                              i32.const 40
+                                                              i32.add
+                                                              i32.const 1049601
+                                                              i32.const 37
+                                                              call $_ZN5erc2016erc20_dispatcher14same_signature17he85b455a9ec874d9E
+                                                              local.set 3
+                                                              local.get 2
+                                                              local.get 2
+                                                              i32.load offset=8
+                                                              local.tee 5
+                                                              i32.const -1
+                                                              i32.add
+                                                              i32.store offset=8
+                                                              local.get 3
+                                                              br_if 12 (;@17;)
+                                                              local.get 5
+                                                              i32.const 0
+                                                              i32.le_s
+                                                              br_if 13 (;@16;)
+                                                              local.get 2
+                                                              local.get 5
+                                                              i32.store offset=8
+                                                              local.get 4
+                                                              local.get 1
+                                                              i32.const 40
+                                                              i32.add
+                                                              i32.const 1049638
+                                                              i32.const 21
+                                                              call $_ZN5erc2016erc20_dispatcher14same_signature17he85b455a9ec874d9E
+                                                              local.set 3
+                                                              local.get 2
+                                                              local.get 2
+                                                              i32.load offset=8
+                                                              i32.const -1
+                                                              i32.add
+                                                              i32.store offset=8
+                                                              local.get 3
+                                                              br_if 14 (;@15;)
+                                                              i32.const 1049659
+                                                              i32.const 16
+                                                              call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+                                                              unreachable
+                                                            end
+                                                            local.get 1
+                                                            i32.const 248
+                                                            i32.add
+                                                            i32.const 8
+                                                            i32.add
+                                                            local.get 1
+                                                            i32.const 24
+                                                            i32.add
+                                                            i32.const 8
+                                                            i32.add
+                                                            i64.load align=4
+                                                            i64.store
+                                                            local.get 2
+                                                            local.get 2
+                                                            i32.load
+                                                            i32.const 1
+                                                            i32.add
+                                                            local.tee 3
+                                                            i32.store
+                                                            local.get 1
+                                                            local.get 1
+                                                            i64.load offset=24 align=4
+                                                            i64.store offset=248
+                                                            local.get 1
+                                                            i32.const 0
+                                                            i32.store offset=264
+                                                            local.get 3
+                                                            i32.eqz
+                                                            br_if 18 (;@10;)
+                                                            local.get 1
+                                                            i32.const 0
+                                                            i32.store offset=168
+                                                            local.get 1
+                                                            i64.const 17179869184
+                                                            i64.store offset=160 align=4
+                                                            local.get 1
+                                                            i32.const 208
+                                                            i32.add
+                                                            i64.const 0
+                                                            i64.store align=1
+                                                            local.get 1
+                                                            i32.const 184
+                                                            i32.add
+                                                            i32.const 16
+                                                            i32.add
+                                                            i64.const 0
+                                                            i64.store align=1
+                                                            local.get 1
+                                                            i32.const 188
+                                                            i32.add
+                                                            i32.const 0
+                                                            i32.store align=1
+                                                            local.get 1
+                                                            i64.const 0
+                                                            i64.store offset=192 align=1
+                                                            local.get 1
+                                                            i32.const 0
+                                                            i32.store offset=185 align=1
+                                                            local.get 1
+                                                            i32.const 18
+                                                            i32.store8 offset=184
+                                                            local.get 1
+                                                            i32.const 128
+                                                            i32.add
+                                                            local.get 1
+                                                            i32.const 184
+                                                            i32.add
+                                                            call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
+                                                            local.get 1
+                                                            i32.const 160
+                                                            i32.add
+                                                            call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+                                                            local.get 1
+                                                            i32.load offset=164
+                                                            local.tee 3
+                                                            local.get 1
+                                                            i64.load offset=128 align=4
+                                                            i64.store align=4
+                                                            local.get 3
+                                                            i32.const 8
+                                                            i32.add
+                                                            local.get 1
+                                                            i32.const 128
+                                                            i32.add
+                                                            i32.const 8
+                                                            i32.add
+                                                            i64.load align=4
+                                                            i64.store align=4
+                                                            local.get 3
+                                                            i32.const 16
+                                                            i32.add
+                                                            local.get 1
+                                                            i32.const 128
+                                                            i32.add
+                                                            i32.const 16
+                                                            i32.add
+                                                            i32.load
+                                                            i32.store
+                                                            local.get 1
+                                                            i32.const 1
+                                                            i32.store offset=168
+                                                            local.get 2
+                                                            i32.load offset=8
+                                                            br_if 21 (;@7;)
+                                                            local.get 2
+                                                            i32.const -1
+                                                            i32.store offset=8
+                                                            local.get 1
+                                                            i32.const 184
+                                                            i32.add
+                                                            local.get 1
+                                                            i32.const 160
+                                                            i32.add
+                                                            call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+                                                            local.get 4
+                                                            local.get 1
+                                                            i32.load offset=188
+                                                            local.tee 3
+                                                            local.get 1
+                                                            i32.load offset=192
+                                                            local.tee 5
+                                                            call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
+                                                            local.get 1
+                                                            i32.const 196
+                                                            i32.add
+                                                            local.get 3
+                                                            local.get 5
+                                                            local.get 1
+                                                            i32.load offset=184
+                                                            i32.load offset=16
+                                                            call_indirect (type 0)
+                                                            local.get 2
+                                                            local.get 2
+                                                            i32.load offset=8
+                                                            i32.const 1
+                                                            i32.add
+                                                            i32.store offset=8
+                                                            block  ;; label = @29
+                                                              local.get 1
+                                                              i32.load offset=168
+                                                              local.tee 3
+                                                              i32.eqz
+                                                              br_if 0 (;@29;)
+                                                              local.get 1
+                                                              i32.load offset=164
+                                                              local.set 0
+                                                              local.get 3
+                                                              i32.const 1
+                                                              i32.and
+                                                              local.set 6
+                                                              i32.const 0
+                                                              local.set 4
+                                                              block  ;; label = @30
+                                                                local.get 3
+                                                                i32.const 1
+                                                                i32.eq
+                                                                br_if 0 (;@30;)
+                                                                local.get 3
+                                                                i32.const -2
+                                                                i32.and
+                                                                local.set 5
+                                                                i32.const 0
+                                                                local.set 4
+                                                                local.get 0
+                                                                local.set 3
+                                                                loop  ;; label = @31
+                                                                  local.get 3
+                                                                  i32.const 16
+                                                                  i32.add
+                                                                  local.get 3
+                                                                  i32.const 8
+                                                                  i32.add
+                                                                  i32.load
+                                                                  local.get 3
+                                                                  i32.const 12
+                                                                  i32.add
+                                                                  i32.load
+                                                                  local.get 3
+                                                                  i32.const 4
+                                                                  i32.add
+                                                                  i32.load
+                                                                  i32.load offset=16
+                                                                  call_indirect (type 0)
+                                                                  local.get 3
+                                                                  i32.const 36
+                                                                  i32.add
+                                                                  local.get 3
+                                                                  i32.const 28
+                                                                  i32.add
+                                                                  i32.load
+                                                                  local.get 3
+                                                                  i32.const 32
+                                                                  i32.add
+                                                                  i32.load
+                                                                  local.get 3
+                                                                  i32.const 24
+                                                                  i32.add
+                                                                  i32.load
+                                                                  i32.load offset=16
+                                                                  call_indirect (type 0)
+                                                                  local.get 3
+                                                                  i32.const 40
+                                                                  i32.add
+                                                                  local.set 3
+                                                                  local.get 5
+                                                                  local.get 4
+                                                                  i32.const 2
+                                                                  i32.add
+                                                                  local.tee 4
+                                                                  i32.ne
+                                                                  br_if 0 (;@31;)
+                                                                end
+                                                              end
+                                                              local.get 6
+                                                              i32.eqz
+                                                              br_if 0 (;@29;)
+                                                              local.get 0
+                                                              local.get 4
+                                                              i32.const 20
+                                                              i32.mul
+                                                              i32.add
+                                                              local.tee 3
+                                                              i32.const 16
+                                                              i32.add
+                                                              local.get 3
+                                                              i32.load offset=8
+                                                              local.get 3
+                                                              i32.load offset=12
+                                                              local.get 3
+                                                              i32.load offset=4
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                            end
+                                                            block  ;; label = @29
+                                                              local.get 1
+                                                              i32.load offset=160
+                                                              local.tee 3
+                                                              i32.eqz
+                                                              br_if 0 (;@29;)
+                                                              local.get 1
+                                                              i32.load offset=164
+                                                              local.get 3
+                                                              i32.const 20
+                                                              i32.mul
+                                                              i32.const 4
+                                                              call $__rust_dealloc
+                                                            end
+                                                            local.get 2
+                                                            local.get 2
+                                                            i32.load
+                                                            i32.const -1
+                                                            i32.add
+                                                            local.tee 3
+                                                            i32.store
+                                                            block  ;; label = @29
+                                                              local.get 3
+                                                              br_if 0 (;@29;)
+                                                              local.get 2
+                                                              local.get 2
+                                                              i32.load offset=4
+                                                              i32.const -1
+                                                              i32.add
+                                                              local.tee 3
+                                                              i32.store offset=4
+                                                              local.get 3
+                                                              br_if 0 (;@29;)
+                                                              local.get 2
+                                                              i32.const 12
+                                                              i32.const 4
+                                                              call $__rust_dealloc
+                                                            end
+                                                            local.get 1
+                                                            i32.const 260
+                                                            i32.add
+                                                            local.get 1
+                                                            i32.load offset=252
+                                                            local.get 1
+                                                            i32.load offset=256
+                                                            local.get 1
+                                                            i32.load offset=248
+                                                            i32.load offset=16
+                                                            call_indirect (type 0)
+                                                            local.get 2
+                                                            local.get 2
+                                                            i32.load
+                                                            i32.const -1
+                                                            i32.add
+                                                            local.tee 3
+                                                            i32.store
+                                                            local.get 3
+                                                            br_if 14 (;@14;)
+                                                            local.get 2
+                                                            local.get 2
+                                                            i32.load offset=4
+                                                            i32.const -1
+                                                            i32.add
+                                                            local.tee 3
+                                                            i32.store offset=4
+                                                            local.get 3
+                                                            br_if 14 (;@14;)
+                                                            local.get 2
+                                                            i32.const 12
+                                                            i32.const 4
+                                                            call $__rust_dealloc
+                                                            br 14 (;@14;)
+                                                          end
+                                                          i32.const 1049796
+                                                          call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                                                          unreachable
+                                                        end
+                                                        local.get 1
+                                                        i32.const 248
+                                                        i32.add
+                                                        i32.const 8
+                                                        i32.add
+                                                        local.get 1
+                                                        i32.const 24
+                                                        i32.add
+                                                        i32.const 8
+                                                        i32.add
+                                                        i64.load align=4
+                                                        i64.store
+                                                        local.get 1
+                                                        local.get 1
+                                                        i64.load offset=24 align=4
+                                                        i64.store offset=248
+                                                        local.get 1
+                                                        i32.const 0
+                                                        i32.store offset=264
+                                                        local.get 2
+                                                        local.get 2
+                                                        i32.load
+                                                        i32.const 1
+                                                        i32.add
+                                                        local.tee 3
+                                                        i32.store
+                                                        local.get 3
+                                                        i32.eqz
+                                                        br_if 16 (;@10;)
+                                                        local.get 1
+                                                        i32.const 1049408
+                                                        i32.store offset=108
+                                                        local.get 1
+                                                        local.get 2
+                                                        i32.store offset=104
+                                                        local.get 1
+                                                        i32.const 184
+                                                        i32.add
+                                                        local.get 1
+                                                        i32.const 104
+                                                        i32.add
+                                                        call $_ZN5erc205erc205Erc2012total_supply17hfe7aaedf3a1c67e9E
+                                                        local.get 1
+                                                        i32.const 0
+                                                        i32.store offset=168
+                                                        local.get 1
+                                                        i64.const 17179869184
+                                                        i64.store offset=160 align=4
+                                                        local.get 1
+                                                        i32.const 128
+                                                        i32.add
+                                                        local.get 1
+                                                        i32.const 184
+                                                        i32.add
+                                                        call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
+                                                        local.get 1
+                                                        i32.const 160
+                                                        i32.add
+                                                        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+                                                        local.get 1
+                                                        i32.load offset=164
+                                                        local.tee 3
+                                                        local.get 1
+                                                        i64.load offset=128 align=4
+                                                        i64.store align=4
+                                                        local.get 3
+                                                        i32.const 8
+                                                        i32.add
+                                                        local.get 1
+                                                        i32.const 128
+                                                        i32.add
+                                                        i32.const 8
+                                                        i32.add
+                                                        i64.load align=4
+                                                        i64.store align=4
+                                                        local.get 3
+                                                        i32.const 16
+                                                        i32.add
+                                                        local.get 1
+                                                        i32.const 128
+                                                        i32.add
+                                                        i32.const 16
+                                                        i32.add
+                                                        i32.load
+                                                        i32.store
+                                                        local.get 1
+                                                        i32.const 1
+                                                        i32.store offset=168
+                                                        local.get 2
+                                                        i32.load offset=8
+                                                        br_if 20 (;@6;)
+                                                        local.get 2
+                                                        i32.const -1
+                                                        i32.store offset=8
+                                                        local.get 1
+                                                        i32.const 184
+                                                        i32.add
+                                                        local.get 1
+                                                        i32.const 160
+                                                        i32.add
+                                                        call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+                                                        local.get 4
+                                                        local.get 1
+                                                        i32.load offset=188
+                                                        local.tee 3
+                                                        local.get 1
+                                                        i32.load offset=192
+                                                        local.tee 5
+                                                        call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
+                                                        local.get 1
+                                                        i32.const 196
+                                                        i32.add
+                                                        local.get 3
+                                                        local.get 5
+                                                        local.get 1
+                                                        i32.load offset=184
+                                                        i32.load offset=16
+                                                        call_indirect (type 0)
+                                                        local.get 2
+                                                        local.get 2
+                                                        i32.load offset=8
+                                                        i32.const 1
+                                                        i32.add
+                                                        i32.store offset=8
+                                                        block  ;; label = @27
+                                                          local.get 1
+                                                          i32.load offset=168
+                                                          local.tee 3
+                                                          i32.eqz
+                                                          br_if 0 (;@27;)
+                                                          local.get 1
+                                                          i32.load offset=164
+                                                          local.set 0
+                                                          local.get 3
+                                                          i32.const 1
+                                                          i32.and
+                                                          local.set 6
+                                                          i32.const 0
+                                                          local.set 4
+                                                          block  ;; label = @28
+                                                            local.get 3
+                                                            i32.const 1
+                                                            i32.eq
+                                                            br_if 0 (;@28;)
+                                                            local.get 3
+                                                            i32.const -2
+                                                            i32.and
+                                                            local.set 5
+                                                            i32.const 0
+                                                            local.set 4
+                                                            local.get 0
+                                                            local.set 3
+                                                            loop  ;; label = @29
+                                                              local.get 3
+                                                              i32.const 16
+                                                              i32.add
+                                                              local.get 3
+                                                              i32.const 8
+                                                              i32.add
+                                                              i32.load
+                                                              local.get 3
+                                                              i32.const 12
+                                                              i32.add
+                                                              i32.load
+                                                              local.get 3
+                                                              i32.const 4
+                                                              i32.add
+                                                              i32.load
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 3
+                                                              i32.const 36
+                                                              i32.add
+                                                              local.get 3
+                                                              i32.const 28
+                                                              i32.add
+                                                              i32.load
+                                                              local.get 3
+                                                              i32.const 32
+                                                              i32.add
+                                                              i32.load
+                                                              local.get 3
+                                                              i32.const 24
+                                                              i32.add
+                                                              i32.load
+                                                              i32.load offset=16
+                                                              call_indirect (type 0)
+                                                              local.get 3
+                                                              i32.const 40
+                                                              i32.add
+                                                              local.set 3
+                                                              local.get 5
+                                                              local.get 4
+                                                              i32.const 2
+                                                              i32.add
+                                                              local.tee 4
+                                                              i32.ne
+                                                              br_if 0 (;@29;)
+                                                            end
+                                                          end
+                                                          local.get 6
+                                                          i32.eqz
+                                                          br_if 0 (;@27;)
+                                                          local.get 0
+                                                          local.get 4
+                                                          i32.const 20
+                                                          i32.mul
+                                                          i32.add
+                                                          local.tee 3
+                                                          i32.const 16
+                                                          i32.add
+                                                          local.get 3
+                                                          i32.load offset=8
+                                                          local.get 3
+                                                          i32.load offset=12
+                                                          local.get 3
+                                                          i32.load offset=4
+                                                          i32.load offset=16
+                                                          call_indirect (type 0)
+                                                        end
+                                                        block  ;; label = @27
+                                                          local.get 1
+                                                          i32.load offset=160
+                                                          local.tee 3
+                                                          i32.eqz
+                                                          br_if 0 (;@27;)
+                                                          local.get 1
+                                                          i32.load offset=164
+                                                          local.get 3
+                                                          i32.const 20
+                                                          i32.mul
+                                                          i32.const 4
+                                                          call $__rust_dealloc
+                                                        end
+                                                        local.get 2
+                                                        local.get 2
+                                                        i32.load
+                                                        i32.const -1
+                                                        i32.add
+                                                        local.tee 3
+                                                        i32.store
+                                                        block  ;; label = @27
+                                                          local.get 3
+                                                          br_if 0 (;@27;)
+                                                          local.get 2
+                                                          local.get 2
+                                                          i32.load offset=4
+                                                          i32.const -1
+                                                          i32.add
+                                                          local.tee 3
+                                                          i32.store offset=4
+                                                          local.get 3
+                                                          br_if 0 (;@27;)
+                                                          local.get 2
+                                                          i32.const 12
+                                                          i32.const 4
+                                                          call $__rust_dealloc
+                                                        end
+                                                        local.get 1
+                                                        i32.const 260
+                                                        i32.add
+                                                        local.get 1
+                                                        i32.load offset=252
+                                                        local.get 1
+                                                        i32.load offset=256
+                                                        local.get 1
+                                                        i32.load offset=248
+                                                        i32.load offset=16
+                                                        call_indirect (type 0)
+                                                        local.get 2
+                                                        local.get 2
+                                                        i32.load
+                                                        i32.const -1
+                                                        i32.add
+                                                        local.tee 3
+                                                        i32.store
+                                                        local.get 3
+                                                        br_if 12 (;@14;)
+                                                        local.get 2
+                                                        local.get 2
+                                                        i32.load offset=4
+                                                        i32.const -1
+                                                        i32.add
+                                                        local.tee 3
+                                                        i32.store offset=4
+                                                        local.get 3
+                                                        br_if 12 (;@14;)
+                                                        local.get 2
+                                                        i32.const 12
+                                                        i32.const 4
+                                                        call $__rust_dealloc
+                                                        br 12 (;@14;)
+                                                      end
+                                                      i32.const 1049780
+                                                      call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                                                      unreachable
+                                                    end
+                                                    local.get 1
+                                                    i32.const 104
+                                                    i32.add
+                                                    i32.const 8
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 24
+                                                    i32.add
+                                                    i32.const 8
+                                                    i32.add
+                                                    i64.load align=4
+                                                    local.tee 7
+                                                    i64.store
+                                                    local.get 1
+                                                    local.get 1
+                                                    i64.load offset=24 align=4
+                                                    i64.store offset=104
+                                                    local.get 1
+                                                    i32.const 0
+                                                    i32.store offset=120
+                                                    local.get 1
+                                                    local.get 7
+                                                    i32.wrap_i64
+                                                    local.tee 3
+                                                    i32.store offset=160
+                                                    local.get 1
+                                                    i32.const 32
+                                                    i32.store offset=248
+                                                    local.get 3
+                                                    i32.const 31
+                                                    i32.le_u
+                                                    br_if 19 (;@5;)
+                                                    local.get 1
+                                                    i32.const 272
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 116
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.load offset=108
+                                                    local.get 3
+                                                    local.get 1
+                                                    i32.load offset=104
+                                                    i32.load
+                                                    call_indirect (type 2)
+                                                    local.get 1
+                                                    i32.const 32
+                                                    i32.store offset=280
+                                                    local.get 1
+                                                    i32.const 184
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 272
+                                                    i32.add
+                                                    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
+                                                    local.get 1
+                                                    i32.const 212
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 104
+                                                    i32.add
+                                                    i32.const 8
+                                                    i32.add
+                                                    i64.load
+                                                    local.tee 7
+                                                    i64.store align=4
+                                                    local.get 1
+                                                    i32.const 32
+                                                    i32.store offset=220
+                                                    local.get 1
+                                                    local.get 1
+                                                    i64.load offset=104
+                                                    local.tee 8
+                                                    i64.store offset=204 align=4
+                                                    local.get 1
+                                                    i32.const 160
+                                                    i32.add
+                                                    i32.const 16
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 184
+                                                    i32.add
+                                                    i32.const 16
+                                                    i32.add
+                                                    i32.load
+                                                    i32.store
+                                                    local.get 1
+                                                    i32.const 160
+                                                    i32.add
+                                                    i32.const 8
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 184
+                                                    i32.add
+                                                    i32.const 8
+                                                    i32.add
+                                                    i64.load align=4
+                                                    i64.store
+                                                    local.get 1
+                                                    local.get 1
+                                                    i64.load offset=184 align=4
+                                                    i64.store offset=160
+                                                    local.get 1
+                                                    i32.const 248
+                                                    i32.add
+                                                    i32.const 16
+                                                    i32.add
+                                                    i32.const 32
+                                                    i32.store
+                                                    local.get 1
+                                                    i32.const 248
+                                                    i32.add
+                                                    i32.const 8
+                                                    i32.add
+                                                    local.get 7
+                                                    i64.store
+                                                    local.get 1
+                                                    local.get 8
+                                                    i64.store offset=248
+                                                    local.get 2
+                                                    local.get 2
+                                                    i32.load
+                                                    i32.const 1
+                                                    i32.add
+                                                    local.tee 3
+                                                    i32.store
+                                                    local.get 3
+                                                    i32.eqz
+                                                    br_if 14 (;@10;)
+                                                    local.get 1
+                                                    i32.const 1049408
+                                                    i32.store offset=60
+                                                    local.get 1
+                                                    local.get 2
+                                                    i32.store offset=56
+                                                    local.get 1
+                                                    i32.const 184
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 56
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 160
+                                                    i32.add
+                                                    call $_ZN5erc205erc205Erc2010balance_of17h30b9a5b4c7c2e770E
+                                                    local.get 1
+                                                    i32.const 0
+                                                    i32.store offset=88
+                                                    local.get 1
+                                                    i64.const 17179869184
+                                                    i64.store offset=80 align=4
+                                                    local.get 1
+                                                    i32.const 128
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 184
+                                                    i32.add
+                                                    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
+                                                    local.get 1
+                                                    i32.const 80
+                                                    i32.add
+                                                    call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+                                                    local.get 1
+                                                    i32.load offset=84
+                                                    local.tee 3
+                                                    local.get 1
+                                                    i64.load offset=128 align=4
+                                                    i64.store align=4
+                                                    local.get 3
+                                                    i32.const 8
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 128
+                                                    i32.add
+                                                    i32.const 8
+                                                    i32.add
+                                                    i64.load align=4
+                                                    i64.store align=4
+                                                    local.get 3
+                                                    i32.const 16
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 128
+                                                    i32.add
+                                                    i32.const 16
+                                                    i32.add
+                                                    i32.load
+                                                    i32.store
+                                                    local.get 1
+                                                    i32.const 1
+                                                    i32.store offset=88
+                                                    local.get 2
+                                                    i32.load offset=8
+                                                    br_if 20 (;@4;)
+                                                    local.get 2
+                                                    i32.const -1
+                                                    i32.store offset=8
+                                                    local.get 1
+                                                    i32.const 184
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.const 80
+                                                    i32.add
+                                                    call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+                                                    local.get 4
+                                                    local.get 1
+                                                    i32.load offset=188
+                                                    local.tee 3
+                                                    local.get 1
+                                                    i32.load offset=192
+                                                    local.tee 5
+                                                    call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
+                                                    local.get 1
+                                                    i32.const 196
+                                                    i32.add
+                                                    local.get 3
+                                                    local.get 5
+                                                    local.get 1
+                                                    i32.load offset=184
+                                                    i32.load offset=16
+                                                    call_indirect (type 0)
+                                                    local.get 2
+                                                    local.get 2
+                                                    i32.load offset=8
+                                                    i32.const 1
+                                                    i32.add
+                                                    i32.store offset=8
+                                                    block  ;; label = @25
+                                                      local.get 1
+                                                      i32.load offset=88
+                                                      local.tee 3
+                                                      i32.eqz
+                                                      br_if 0 (;@25;)
+                                                      local.get 1
+                                                      i32.load offset=84
+                                                      local.set 0
+                                                      local.get 3
+                                                      i32.const 1
+                                                      i32.and
+                                                      local.set 6
+                                                      i32.const 0
+                                                      local.set 4
+                                                      block  ;; label = @26
+                                                        local.get 3
+                                                        i32.const 1
+                                                        i32.eq
+                                                        br_if 0 (;@26;)
+                                                        local.get 3
+                                                        i32.const -2
+                                                        i32.and
+                                                        local.set 5
+                                                        i32.const 0
+                                                        local.set 4
+                                                        local.get 0
+                                                        local.set 3
+                                                        loop  ;; label = @27
+                                                          local.get 3
+                                                          i32.const 16
+                                                          i32.add
+                                                          local.get 3
+                                                          i32.const 8
+                                                          i32.add
+                                                          i32.load
+                                                          local.get 3
+                                                          i32.const 12
+                                                          i32.add
+                                                          i32.load
+                                                          local.get 3
+                                                          i32.const 4
+                                                          i32.add
+                                                          i32.load
+                                                          i32.load offset=16
+                                                          call_indirect (type 0)
+                                                          local.get 3
+                                                          i32.const 36
+                                                          i32.add
+                                                          local.get 3
+                                                          i32.const 28
+                                                          i32.add
+                                                          i32.load
+                                                          local.get 3
+                                                          i32.const 32
+                                                          i32.add
+                                                          i32.load
+                                                          local.get 3
+                                                          i32.const 24
+                                                          i32.add
+                                                          i32.load
+                                                          i32.load offset=16
+                                                          call_indirect (type 0)
+                                                          local.get 3
+                                                          i32.const 40
+                                                          i32.add
+                                                          local.set 3
+                                                          local.get 5
+                                                          local.get 4
+                                                          i32.const 2
+                                                          i32.add
+                                                          local.tee 4
+                                                          i32.ne
+                                                          br_if 0 (;@27;)
+                                                        end
+                                                      end
+                                                      local.get 6
+                                                      i32.eqz
+                                                      br_if 0 (;@25;)
+                                                      local.get 0
+                                                      local.get 4
+                                                      i32.const 20
+                                                      i32.mul
+                                                      i32.add
+                                                      local.tee 3
+                                                      i32.const 16
+                                                      i32.add
+                                                      local.get 3
+                                                      i32.load offset=8
+                                                      local.get 3
+                                                      i32.load offset=12
+                                                      local.get 3
+                                                      i32.load offset=4
+                                                      i32.load offset=16
+                                                      call_indirect (type 0)
+                                                    end
+                                                    block  ;; label = @25
+                                                      local.get 1
+                                                      i32.load offset=80
+                                                      local.tee 3
+                                                      i32.eqz
+                                                      br_if 0 (;@25;)
+                                                      local.get 1
+                                                      i32.load offset=84
+                                                      local.get 3
+                                                      i32.const 20
+                                                      i32.mul
+                                                      i32.const 4
+                                                      call $__rust_dealloc
+                                                    end
+                                                    local.get 2
+                                                    local.get 2
+                                                    i32.load
+                                                    i32.const -1
+                                                    i32.add
+                                                    local.tee 3
+                                                    i32.store
+                                                    block  ;; label = @25
+                                                      local.get 3
+                                                      br_if 0 (;@25;)
+                                                      local.get 2
+                                                      local.get 2
+                                                      i32.load offset=4
+                                                      i32.const -1
+                                                      i32.add
+                                                      local.tee 3
+                                                      i32.store offset=4
+                                                      local.get 3
+                                                      br_if 0 (;@25;)
+                                                      local.get 2
+                                                      i32.const 12
+                                                      i32.const 4
+                                                      call $__rust_dealloc
+                                                    end
+                                                    local.get 1
+                                                    i32.const 260
+                                                    i32.add
+                                                    local.get 1
+                                                    i32.load offset=252
+                                                    local.get 1
+                                                    i32.load offset=256
+                                                    local.get 1
+                                                    i32.load offset=248
+                                                    i32.load offset=16
+                                                    call_indirect (type 0)
+                                                    local.get 2
+                                                    local.get 2
+                                                    i32.load
+                                                    i32.const -1
+                                                    i32.add
+                                                    local.tee 3
+                                                    i32.store
+                                                    local.get 3
+                                                    br_if 10 (;@14;)
+                                                    local.get 2
+                                                    local.get 2
+                                                    i32.load offset=4
+                                                    i32.const -1
+                                                    i32.add
+                                                    local.tee 3
+                                                    i32.store offset=4
+                                                    local.get 3
+                                                    br_if 10 (;@14;)
+                                                    local.get 2
+                                                    i32.const 12
+                                                    i32.const 4
+                                                    call $__rust_dealloc
+                                                    br 10 (;@14;)
+                                                  end
+                                                  i32.const 1049764
+                                                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                                                  unreachable
+                                                end
+                                                local.get 1
+                                                i32.const 56
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                local.get 1
+                                                i32.const 24
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                i64.load align=4
+                                                local.tee 7
+                                                i64.store
+                                                local.get 1
+                                                local.get 1
+                                                i64.load offset=24 align=4
+                                                i64.store offset=56
+                                                local.get 1
+                                                i32.const 0
+                                                i32.store offset=72
+                                                local.get 1
+                                                local.get 7
+                                                i32.wrap_i64
+                                                local.tee 3
+                                                i32.store offset=160
+                                                local.get 1
+                                                i32.const 32
+                                                i32.store offset=248
+                                                local.get 3
+                                                i32.const 31
+                                                i32.le_u
+                                                br_if 19 (;@3;)
+                                                local.get 1
+                                                i32.const 288
+                                                i32.add
+                                                local.get 1
+                                                i32.const 68
+                                                i32.add
+                                                local.get 1
+                                                i32.load offset=60
+                                                local.get 3
+                                                local.get 1
+                                                i32.load offset=56
+                                                i32.load
+                                                call_indirect (type 2)
+                                                local.get 1
+                                                i32.const 32
+                                                i32.store offset=296
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                local.get 1
+                                                i32.const 288
+                                                i32.add
+                                                call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
+                                                local.get 1
+                                                i32.const 212
+                                                i32.add
+                                                local.get 1
+                                                i32.const 56
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                i64.load
+                                                local.tee 7
+                                                i64.store align=4
+                                                local.get 1
+                                                i32.const 104
+                                                i32.add
+                                                i32.const 16
+                                                i32.add
+                                                i32.const 32
+                                                i32.store
+                                                local.get 1
+                                                i32.const 104
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                local.tee 3
+                                                local.get 7
+                                                i64.store
+                                                local.get 1
+                                                i32.const 32
+                                                i32.store offset=220
+                                                local.get 1
+                                                local.get 1
+                                                i64.load offset=56
+                                                local.tee 7
+                                                i64.store offset=204 align=4
+                                                local.get 1
+                                                i32.const 80
+                                                i32.add
+                                                i32.const 16
+                                                i32.add
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                i32.const 16
+                                                i32.add
+                                                local.tee 5
+                                                i32.load
+                                                i32.store
+                                                local.get 1
+                                                i32.const 80
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                local.tee 0
+                                                i64.load align=4
+                                                i64.store
+                                                local.get 1
+                                                local.get 7
+                                                i64.store offset=104
+                                                local.get 1
+                                                local.get 1
+                                                i64.load offset=184 align=4
+                                                i64.store offset=80
+                                                local.get 1
+                                                i32.const 128
+                                                i32.add
+                                                local.get 1
+                                                i32.const 104
+                                                i32.add
+                                                i32.const 32
+                                                i32.const 64
+                                                call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                local.get 1
+                                                i32.const 128
+                                                i32.add
+                                                call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E
+                                                local.get 1
+                                                i32.const 224
+                                                i32.add
+                                                local.get 3
+                                                i64.load
+                                                local.tee 7
+                                                i64.store align=4
+                                                local.get 1
+                                                local.get 1
+                                                i64.load offset=104
+                                                local.tee 8
+                                                i64.store offset=216 align=4
+                                                local.get 1
+                                                i32.const 64
+                                                i32.store offset=232
+                                                local.get 1
+                                                i32.const 128
+                                                i32.add
+                                                i32.const 24
+                                                i32.add
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                i32.const 24
+                                                i32.add
+                                                i64.load align=4
+                                                i64.store
+                                                local.get 1
+                                                i32.const 128
+                                                i32.add
+                                                i32.const 16
+                                                i32.add
+                                                local.get 5
+                                                i64.load align=4
+                                                i64.store
+                                                local.get 1
+                                                i32.const 128
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                local.get 0
+                                                i64.load align=4
+                                                i64.store
+                                                local.get 1
+                                                local.get 1
+                                                i64.load offset=184 align=4
+                                                i64.store offset=128
+                                                local.get 1
+                                                i32.const 160
+                                                i32.add
+                                                i32.const 16
+                                                i32.add
+                                                i32.const 64
+                                                i32.store
+                                                local.get 1
+                                                i32.const 160
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                local.get 7
+                                                i64.store
+                                                local.get 1
+                                                local.get 8
+                                                i64.store offset=160
+                                                local.get 2
+                                                local.get 2
+                                                i32.load
+                                                i32.const 1
+                                                i32.add
+                                                local.tee 3
+                                                i32.store
+                                                local.get 3
+                                                i32.eqz
+                                                br_if 12 (;@10;)
+                                                local.get 2
+                                                i32.load offset=8
+                                                local.tee 3
+                                                i32.const 2147483647
+                                                i32.ge_u
+                                                br_if 20 (;@2;)
+                                                local.get 2
+                                                local.get 3
+                                                i32.const 1
+                                                i32.add
+                                                i32.store offset=8
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                i32.const 16
+                                                i32.add
+                                                local.tee 3
+                                                i32.const 0
+                                                i32.store
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                local.tee 5
+                                                i64.const 0
+                                                i64.store
+                                                local.get 1
+                                                i64.const 0
+                                                i64.store offset=184
+                                                local.get 4
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$6caller17h6e5bbf9110a580a2E
+                                                local.get 1
+                                                i32.const 248
+                                                i32.add
+                                                i32.const 16
+                                                i32.add
+                                                local.tee 0
+                                                local.get 3
+                                                i32.load
+                                                i32.store
+                                                local.get 1
+                                                i32.const 248
+                                                i32.add
+                                                i32.const 8
+                                                i32.add
+                                                local.tee 6
+                                                local.get 5
+                                                i64.load
+                                                i64.store
+                                                local.get 1
+                                                local.get 1
+                                                i64.load offset=184
+                                                i64.store offset=248
+                                                local.get 2
+                                                local.get 2
+                                                i32.load offset=8
+                                                i32.const -1
+                                                i32.add
+                                                i32.store offset=8
+                                                local.get 2
+                                                i32.const 1049408
+                                                local.get 1
+                                                i32.const 248
+                                                i32.add
+                                                local.get 1
+                                                i32.const 80
+                                                i32.add
+                                                local.get 1
+                                                i32.const 128
+                                                i32.add
+                                                call $_ZN5erc205erc205Erc209_transfer17h2686357d78aa1243E.llvm.12425491971175694154
+                                                local.get 1
+                                                i32.const 0
+                                                i32.store offset=244
+                                                local.get 1
+                                                i64.const 17179869184
+                                                i64.store offset=236 align=4
+                                                local.get 1
+                                                i32.const 208
+                                                i32.add
+                                                i64.const 0
+                                                i64.store
+                                                local.get 3
+                                                i64.const 0
+                                                i64.store
+                                                local.get 5
+                                                i64.const 0
+                                                i64.store
+                                                local.get 1
+                                                i64.const 0
+                                                i64.store offset=184
+                                                local.get 1
+                                                i32.const 248
+                                                i32.add
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
+                                                local.get 1
+                                                i32.const 236
+                                                i32.add
+                                                call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+                                                local.get 1
+                                                i32.load offset=240
+                                                local.tee 3
+                                                local.get 1
+                                                i64.load offset=248 align=4
+                                                i64.store align=4
+                                                local.get 3
+                                                i32.const 8
+                                                i32.add
+                                                local.get 6
+                                                i64.load align=4
+                                                i64.store align=4
+                                                local.get 3
+                                                i32.const 16
+                                                i32.add
+                                                local.get 0
+                                                i32.load
+                                                i32.store
+                                                local.get 1
+                                                i32.const 1
+                                                i32.store offset=244
+                                                local.get 2
+                                                i32.load offset=8
+                                                br_if 21 (;@1;)
+                                                local.get 2
+                                                i32.const -1
+                                                i32.store offset=8
+                                                local.get 1
+                                                i32.const 184
+                                                i32.add
+                                                local.get 1
+                                                i32.const 236
+                                                i32.add
+                                                call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+                                                local.get 4
+                                                local.get 1
+                                                i32.load offset=188
+                                                local.tee 3
+                                                local.get 1
+                                                i32.load offset=192
+                                                local.tee 5
+                                                call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
+                                                local.get 1
+                                                i32.const 196
+                                                i32.add
+                                                local.get 3
+                                                local.get 5
+                                                local.get 1
+                                                i32.load offset=184
+                                                i32.load offset=16
+                                                call_indirect (type 0)
+                                                local.get 2
+                                                local.get 2
+                                                i32.load offset=8
+                                                i32.const 1
+                                                i32.add
+                                                i32.store offset=8
+                                                block  ;; label = @23
+                                                  local.get 1
+                                                  i32.load offset=244
+                                                  local.tee 3
+                                                  i32.eqz
+                                                  br_if 0 (;@23;)
+                                                  local.get 1
+                                                  i32.load offset=240
+                                                  local.set 0
+                                                  local.get 3
+                                                  i32.const 1
+                                                  i32.and
+                                                  local.set 6
+                                                  i32.const 0
+                                                  local.set 4
+                                                  block  ;; label = @24
+                                                    local.get 3
+                                                    i32.const 1
+                                                    i32.eq
+                                                    br_if 0 (;@24;)
+                                                    local.get 3
+                                                    i32.const -2
+                                                    i32.and
+                                                    local.set 5
+                                                    i32.const 0
+                                                    local.set 4
+                                                    local.get 0
+                                                    local.set 3
+                                                    loop  ;; label = @25
+                                                      local.get 3
+                                                      i32.const 16
+                                                      i32.add
+                                                      local.get 3
+                                                      i32.const 8
+                                                      i32.add
+                                                      i32.load
+                                                      local.get 3
+                                                      i32.const 12
+                                                      i32.add
+                                                      i32.load
+                                                      local.get 3
+                                                      i32.const 4
+                                                      i32.add
+                                                      i32.load
+                                                      i32.load offset=16
+                                                      call_indirect (type 0)
+                                                      local.get 3
+                                                      i32.const 36
+                                                      i32.add
+                                                      local.get 3
+                                                      i32.const 28
+                                                      i32.add
+                                                      i32.load
+                                                      local.get 3
+                                                      i32.const 32
+                                                      i32.add
+                                                      i32.load
+                                                      local.get 3
+                                                      i32.const 24
+                                                      i32.add
+                                                      i32.load
+                                                      i32.load offset=16
+                                                      call_indirect (type 0)
+                                                      local.get 3
+                                                      i32.const 40
+                                                      i32.add
+                                                      local.set 3
+                                                      local.get 5
+                                                      local.get 4
+                                                      i32.const 2
+                                                      i32.add
+                                                      local.tee 4
+                                                      i32.ne
+                                                      br_if 0 (;@25;)
+                                                    end
+                                                  end
+                                                  local.get 6
+                                                  i32.eqz
+                                                  br_if 0 (;@23;)
+                                                  local.get 0
+                                                  local.get 4
+                                                  i32.const 20
+                                                  i32.mul
+                                                  i32.add
+                                                  local.tee 3
+                                                  i32.const 16
+                                                  i32.add
+                                                  local.get 3
+                                                  i32.load offset=8
+                                                  local.get 3
+                                                  i32.load offset=12
+                                                  local.get 3
+                                                  i32.load offset=4
+                                                  i32.load offset=16
+                                                  call_indirect (type 0)
+                                                end
+                                                block  ;; label = @23
+                                                  local.get 1
+                                                  i32.load offset=236
+                                                  local.tee 3
+                                                  i32.eqz
+                                                  br_if 0 (;@23;)
+                                                  local.get 1
+                                                  i32.load offset=240
+                                                  local.get 3
+                                                  i32.const 20
+                                                  i32.mul
+                                                  i32.const 4
+                                                  call $__rust_dealloc
+                                                end
+                                                local.get 2
+                                                local.get 2
+                                                i32.load
+                                                i32.const -1
+                                                i32.add
+                                                local.tee 3
+                                                i32.store
+                                                block  ;; label = @23
+                                                  local.get 3
+                                                  br_if 0 (;@23;)
+                                                  local.get 2
+                                                  local.get 2
+                                                  i32.load offset=4
+                                                  i32.const -1
+                                                  i32.add
+                                                  local.tee 3
+                                                  i32.store offset=4
+                                                  local.get 3
+                                                  br_if 0 (;@23;)
+                                                  local.get 2
+                                                  i32.const 12
+                                                  i32.const 4
+                                                  call $__rust_dealloc
+                                                end
+                                                local.get 1
+                                                i32.const 172
+                                                i32.add
+                                                local.get 1
+                                                i32.load offset=164
+                                                local.get 1
+                                                i32.load offset=168
+                                                local.get 1
+                                                i32.load offset=160
+                                                i32.load offset=16
+                                                call_indirect (type 0)
+                                                local.get 2
+                                                local.get 2
+                                                i32.load
+                                                i32.const -1
+                                                i32.add
+                                                local.tee 3
+                                                i32.store
+                                                local.get 3
+                                                br_if 8 (;@14;)
+                                                local.get 2
+                                                local.get 2
+                                                i32.load offset=4
+                                                i32.const -1
+                                                i32.add
+                                                local.tee 3
+                                                i32.store offset=4
+                                                local.get 3
+                                                br_if 8 (;@14;)
+                                                local.get 2
+                                                i32.const 12
+                                                i32.const 4
+                                                call $__rust_dealloc
+                                                br 8 (;@14;)
+                                              end
+                                              i32.const 1049748
+                                              call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                                              unreachable
+                                            end
+                                            local.get 2
+                                            local.get 1
+                                            i32.const 24
+                                            i32.add
+                                            call $_ZN5erc2016erc20_dispatcher15allowanceCaller17h88b0d279a6747d5fE
+                                            br 6 (;@14;)
+                                          end
+                                          i32.const 1049732
+                                          call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                                          unreachable
+                                        end
+                                        local.get 2
+                                        local.get 1
+                                        i32.const 24
+                                        i32.add
+                                        call $_ZN5erc2016erc20_dispatcher13approveCaller17h6ecdfab69f1d6d39E
+                                        br 4 (;@14;)
+                                      end
+                                      i32.const 1049716
+                                      call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                                      unreachable
+                                    end
+                                    local.get 2
+                                    local.get 1
+                                    i32.const 24
+                                    i32.add
+                                    call $_ZN5erc2016erc20_dispatcher18transferFromCaller17h03cbb7fc36e0b02dE
+                                    br 2 (;@14;)
+                                  end
+                                  i32.const 1049700
+                                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                                  unreachable
+                                end
+                                local.get 2
+                                local.get 1
+                                i32.const 24
+                                i32.add
+                                call $_ZN5erc2016erc20_dispatcher10mintCaller17h395bb690fc6f5359E
+                              end
+                              local.get 1
+                              i32.const 52
+                              i32.add
+                              local.get 1
+                              i32.load offset=44
+                              local.get 1
+                              i32.load offset=48
+                              local.get 1
+                              i32.load offset=40
+                              i32.load offset=16
+                              call_indirect (type 0)
+                            end
+                            local.get 1
+                            i32.const 304
+                            i32.add
+                            global.set $__stack_pointer
+                            return
+                          end
+                          i32.const 4
+                          i32.const 12
+                          call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+                          unreachable
+                        end
+                        local.get 6
+                        local.get 5
+                        call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+                        unreachable
+                      end
+                      unreachable
+                      unreachable
+                    end
+                    i32.const 1049828
+                    call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+                    unreachable
+                  end
+                  i32.const 1049812
+                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+                  unreachable
+                end
+                i32.const 1049844
+                call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+                unreachable
+              end
+              i32.const 1049860
+              call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+              unreachable
+            end
+            local.get 1
+            i32.const 2
+            i32.store offset=188
+            local.get 1
+            i32.const 1049196
+            i32.store offset=184
+            local.get 1
+            i64.const 2
+            i64.store offset=196 align=4
+            local.get 1
+            i32.const 1
+            i64.extend_i32_u
+            i64.const 32
+            i64.shl
+            local.tee 7
+            local.get 1
+            i32.const 160
+            i32.add
+            i64.extend_i32_u
+            i64.or
+            i64.store offset=136
+            local.get 1
+            local.get 7
+            local.get 1
+            i32.const 248
+            i32.add
+            i64.extend_i32_u
+            i64.or
+            i64.store offset=128
+            local.get 1
+            local.get 1
+            i32.const 128
+            i32.add
+            i32.store offset=192
+            local.get 1
+            i32.const 184
+            i32.add
+            i32.const 1049212
+            call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+            unreachable
+          end
+          i32.const 1049876
+          call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+          unreachable
+        end
+        local.get 1
+        i32.const 2
+        i32.store offset=188
+        local.get 1
+        i32.const 1049196
+        i32.store offset=184
+        local.get 1
+        i64.const 2
+        i64.store offset=196 align=4
+        local.get 1
+        i32.const 1
+        i64.extend_i32_u
+        i64.const 32
+        i64.shl
+        local.tee 7
+        local.get 1
+        i32.const 160
+        i32.add
+        i64.extend_i32_u
+        i64.or
+        i64.store offset=136
+        local.get 1
+        local.get 7
+        local.get 1
+        i32.const 248
+        i32.add
+        i64.extend_i32_u
+        i64.or
+        i64.store offset=128
+        local.get 1
+        local.get 1
+        i32.const 128
+        i32.add
+        i32.store offset=192
+        local.get 1
+        i32.const 184
+        i32.add
+        i32.const 1049212
+        call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+        unreachable
+      end
+      i32.const 1048704
+      call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+      unreachable
+    end
+    i32.const 1049892
+    call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+    unreachable)
+  (func $_ZN5erc2016erc20_dispatcher15allowanceCaller17h88b0d279a6747d5fE (type 4) (param i32 i32)
+    (local i32 i32 i32 i64 i32 i32 i64)
+    global.get $__stack_pointer
+    i32.const 208
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 0
+    i32.store offset=24
+    local.get 2
+    local.get 1
+    i64.load align=4
+    i64.store offset=8
+    local.get 2
+    i32.const 188
+    i32.add
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 0
+    i32.const 32
+    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    i32.const 188
+    i32.add
+    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
+    local.get 2
+    i32.const 156
+    i32.add
+    local.tee 4
+    local.get 3
+    i64.load
+    local.tee 5
+    i64.store align=4
+    local.get 2
+    i32.const 56
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 1
+    i32.const 32
+    i32.store
+    local.get 2
+    i32.const 56
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    local.get 5
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=8
+    local.tee 5
+    i64.store offset=148 align=4
+    local.get 2
+    i32.const 32
+    i32.store offset=164
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 6
+    i32.load
+    i32.store
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 7
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 5
+    i64.store offset=56
+    local.get 2
+    local.get 2
+    i64.load offset=128 align=4
+    i64.store offset=32
+    local.get 2
+    i32.const 188
+    i32.add
+    local.get 2
+    i32.const 56
+    i32.add
+    local.get 1
+    i32.load
+    local.tee 1
+    local.get 1
+    i32.const 32
+    i32.add
+    local.tee 1
+    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    i32.const 188
+    i32.add
+    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
+    local.get 4
+    local.get 3
+    i64.load
+    local.tee 5
+    i64.store align=4
+    local.get 2
+    local.get 2
+    i64.load offset=56
+    local.tee 8
+    i64.store offset=148 align=4
+    local.get 2
+    local.get 1
+    i32.store offset=164
+    local.get 2
+    i32.const 80
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 6
+    i32.load
+    i32.store
+    local.get 2
+    i32.const 80
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 7
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=128 align=4
+    i64.store offset=80
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 1
+    i32.store
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 5
+    i64.store
+    local.get 2
+    local.get 8
+    i64.store offset=104
+    local.get 0
+    local.get 0
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 1
+    i32.store
+    block  ;; label = @1
+      local.get 1
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 1049408
+      i32.store offset=172
+      local.get 2
+      local.get 0
+      i32.store offset=168
+      local.get 2
+      i32.const 128
+      i32.add
+      local.get 2
+      i32.const 168
+      i32.add
+      local.get 2
+      i32.const 32
+      i32.add
+      local.get 2
+      i32.const 80
+      i32.add
+      call $_ZN5erc205erc205Erc209allowance17h75c7fcb584df1022E
+      local.get 2
+      i32.const 0
+      i32.store offset=184
+      local.get 2
+      i64.const 17179869184
+      i64.store offset=176 align=4
+      local.get 2
+      i32.const 188
+      i32.add
+      local.get 2
+      i32.const 128
+      i32.add
+      call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
+      local.get 2
+      i32.const 176
+      i32.add
+      call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+      local.get 2
+      i32.load offset=180
+      local.tee 1
+      local.get 2
+      i64.load offset=188 align=4
+      i64.store align=4
+      local.get 1
+      i32.const 8
+      i32.add
+      local.get 2
+      i32.const 188
+      i32.add
+      i32.const 8
+      i32.add
+      i64.load align=4
+      i64.store align=4
+      local.get 1
+      i32.const 16
+      i32.add
+      local.get 2
+      i32.const 188
+      i32.add
+      i32.const 16
+      i32.add
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 1
+      i32.store offset=184
+      block  ;; label = @2
+        local.get 0
+        i32.const 8
+        i32.add
+        i32.load
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 8
+        i32.add
+        local.tee 1
+        i32.const -1
+        i32.store
+        local.get 0
+        i32.const 12
+        i32.add
+        local.tee 3
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 2
+        i32.const 128
+        i32.add
+        local.get 2
+        i32.const 176
+        i32.add
+        call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+        local.get 3
+        local.get 2
+        i32.load offset=132
+        local.tee 4
+        local.get 2
+        i32.load offset=136
+        local.tee 6
+        call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
+        local.get 2
+        i32.const 128
+        i32.add
+        i32.const 12
+        i32.add
+        local.get 4
+        local.get 6
+        local.get 2
+        i32.load offset=128
+        i32.load offset=16
+        call_indirect (type 0)
+        local.get 1
+        local.get 1
+        i32.load
+        i32.const 1
+        i32.add
+        i32.store
+        block  ;; label = @3
+          local.get 2
+          i32.load offset=184
+          local.tee 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 2
+          i32.load offset=180
+          local.set 6
+          local.get 1
+          i32.const 1
+          i32.and
+          local.set 7
+          i32.const 0
+          local.set 3
+          block  ;; label = @4
+            local.get 1
+            i32.const 1
+            i32.eq
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const -2
+            i32.and
+            local.set 4
+            i32.const 0
+            local.set 3
+            local.get 6
+            local.set 1
+            loop  ;; label = @5
+              local.get 1
+              i32.const 16
+              i32.add
+              local.get 1
+              i32.const 8
+              i32.add
+              i32.load
+              local.get 1
+              i32.const 12
+              i32.add
+              i32.load
+              local.get 1
+              i32.const 4
+              i32.add
+              i32.load
+              i32.load offset=16
+              call_indirect (type 0)
+              local.get 1
+              i32.const 36
+              i32.add
+              local.get 1
+              i32.const 28
+              i32.add
+              i32.load
+              local.get 1
+              i32.const 32
+              i32.add
+              i32.load
+              local.get 1
+              i32.const 24
+              i32.add
+              i32.load
+              i32.load offset=16
+              call_indirect (type 0)
+              local.get 1
+              i32.const 40
+              i32.add
+              local.set 1
+              local.get 4
+              local.get 3
+              i32.const 2
+              i32.add
+              local.tee 3
+              i32.ne
+              br_if 0 (;@5;)
+            end
+          end
+          local.get 7
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 6
+          local.get 3
+          i32.const 20
+          i32.mul
+          i32.add
+          local.tee 1
+          i32.const 16
+          i32.add
+          local.get 1
+          i32.load offset=8
+          local.get 1
+          i32.load offset=12
+          local.get 1
+          i32.load offset=4
+          i32.load offset=16
+          call_indirect (type 0)
+        end
+        block  ;; label = @3
+          local.get 2
+          i32.load offset=176
+          local.tee 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 2
+          i32.load offset=180
+          local.get 1
+          i32.const 20
+          i32.mul
+          i32.const 4
+          call $__rust_dealloc
+        end
+        local.get 0
+        local.get 0
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 1
+        i32.store
+        block  ;; label = @3
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 4
+          i32.add
+          local.tee 1
+          local.get 1
+          i32.load
+          i32.const -1
+          i32.add
+          local.tee 1
+          i32.store
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 12
+          i32.const 4
+          call $__rust_dealloc
+        end
+        local.get 2
+        i32.const 116
+        i32.add
+        local.get 2
+        i32.load offset=108
+        local.get 2
+        i32.load offset=112
+        local.get 2
+        i32.load offset=104
+        i32.load offset=16
+        call_indirect (type 0)
+        local.get 0
+        local.get 0
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 1
+        i32.store
+        block  ;; label = @3
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 4
+          i32.add
+          local.tee 1
+          local.get 1
+          i32.load
+          i32.const -1
+          i32.add
+          local.tee 1
+          i32.store
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 12
+          i32.const 4
+          call $__rust_dealloc
+        end
+        local.get 2
+        i32.const 208
+        i32.add
+        global.set $__stack_pointer
+        return
+      end
+      i32.const 1049908
+      call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+      unreachable
+    end
+    unreachable
+    unreachable)
+  (func $_ZN5erc2016erc20_dispatcher13approveCaller17h6ecdfab69f1d6d39E (type 4) (param i32 i32)
+    (local i32 i32 i64 i32 i64 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 240
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    local.tee 4
+    i64.store
+    local.get 2
+    i32.const 0
+    i32.store offset=24
+    local.get 2
+    local.get 1
+    i64.load align=4
+    i64.store offset=8
+    local.get 2
+    local.get 4
+    i32.wrap_i64
+    local.tee 1
+    i32.store offset=112
+    local.get 2
+    i32.const 32
+    i32.store offset=200
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.const 31
+          i32.le_u
+          br_if 0 (;@3;)
+          local.get 2
+          i32.const 224
+          i32.add
+          local.get 2
+          i32.const 20
+          i32.add
+          local.get 2
+          i32.load offset=12
+          local.get 1
+          local.get 2
+          i32.load offset=8
+          i32.load
+          call_indirect (type 2)
+          local.get 2
+          i32.const 32
+          i32.store offset=232
+          local.get 2
+          i32.const 136
+          i32.add
+          local.get 2
+          i32.const 224
+          i32.add
+          call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
+          local.get 2
+          i32.const 164
+          i32.add
+          local.get 3
+          i64.load
+          local.tee 4
+          i64.store align=4
+          local.get 2
+          i32.const 56
+          i32.add
+          i32.const 16
+          i32.add
+          i32.const 32
+          i32.store
+          local.get 2
+          i32.const 56
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 1
+          local.get 4
+          i64.store
+          local.get 2
+          i32.const 32
+          i32.store offset=172
+          local.get 2
+          local.get 2
+          i64.load offset=8
+          local.tee 4
+          i64.store offset=156 align=4
+          local.get 2
+          i32.const 32
+          i32.add
+          i32.const 16
+          i32.add
+          local.get 2
+          i32.const 136
+          i32.add
+          i32.const 16
+          i32.add
+          local.tee 3
+          i32.load
+          i32.store
+          local.get 2
+          i32.const 32
+          i32.add
+          i32.const 8
+          i32.add
+          local.get 2
+          i32.const 136
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 5
+          i64.load align=4
+          i64.store
+          local.get 2
+          local.get 4
+          i64.store offset=56
+          local.get 2
+          local.get 2
+          i64.load offset=136 align=4
+          i64.store offset=32
+          local.get 2
+          i32.const 80
+          i32.add
+          local.get 2
+          i32.const 56
+          i32.add
+          i32.const 32
+          i32.const 64
+          call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
+          local.get 2
+          i32.const 136
+          i32.add
+          local.get 2
+          i32.const 80
+          i32.add
+          call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E
+          local.get 2
+          i32.const 176
+          i32.add
+          local.get 1
+          i64.load
+          local.tee 4
+          i64.store align=4
+          local.get 2
+          local.get 2
+          i64.load offset=56
+          local.tee 6
+          i64.store offset=168 align=4
+          local.get 2
+          i32.const 64
+          i32.store offset=184
+          local.get 2
+          i32.const 80
+          i32.add
+          i32.const 24
+          i32.add
+          local.get 2
+          i32.const 136
+          i32.add
+          i32.const 24
+          i32.add
+          i64.load align=4
+          i64.store
+          local.get 2
+          i32.const 80
+          i32.add
+          i32.const 16
+          i32.add
+          local.get 3
+          i64.load align=4
+          i64.store
+          local.get 2
+          i32.const 80
+          i32.add
+          i32.const 8
+          i32.add
+          local.get 5
+          i64.load align=4
+          i64.store
+          local.get 2
+          local.get 2
+          i64.load offset=136 align=4
+          i64.store offset=80
+          local.get 2
+          i32.const 112
+          i32.add
+          i32.const 16
+          i32.add
+          i32.const 64
+          i32.store
+          local.get 2
+          i32.const 112
+          i32.add
+          i32.const 8
+          i32.add
+          local.get 4
+          i64.store
+          local.get 2
+          local.get 6
+          i64.store offset=112
+          local.get 0
+          local.get 0
+          i32.load
+          i32.const 1
+          i32.add
+          local.tee 1
+          i32.store
+          local.get 1
+          i32.eqz
+          br_if 1 (;@2;)
+          local.get 0
+          i32.const 8
+          i32.add
+          local.tee 1
+          i32.load
+          local.tee 3
+          i32.const 2147483646
+          i32.gt_u
+          br_if 2 (;@1;)
+          local.get 1
+          local.get 3
+          i32.const 1
+          i32.add
+          i32.store
+          local.get 0
+          i32.const 12
+          i32.add
+          local.tee 3
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 2
+          i32.const 136
+          i32.add
+          i32.const 16
+          i32.add
+          local.tee 5
+          i32.const 0
+          i32.store
+          local.get 2
+          i32.const 136
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 7
+          i64.const 0
+          i64.store
+          local.get 2
+          i64.const 0
+          i64.store offset=136
+          local.get 3
+          local.get 2
+          i32.const 136
+          i32.add
+          call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$6caller17h6e5bbf9110a580a2E
+          local.get 2
+          i32.const 200
+          i32.add
+          i32.const 16
+          i32.add
+          local.tee 8
+          local.get 5
+          i32.load
+          i32.store
+          local.get 2
+          i32.const 200
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 9
+          local.get 7
+          i64.load
+          i64.store
+          local.get 2
+          local.get 2
+          i64.load offset=136
+          i64.store offset=200
+          local.get 0
+          i32.const 8
+          i32.add
+          local.tee 1
+          local.get 1
+          i32.load
+          i32.const -1
+          i32.add
+          i32.store
+          local.get 0
+          i32.const 1049408
+          local.get 2
+          i32.const 200
+          i32.add
+          local.get 2
+          i32.const 32
+          i32.add
+          local.get 2
+          i32.const 80
+          i32.add
+          i32.const 1
+          call $_ZN5erc205erc205Erc208_approve17h53bfc76d7c1fe7cfE.llvm.12425491971175694154
+          local.get 2
+          i32.const 0
+          i32.store offset=196
+          local.get 2
+          i64.const 17179869184
+          i64.store offset=188 align=4
+          local.get 2
+          i32.const 160
+          i32.add
+          i64.const 0
+          i64.store
+          local.get 5
+          i64.const 0
+          i64.store
+          local.get 7
+          i64.const 0
+          i64.store
+          local.get 2
+          i64.const 0
+          i64.store offset=136
+          local.get 2
+          i32.const 200
+          i32.add
+          local.get 2
+          i32.const 136
+          i32.add
+          call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
+          local.get 2
+          i32.const 188
+          i32.add
+          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+          local.get 2
+          i32.load offset=192
+          local.tee 5
+          local.get 2
+          i64.load offset=200 align=4
+          i64.store align=4
+          local.get 5
+          i32.const 8
+          i32.add
+          local.get 9
+          i64.load align=4
+          i64.store align=4
+          local.get 5
+          i32.const 16
+          i32.add
+          local.get 8
+          i32.load
+          i32.store
+          local.get 2
+          i32.const 1
+          i32.store offset=196
+          block  ;; label = @4
+            local.get 1
+            i32.load
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const -1
+            i32.store
+            local.get 2
+            i32.const 136
+            i32.add
+            local.get 2
+            i32.const 188
+            i32.add
+            call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+            local.get 3
+            local.get 2
+            i32.load offset=140
+            local.tee 5
+            local.get 2
+            i32.load offset=144
+            local.tee 7
+            call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
+            local.get 2
+            i32.const 148
+            i32.add
+            local.get 5
+            local.get 7
+            local.get 2
+            i32.load offset=136
+            i32.load offset=16
+            call_indirect (type 0)
+            local.get 1
+            local.get 1
+            i32.load
+            i32.const 1
+            i32.add
+            i32.store
+            block  ;; label = @5
+              local.get 2
+              i32.load offset=196
+              local.tee 1
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 2
+              i32.load offset=192
+              local.set 7
+              local.get 1
+              i32.const 1
+              i32.and
+              local.set 8
+              i32.const 0
+              local.set 3
+              block  ;; label = @6
+                local.get 1
+                i32.const 1
+                i32.eq
+                br_if 0 (;@6;)
+                local.get 1
+                i32.const -2
+                i32.and
+                local.set 5
+                i32.const 0
+                local.set 3
+                local.get 7
+                local.set 1
+                loop  ;; label = @7
+                  local.get 1
+                  i32.const 16
+                  i32.add
+                  local.get 1
+                  i32.const 8
+                  i32.add
+                  i32.load
+                  local.get 1
+                  i32.const 12
+                  i32.add
+                  i32.load
+                  local.get 1
+                  i32.const 4
+                  i32.add
+                  i32.load
+                  i32.load offset=16
+                  call_indirect (type 0)
+                  local.get 1
+                  i32.const 36
+                  i32.add
+                  local.get 1
+                  i32.const 28
+                  i32.add
+                  i32.load
+                  local.get 1
+                  i32.const 32
+                  i32.add
+                  i32.load
+                  local.get 1
+                  i32.const 24
+                  i32.add
+                  i32.load
+                  i32.load offset=16
+                  call_indirect (type 0)
+                  local.get 1
+                  i32.const 40
+                  i32.add
+                  local.set 1
+                  local.get 5
+                  local.get 3
+                  i32.const 2
+                  i32.add
+                  local.tee 3
+                  i32.ne
+                  br_if 0 (;@7;)
+                end
+              end
+              local.get 8
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 7
+              local.get 3
+              i32.const 20
+              i32.mul
+              i32.add
+              local.tee 1
+              i32.const 16
+              i32.add
+              local.get 1
+              i32.load offset=8
+              local.get 1
+              i32.load offset=12
+              local.get 1
+              i32.load offset=4
+              i32.load offset=16
+              call_indirect (type 0)
+            end
+            block  ;; label = @5
+              local.get 2
+              i32.load offset=188
+              local.tee 1
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 2
+              i32.load offset=192
+              local.get 1
+              i32.const 20
+              i32.mul
+              i32.const 4
+              call $__rust_dealloc
+            end
+            local.get 0
+            local.get 0
+            i32.load
+            i32.const -1
+            i32.add
+            local.tee 1
+            i32.store
+            block  ;; label = @5
+              local.get 1
+              br_if 0 (;@5;)
+              local.get 0
+              i32.const 4
+              i32.add
+              local.tee 1
+              local.get 1
+              i32.load
+              i32.const -1
+              i32.add
+              local.tee 1
+              i32.store
+              local.get 1
+              br_if 0 (;@5;)
+              local.get 0
+              i32.const 12
+              i32.const 4
+              call $__rust_dealloc
+            end
+            local.get 2
+            i32.const 124
+            i32.add
+            local.get 2
+            i32.load offset=116
+            local.get 2
+            i32.load offset=120
+            local.get 2
+            i32.load offset=112
+            i32.load offset=16
+            call_indirect (type 0)
+            local.get 0
+            local.get 0
+            i32.load
+            i32.const -1
+            i32.add
+            local.tee 1
+            i32.store
+            block  ;; label = @5
+              local.get 1
+              br_if 0 (;@5;)
+              local.get 0
+              i32.const 4
+              i32.add
+              local.tee 1
+              local.get 1
+              i32.load
+              i32.const -1
+              i32.add
+              local.tee 1
+              i32.store
+              local.get 1
+              br_if 0 (;@5;)
+              local.get 0
+              i32.const 12
+              i32.const 4
+              call $__rust_dealloc
+            end
+            local.get 2
+            i32.const 240
+            i32.add
+            global.set $__stack_pointer
+            return
+          end
+          i32.const 1049924
+          call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+          unreachable
+        end
+        local.get 2
+        i32.const 2
+        i32.store offset=140
+        local.get 2
+        i32.const 1049196
+        i32.store offset=136
+        local.get 2
+        i64.const 2
+        i64.store offset=148 align=4
+        local.get 2
+        i32.const 1
+        i64.extend_i32_u
+        i64.const 32
+        i64.shl
+        local.tee 4
+        local.get 2
+        i32.const 112
+        i32.add
+        i64.extend_i32_u
+        i64.or
+        i64.store offset=88
+        local.get 2
+        local.get 4
+        local.get 2
+        i32.const 200
+        i32.add
+        i64.extend_i32_u
+        i64.or
+        i64.store offset=80
+        local.get 2
+        local.get 2
+        i32.const 80
+        i32.add
+        i32.store offset=144
+        local.get 2
+        i32.const 136
+        i32.add
+        i32.const 1049212
+        call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+        unreachable
+      end
+      unreachable
+      unreachable
+    end
+    i32.const 1048720
+    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+    unreachable)
+  (func $_ZN5erc2016erc20_dispatcher18transferFromCaller17h03cbb7fc36e0b02dE (type 4) (param i32 i32)
+    (local i32 i32 i32 i64 i32 i32 i64)
+    global.get $__stack_pointer
+    i32.const 272
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 0
+    i32.store offset=24
+    local.get 2
+    local.get 1
+    i64.load align=4
+    i64.store offset=8
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 0
+    i32.const 32
+    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
+    local.get 2
+    i32.const 180
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
+    local.get 2
+    i32.const 208
+    i32.add
+    local.tee 4
+    local.get 3
+    i64.load
+    local.tee 5
+    i64.store align=4
+    local.get 2
+    i32.const 56
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 6
+    i32.const 32
+    i32.store
+    local.get 2
+    i32.const 56
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 7
+    local.get 5
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=8
+    local.tee 5
+    i64.store offset=200 align=4
+    local.get 2
+    i32.const 32
+    i32.store offset=216
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 180
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 1
+    i32.load
+    i32.store
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 180
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 5
+    i64.store offset=56
+    local.get 2
+    local.get 2
+    i64.load offset=180 align=4
+    i64.store offset=32
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    i32.const 56
+    i32.add
+    local.get 6
+    i32.load
+    local.tee 6
+    local.get 6
+    i32.const 32
+    i32.add
+    local.tee 6
+    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
+    local.get 2
+    i32.const 180
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
+    local.get 4
+    local.get 7
+    i64.load
+    local.tee 5
+    i64.store align=4
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 4
+    local.get 6
+    i32.store
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 7
+    local.get 5
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=56
+    local.tee 5
+    i64.store offset=200 align=4
+    local.get 2
+    local.get 6
+    i32.store offset=216
+    local.get 2
+    i32.const 80
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 1
+    i32.load
+    i32.store
+    local.get 2
+    i32.const 80
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 3
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 5
+    i64.store offset=104
+    local.get 2
+    local.get 2
+    i64.load offset=180 align=4
+    i64.store offset=80
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    i32.const 104
+    i32.add
+    local.get 4
+    i32.load
+    local.tee 6
+    local.get 6
+    i32.const 32
+    i32.add
+    local.tee 6
+    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
+    local.get 2
+    i32.const 180
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E
+    local.get 2
+    i32.const 220
+    i32.add
+    local.get 7
+    i64.load
+    local.tee 5
+    i64.store align=4
+    local.get 2
+    local.get 2
+    i64.load offset=104
+    local.tee 8
+    i64.store offset=212 align=4
+    local.get 2
+    local.get 6
+    i32.store offset=228
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 24
+    i32.add
+    local.get 2
+    i32.const 180
+    i32.add
+    i32.const 24
+    i32.add
+    local.tee 4
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 1
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 3
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=180 align=4
+    i64.store offset=128
+    local.get 2
+    i32.const 160
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 6
+    i32.store
+    local.get 2
+    i32.const 160
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 5
+    i64.store
+    local.get 2
+    local.get 8
+    i64.store offset=160
+    local.get 0
+    local.get 0
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 3
+    i32.store
+    block  ;; label = @1
+      local.get 3
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 1049408
+      i32.store offset=236
+      local.get 2
+      local.get 0
+      i32.store offset=232
+      local.get 2
+      i32.const 232
+      i32.add
+      local.get 2
+      i32.const 32
+      i32.add
+      local.get 2
+      i32.const 80
+      i32.add
+      local.get 2
+      i32.const 128
+      i32.add
+      call $_ZN5erc205erc205Erc2013transfer_from17hafd5c8a9b635bbc8E
+      local.set 3
+      local.get 2
+      i32.const 0
+      i32.store offset=248
+      local.get 2
+      i64.const 17179869184
+      i64.store offset=240 align=4
+      local.get 4
+      i64.const 0
+      i64.store align=1
+      local.get 1
+      i64.const 0
+      i64.store align=1
+      local.get 2
+      i32.const 184
+      i32.add
+      i32.const 0
+      i32.store align=1
+      local.get 2
+      i64.const 0
+      i64.store offset=188 align=1
+      local.get 2
+      i32.const 0
+      i32.store offset=181 align=1
+      local.get 2
+      local.get 3
+      i32.const 1
+      i32.xor
+      i32.store8 offset=180
+      local.get 2
+      i32.const 252
+      i32.add
+      local.get 2
+      i32.const 180
+      i32.add
+      call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
+      local.get 2
+      i32.const 240
+      i32.add
+      call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
+      local.get 2
+      i32.load offset=244
+      local.tee 1
+      local.get 2
+      i64.load offset=252 align=4
+      i64.store align=4
+      local.get 1
+      i32.const 8
+      i32.add
+      local.get 2
+      i32.const 252
+      i32.add
+      i32.const 8
+      i32.add
+      i64.load align=4
+      i64.store align=4
+      local.get 1
+      i32.const 16
+      i32.add
+      local.get 2
+      i32.const 252
+      i32.add
+      i32.const 16
+      i32.add
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 1
+      i32.store offset=248
+      block  ;; label = @2
+        local.get 0
+        i32.const 8
+        i32.add
+        i32.load
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 8
+        i32.add
+        local.tee 1
+        i32.const -1
+        i32.store
+        local.get 0
+        i32.const 12
+        i32.add
+        local.tee 3
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 2
+        i32.const 180
+        i32.add
+        local.get 2
+        i32.const 240
+        i32.add
+        call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+        local.get 3
+        local.get 2
+        i32.load offset=184
+        local.tee 6
+        local.get 2
+        i32.load offset=188
+        local.tee 4
+        call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
+        local.get 2
+        i32.const 180
+        i32.add
+        i32.const 12
+        i32.add
+        local.get 6
+        local.get 4
+        local.get 2
+        i32.load offset=180
+        i32.load offset=16
+        call_indirect (type 0)
+        local.get 1
+        local.get 1
+        i32.load
+        i32.const 1
+        i32.add
+        i32.store
+        block  ;; label = @3
+          local.get 2
+          i32.load offset=248
+          local.tee 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 2
+          i32.load offset=244
+          local.set 4
+          local.get 1
+          i32.const 1
+          i32.and
+          local.set 7
+          i32.const 0
+          local.set 3
+          block  ;; label = @4
+            local.get 1
+            i32.const 1
+            i32.eq
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const -2
+            i32.and
+            local.set 6
+            i32.const 0
+            local.set 3
+            local.get 4
+            local.set 1
+            loop  ;; label = @5
+              local.get 1
+              i32.const 16
+              i32.add
+              local.get 1
+              i32.const 8
+              i32.add
+              i32.load
+              local.get 1
+              i32.const 12
+              i32.add
+              i32.load
+              local.get 1
+              i32.const 4
+              i32.add
+              i32.load
+              i32.load offset=16
+              call_indirect (type 0)
+              local.get 1
+              i32.const 36
+              i32.add
+              local.get 1
+              i32.const 28
+              i32.add
+              i32.load
+              local.get 1
+              i32.const 32
+              i32.add
+              i32.load
+              local.get 1
+              i32.const 24
+              i32.add
+              i32.load
+              i32.load offset=16
+              call_indirect (type 0)
+              local.get 1
+              i32.const 40
+              i32.add
+              local.set 1
+              local.get 6
+              local.get 3
+              i32.const 2
+              i32.add
+              local.tee 3
+              i32.ne
+              br_if 0 (;@5;)
+            end
+          end
+          local.get 7
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 4
+          local.get 3
+          i32.const 20
+          i32.mul
+          i32.add
+          local.tee 1
+          i32.const 16
+          i32.add
+          local.get 1
+          i32.load offset=8
+          local.get 1
+          i32.load offset=12
+          local.get 1
+          i32.load offset=4
+          i32.load offset=16
+          call_indirect (type 0)
+        end
+        block  ;; label = @3
+          local.get 2
+          i32.load offset=240
+          local.tee 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 2
+          i32.load offset=244
+          local.get 1
+          i32.const 20
+          i32.mul
+          i32.const 4
+          call $__rust_dealloc
+        end
+        local.get 0
+        local.get 0
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 1
+        i32.store
+        block  ;; label = @3
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 4
+          i32.add
+          local.tee 1
+          local.get 1
+          i32.load
+          i32.const -1
+          i32.add
+          local.tee 1
+          i32.store
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 12
+          i32.const 4
+          call $__rust_dealloc
+        end
+        local.get 2
+        i32.const 172
+        i32.add
+        local.get 2
+        i32.load offset=164
+        local.get 2
+        i32.load offset=168
+        local.get 2
+        i32.load offset=160
+        i32.load offset=16
+        call_indirect (type 0)
+        local.get 0
+        local.get 0
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 1
+        i32.store
+        block  ;; label = @3
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 4
+          i32.add
+          local.tee 1
+          local.get 1
+          i32.load
+          i32.const -1
+          i32.add
+          local.tee 1
+          i32.store
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 12
+          i32.const 4
+          call $__rust_dealloc
+        end
+        local.get 2
+        i32.const 272
+        i32.add
+        global.set $__stack_pointer
+        return
+      end
+      i32.const 1049940
+      call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+      unreachable
+    end
+    unreachable
+    unreachable)
+  (func $_ZN5erc2016erc20_dispatcher10mintCaller17h395bb690fc6f5359E (type 4) (param i32 i32)
+    (local i32 i32 i64 i32 i32 i64)
+    global.get $__stack_pointer
+    i32.const 192
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    i32.const 8
+    i32.add
+    local.tee 3
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 0
+    i32.store offset=16
+    local.get 2
+    local.get 1
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 72
+    i32.add
+    local.get 2
+    i32.const 0
+    i32.const 32
+    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    i32.const 72
+    i32.add
+    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
+    local.get 2
+    i32.const 156
+    i32.add
+    local.get 3
+    i64.load
+    local.tee 4
+    i64.store align=4
+    local.get 2
+    i32.const 48
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 1
+    i32.const 32
+    i32.store
+    local.get 2
+    i32.const 48
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 5
+    local.get 4
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load
+    local.tee 4
+    i64.store offset=148 align=4
+    local.get 2
+    i32.const 32
+    i32.store offset=164
+    local.get 2
+    i32.const 24
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 3
+    i32.load
+    i32.store
+    local.get 2
+    i32.const 24
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 6
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 4
+    i64.store offset=48
+    local.get 2
+    local.get 2
+    i64.load offset=128 align=4
+    i64.store offset=24
+    local.get 2
+    i32.const 72
+    i32.add
+    local.get 2
+    i32.const 48
+    i32.add
+    local.get 1
+    i32.load
+    local.tee 1
+    local.get 1
+    i32.const 32
+    i32.add
+    local.tee 1
+    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    i32.const 72
+    i32.add
+    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E
+    local.get 2
+    i32.const 168
+    i32.add
+    local.get 5
+    i64.load
+    local.tee 4
+    i64.store align=4
+    local.get 2
+    local.get 2
+    i64.load offset=48
+    local.tee 7
+    i64.store offset=160 align=4
+    local.get 2
+    local.get 1
+    i32.store offset=176
+    local.get 2
+    i32.const 72
+    i32.add
+    i32.const 24
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 24
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 72
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 3
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 72
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 6
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=128 align=4
+    i64.store offset=72
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 1
+    i32.store
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 4
+    i64.store
+    local.get 2
+    local.get 7
+    i64.store offset=104
+    local.get 0
+    local.get 0
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 1
+    i32.store
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 3
+        i32.const 0
+        i32.store
+        local.get 6
+        i64.const 0
+        i64.store
+        local.get 2
+        i64.const 0
+        i64.store offset=128
+        local.get 2
+        i32.const 24
+        i32.add
+        local.get 2
+        i32.const 128
+        i32.add
+        call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
+        i32.const 255
+        i32.and
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 2
+        i32.const 144
+        i32.add
+        i32.const 0
+        i32.store
+        local.get 2
+        i32.const 128
+        i32.add
+        i32.const 8
+        i32.add
+        i64.const 0
+        i64.store
+        local.get 2
+        i64.const 0
+        i64.store offset=128
+        local.get 0
+        i32.const 1049408
+        local.get 2
+        i32.const 128
+        i32.add
+        local.get 2
+        i32.const 24
+        i32.add
+        local.get 2
+        i32.const 72
+        i32.add
+        call $_ZN5erc205erc205Erc207_update17he4e974dae5007c46E.llvm.12425491971175694154
+        local.get 2
+        i32.const 0
+        i32.store offset=188
+        local.get 2
+        i64.const 17179869184
+        i64.store offset=180 align=4
+        block  ;; label = @3
+          local.get 0
+          i32.const 8
+          i32.add
+          local.tee 1
+          i32.load
+          br_if 0 (;@3;)
+          local.get 1
+          i32.const -1
+          i32.store
+          local.get 0
+          i32.const 12
+          i32.add
+          local.tee 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 2
+          i32.const 128
+          i32.add
+          local.get 2
+          i32.const 180
+          i32.add
+          call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+          local.get 1
+          local.get 2
+          i32.load offset=132
+          local.tee 3
+          local.get 2
+          i32.load offset=136
+          local.tee 6
+          call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
+          local.get 2
+          i32.const 128
+          i32.add
+          i32.const 12
+          i32.add
+          local.get 3
+          local.get 6
+          local.get 2
+          i32.load offset=128
+          i32.load offset=16
+          call_indirect (type 0)
+          local.get 0
+          i32.const 8
+          i32.add
+          local.tee 1
+          local.get 1
+          i32.load
+          i32.const 1
+          i32.add
+          i32.store
+          local.get 0
+          local.get 0
+          i32.load
+          i32.const -1
+          i32.add
+          local.tee 1
+          i32.store
+          block  ;; label = @4
+            local.get 1
+            br_if 0 (;@4;)
+            local.get 0
+            i32.const 4
+            i32.add
+            local.tee 1
+            local.get 1
+            i32.load
+            i32.const -1
+            i32.add
+            local.tee 1
+            i32.store
+            local.get 1
+            br_if 0 (;@4;)
+            local.get 0
+            i32.const 12
+            i32.const 4
+            call $__rust_dealloc
+          end
+          local.get 2
+          i32.const 116
+          i32.add
+          local.get 2
+          i32.load offset=108
+          local.get 2
+          i32.load offset=112
+          local.get 2
+          i32.load offset=104
+          i32.load offset=16
+          call_indirect (type 0)
+          local.get 0
+          local.get 0
+          i32.load
+          i32.const -1
+          i32.add
+          local.tee 1
+          i32.store
+          block  ;; label = @4
+            local.get 1
+            br_if 0 (;@4;)
+            local.get 0
+            i32.const 4
+            i32.add
+            local.tee 1
+            local.get 1
+            i32.load
+            i32.const -1
+            i32.add
+            local.tee 1
+            i32.store
+            local.get 1
+            br_if 0 (;@4;)
+            local.get 0
+            i32.const 12
+            i32.const 4
+            call $__rust_dealloc
+          end
+          local.get 2
+          i32.const 192
+          i32.add
+          global.set $__stack_pointer
+          return
+        end
+        i32.const 1049956
+        call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
+        unreachable
+      end
+      unreachable
+      unreachable
+    end
+    i32.const 1048802
+    i32.const 12
+    call $_ZN5erc2010assertions4fail17had502d4821c562c7E
+    unreachable)
+  (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE.1 (type 6) (param i32 i32) (result i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load offset=28
+      local.tee 2
+      i32.const 16
+      i32.and
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 2
+        i32.const 32
+        i32.and
+        br_if 0 (;@2;)
+        local.get 0
+        local.get 1
+        call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE
+        return
+      end
+      local.get 0
+      local.get 1
+      call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd504c8c64d2f0cadE
+      return
+    end
+    local.get 0
+    local.get 1
+    call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h3be2bf5a24d84447E)
+  (func $_ZN5alloc7raw_vec11finish_grow17h2fff62103bacea47E (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 2
+          i32.const 0
+          i32.lt_s
+          br_if 1 (;@2;)
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 3
+                i32.load offset=4
+                i32.eqz
+                br_if 0 (;@6;)
+                block  ;; label = @7
+                  local.get 3
+                  i32.load offset=8
+                  local.tee 4
+                  br_if 0 (;@7;)
+                  block  ;; label = @8
+                    local.get 2
+                    br_if 0 (;@8;)
+                    local.get 1
+                    local.set 3
+                    br 4 (;@4;)
+                  end
+                  i32.const 0
+                  i32.load8_u offset=1051873
+                  drop
+                  br 2 (;@5;)
+                end
+                local.get 3
+                i32.load
+                local.get 4
+                local.get 1
+                local.get 2
+                call $__rust_realloc
+                local.set 3
+                br 2 (;@4;)
+              end
+              block  ;; label = @6
+                local.get 2
+                br_if 0 (;@6;)
+                local.get 1
+                local.set 3
+                br 2 (;@4;)
+              end
+              i32.const 0
+              i32.load8_u offset=1051873
+              drop
+            end
+            local.get 2
+            local.get 1
+            call $__rust_alloc
+            local.set 3
+          end
+          block  ;; label = @4
+            local.get 3
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 0
+            local.get 2
+            i32.store offset=8
+            local.get 0
+            local.get 3
+            i32.store offset=4
+            local.get 0
+            i32.const 0
+            i32.store
+            return
+          end
+          local.get 0
+          local.get 2
+          i32.store offset=8
+          local.get 0
+          local.get 1
+          i32.store offset=4
+          br 2 (;@1;)
+        end
+        local.get 0
+        i32.const 0
+        i32.store offset=4
+        br 1 (;@1;)
+      end
+      local.get 0
+      i32.const 0
+      i32.store offset=4
+    end
+    local.get 0
+    i32.const 1
+    i32.store)
+  (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE (type 1) (param i32)
+    (local i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 1
+    global.set $__stack_pointer
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.tee 2
+      i32.const 1
+      i32.add
+      local.tee 3
+      br_if 0 (;@1;)
+      i32.const 0
+      i32.const 0
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    i32.const 4
+    local.set 4
+    local.get 2
+    i32.const 1
+    i32.shl
+    local.tee 5
+    local.get 3
+    local.get 5
+    local.get 3
+    i32.gt_u
+    select
+    local.tee 3
+    i32.const 4
+    local.get 3
+    i32.const 4
+    i32.gt_u
+    select
+    local.tee 6
+    i32.const 20
+    i32.mul
+    local.set 5
+    local.get 3
+    i32.const 107374183
+    i32.lt_u
+    i32.const 2
+    i32.shl
+    local.set 3
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 2
+        br_if 0 (;@2;)
+        i32.const 0
+        local.set 4
+        br 1 (;@1;)
+      end
+      local.get 1
+      local.get 2
+      i32.const 20
+      i32.mul
+      i32.store offset=28
+      local.get 1
+      local.get 0
+      i32.load offset=4
+      i32.store offset=20
+    end
+    local.get 1
+    local.get 4
+    i32.store offset=24
+    local.get 1
+    i32.const 8
+    i32.add
+    local.get 3
+    local.get 5
+    local.get 1
+    i32.const 20
+    i32.add
+    call $_ZN5alloc7raw_vec11finish_grow17h2fff62103bacea47E
+    block  ;; label = @1
+      local.get 1
+      i32.load offset=8
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 1
+      i32.load offset=12
+      local.get 1
+      i32.load offset=16
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    local.get 1
+    i32.load offset=12
+    local.set 2
+    local.get 0
+    local.get 6
+    i32.store
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 1
+    i32.const 32
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN69_$LT$erc20..address..Address$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h8008c8716bd1bbd7E (type 4) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 1
+    i32.load8_u offset=19
+    local.set 3
+    local.get 1
+    i32.load8_u offset=18
+    local.set 4
+    local.get 1
+    i32.load8_u offset=17
+    local.set 5
+    local.get 1
+    i32.load8_u offset=16
+    local.set 6
+    local.get 1
+    i32.load8_u offset=15
+    local.set 7
+    local.get 1
+    i32.load8_u offset=14
+    local.set 8
+    local.get 1
+    i32.load8_u offset=13
+    local.set 9
+    local.get 1
+    i32.load8_u offset=12
+    local.set 10
+    local.get 1
+    i32.load8_u offset=11
+    local.set 11
+    local.get 1
+    i32.load offset=7 align=1
+    local.set 12
+    local.get 1
+    i32.load offset=3 align=1
+    local.set 13
+    local.get 1
+    i32.load8_u offset=2
+    local.set 14
+    local.get 1
+    i32.load8_u offset=1
+    local.set 15
+    local.get 1
+    i32.load8_u
+    local.set 1
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 0
+    i32.store
+    local.get 2
+    i64.const 0
+    i64.store
+    local.get 2
+    local.get 1
+    i32.store8 offset=31
+    local.get 2
+    local.get 15
+    i32.store8 offset=30
+    local.get 2
+    local.get 14
+    i32.store8 offset=29
+    local.get 2
+    local.get 13
+    i32.store8 offset=28
+    local.get 2
+    local.get 13
+    i32.const 8
+    i32.shr_u
+    i32.store8 offset=27
+    local.get 2
+    local.get 13
+    i32.const 16
+    i32.shr_u
+    i32.store8 offset=26
+    local.get 2
+    local.get 13
+    i32.const 24
+    i32.shr_u
+    i32.store8 offset=25
+    local.get 2
+    local.get 12
+    i32.store8 offset=24
+    local.get 2
+    local.get 12
+    i32.const 8
+    i32.shr_u
+    i32.store8 offset=23
+    local.get 2
+    local.get 12
+    i32.const 16
+    i32.shr_u
+    i32.store8 offset=22
+    local.get 2
+    local.get 12
+    i32.const 24
+    i32.shr_u
+    i32.store8 offset=21
+    local.get 2
+    local.get 11
+    i32.store8 offset=20
+    local.get 2
+    local.get 10
+    i32.store8 offset=19
+    local.get 2
+    local.get 9
+    i32.store8 offset=18
+    local.get 2
+    local.get 8
+    i32.store8 offset=17
+    local.get 2
+    local.get 7
+    i32.store8 offset=16
+    local.get 2
+    local.get 6
+    i32.store8 offset=15
+    local.get 2
+    local.get 5
+    i32.store8 offset=14
+    local.get 2
+    local.get 4
+    i32.store8 offset=13
+    local.get 2
+    local.get 3
+    i32.store8 offset=12
+    local.get 0
+    i32.const 4
+    i32.add
+    local.get 2
+    i32.const 32
+    call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
+    local.get 0
+    i32.const 1
+    i32.store8
+    local.get 2
+    i32.const 32
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN5erc2010assertions4fail17had502d4821c562c7E (type 4) (param i32 i32)
+    local.get 0
+    local.get 1
+    call $_ZN5erc203ulm5impl_11failWrapper17hdd9e7a10bdd4c1a0E.llvm.7654405709671502149
+    unreachable)
+  (func $_ZN5erc203ulm5impl_11failWrapper17hdd9e7a10bdd4c1a0E.llvm.7654405709671502149 (type 4) (param i32 i32)
+    local.get 0
+    local.get 1
+    call $fail
+    unreachable)
+  (func $_ZN69_$LT$erc20..balance..Balance$u20$as$u20$erc20..encoder..Encodable$GT$6encode17hede0d9f51024b58fE (type 4) (param i32 i32)
+    local.get 0
+    local.get 1
+    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E)
+  (func $_ZN67_$LT$alloc..string..String$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h1e4106a43390e251E (type 4) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i64 i32)
+    global.get $__stack_pointer
+    i32.const 128
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 1
+    i32.load offset=4
+    local.set 3
+    i32.const 1
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 1
+              i32.load offset=8
+              local.tee 1
+              i32.const 31
+              i32.add
+              i32.const -32
+              i32.and
+              local.tee 5
+              i32.const 32
+              i32.add
+              local.tee 6
+              i32.eqz
+              br_if 0 (;@5;)
+              i32.const 0
+              local.set 7
+              local.get 6
+              i32.const 0
+              i32.lt_s
+              br_if 1 (;@4;)
+              i32.const 0
+              i32.load8_u offset=1051873
+              drop
+              i32.const 1
+              local.set 7
+              local.get 6
+              i32.const 1
+              call $__rust_alloc
+              local.tee 4
+              i32.eqz
+              br_if 1 (;@4;)
+            end
+            i32.const 0
+            local.set 8
+            local.get 2
+            i32.const 0
+            i32.store offset=12
+            local.get 2
+            local.get 4
+            i32.store offset=8
+            local.get 2
+            local.get 6
+            i32.store offset=16
+            local.get 2
+            i32.const 32
+            local.get 6
+            i32.const 10
+            i32.shr_u
+            i32.clz
+            i32.sub
+            local.tee 7
+            i32.const 7
+            local.get 7
+            i32.const 7
+            i32.lt_u
+            select
+            i32.const 2
+            i32.shl
+            i32.const 1
+            i32.or
+            i32.store offset=20
+            local.get 2
+            i32.const 60
+            i32.add
+            i32.const 24
+            i32.add
+            i64.const 0
+            i64.store align=1
+            local.get 2
+            i32.const 60
+            i32.add
+            i32.const 16
+            i32.add
+            i64.const 0
+            i64.store align=1
+            local.get 2
+            i64.const 0
+            i64.store offset=68 align=1
+            local.get 2
+            i32.const 0
+            i32.store offset=64 align=1
+            local.get 2
+            local.get 1
+            i32.store8 offset=60
+            local.get 2
+            local.get 1
+            i32.const 24
+            i32.shr_u
+            i32.store8 offset=63
+            local.get 2
+            local.get 1
+            i32.const 16
+            i32.shr_u
+            i32.store8 offset=62
+            local.get 2
+            local.get 1
+            i32.const 8
+            i32.shr_u
+            i32.store8 offset=61
+            local.get 2
+            i32.const 40
+            i32.add
+            local.get 2
+            i32.const 60
+            i32.add
+            call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
+            local.get 2
+            i32.const 24
+            i32.add
+            i32.const 8
+            i32.add
+            local.get 2
+            i32.const 40
+            i32.add
+            i32.const 12
+            i32.add
+            i64.load align=4
+            local.tee 9
+            i64.store
+            local.get 2
+            local.get 2
+            i64.load offset=44 align=4
+            i64.store offset=24
+            local.get 2
+            i32.load offset=28
+            local.set 10
+            block  ;; label = @5
+              local.get 9
+              i32.wrap_i64
+              local.tee 7
+              i32.eqz
+              br_if 0 (;@5;)
+              block  ;; label = @6
+                local.get 6
+                local.get 7
+                i32.ge_u
+                br_if 0 (;@6;)
+                local.get 2
+                i32.const 8
+                i32.add
+                local.get 7
+                i32.const 1
+                call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
+                drop
+                local.get 2
+                i32.load offset=8
+                local.set 4
+                local.get 2
+                i32.load offset=12
+                local.set 8
+              end
+              local.get 4
+              local.get 8
+              i32.add
+              local.get 10
+              local.get 7
+              call $memcpy
+              drop
+              local.get 2
+              i32.load offset=16
+              local.get 2
+              i32.load offset=12
+              local.tee 4
+              i32.sub
+              local.tee 8
+              local.get 7
+              i32.lt_u
+              br_if 2 (;@3;)
+              local.get 2
+              i32.const 0
+              i32.store offset=32
+              local.get 2
+              local.get 4
+              local.get 7
+              i32.add
+              i32.store offset=12
+              local.get 2
+              local.get 10
+              local.get 7
+              i32.add
+              local.tee 10
+              i32.store offset=28
+            end
+            local.get 2
+            i32.const 24
+            i32.add
+            i32.const 12
+            i32.add
+            local.get 10
+            i32.const 0
+            local.get 2
+            i32.load offset=24
+            i32.load offset=16
+            call_indirect (type 0)
+            local.get 2
+            i32.load offset=12
+            local.set 7
+            block  ;; label = @5
+              local.get 1
+              i32.eqz
+              br_if 0 (;@5;)
+              block  ;; label = @6
+                local.get 2
+                i32.load offset=16
+                local.get 7
+                i32.sub
+                local.get 1
+                i32.ge_u
+                br_if 0 (;@6;)
+                local.get 2
+                i32.const 8
+                i32.add
+                local.get 1
+                i32.const 1
+                call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
+                drop
+                local.get 2
+                i32.load offset=12
+                local.set 7
+              end
+              local.get 2
+              i32.load offset=8
+              local.get 7
+              i32.add
+              local.get 3
+              local.get 1
+              call $memcpy
+              drop
+              local.get 2
+              i32.load offset=16
+              local.get 2
+              i32.load offset=12
+              local.tee 7
+              i32.sub
+              local.tee 10
+              local.get 1
+              i32.lt_u
+              br_if 3 (;@2;)
+              local.get 2
+              local.get 7
+              local.get 1
+              i32.add
+              local.tee 7
+              i32.store offset=12
+            end
+            block  ;; label = @5
+              local.get 7
+              local.get 6
+              i32.ge_u
+              br_if 0 (;@5;)
+              local.get 7
+              local.get 5
+              i32.sub
+              i32.const -32
+              i32.add
+              local.set 1
+              loop  ;; label = @6
+                local.get 2
+                i32.const 0
+                i32.store8 offset=60
+                local.get 2
+                i32.const 8
+                i32.add
+                local.get 2
+                i32.const 60
+                i32.add
+                i32.const 1
+                call $_ZN74_$LT$bytes..bytes_mut..BytesMut$u20$as$u20$bytes..buf..buf_mut..BufMut$GT$9put_slice17h0e2daf131143dac5E
+                local.get 1
+                i32.const 1
+                i32.add
+                local.tee 1
+                br_if 0 (;@6;)
+              end
+              local.get 2
+              i32.load offset=12
+              local.set 7
+            end
+            local.get 2
+            i32.load offset=8
+            local.set 1
+            i32.const 1050872
+            local.set 10
+            block  ;; label = @5
+              local.get 2
+              i32.load offset=20
+              local.tee 6
+              i32.const 1
+              i32.and
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 2
+              i32.const 92
+              i32.add
+              local.get 1
+              local.get 7
+              local.get 2
+              i32.load offset=16
+              local.get 6
+              i32.const 5
+              i32.shr_u
+              local.tee 6
+              call $_ZN5bytes9bytes_mut11rebuild_vec17h38cce237df47590bE
+              local.get 2
+              i32.const 104
+              i32.add
+              local.get 2
+              i32.const 92
+              i32.add
+              call $_ZN92_$LT$bytes..bytes..Bytes$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$4from17h73298beb60a3c1fbE
+              local.get 2
+              local.get 6
+              i32.store offset=120
+              local.get 2
+              i32.load offset=112
+              local.tee 7
+              local.get 6
+              i32.lt_u
+              br_if 4 (;@1;)
+              local.get 2
+              i32.load offset=108
+              local.get 6
+              i32.add
+              local.set 1
+              local.get 7
+              local.get 6
+              i32.sub
+              local.set 7
+              local.get 2
+              i32.load offset=104
+              local.set 10
+              local.get 2
+              i32.load offset=116
+              local.set 6
+            end
+            local.get 0
+            local.get 6
+            i32.store offset=16
+            local.get 0
+            local.get 7
+            i32.store offset=12
+            local.get 0
+            local.get 1
+            i32.store offset=8
+            local.get 0
+            local.get 10
+            i32.store offset=4
+            local.get 0
+            i32.const 2
+            i32.store8
+            local.get 2
+            i32.const 128
+            i32.add
+            global.set $__stack_pointer
+            return
+          end
+          local.get 7
+          local.get 6
+          call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+          unreachable
+        end
+        local.get 7
+        local.get 8
+        call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
+        unreachable
+      end
+      local.get 1
+      local.get 10
+      call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
+      unreachable
+    end
+    local.get 2
+    i32.const 2
+    i32.store offset=64
+    local.get 2
+    i32.const 1050012
+    i32.store offset=60
+    local.get 2
+    i64.const 2
+    i64.store offset=72 align=4
+    local.get 2
+    local.get 7
+    i32.store offset=124
+    local.get 2
+    i32.const 16
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.tee 9
+    local.get 2
+    i32.const 124
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=48
+    local.get 2
+    local.get 9
+    local.get 2
+    i32.const 120
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=40
+    local.get 2
+    local.get 2
+    i32.const 40
+    i32.add
+    i32.store offset=68
+    local.get 2
+    i32.const 60
+    i32.add
+    i32.const 1050120
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN5erc207storage42SingleChunkStorageBuilder$LT$ValueType$GT$5build17hf8294c03859672afE (type 4) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 48
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    local.get 1
+    call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
+    block  ;; label = @1
+      local.get 1
+      i32.load offset=12
+      local.get 1
+      i32.load offset=16
+      local.tee 3
+      i32.load offset=8
+      local.tee 4
+      i32.const 4
+      local.get 4
+      i32.const 4
+      i32.gt_u
+      select
+      i32.const -1
+      i32.add
+      i32.const -8
+      i32.and
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 5
+      i32.load
+      local.tee 6
+      i32.const 2147483646
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 5
+      local.get 6
+      i32.const 1
+      i32.add
+      i32.store
+      local.get 5
+      local.get 4
+      i32.const -1
+      i32.add
+      i32.const -4
+      i32.and
+      i32.add
+      i32.const 4
+      i32.add
+      local.tee 7
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 3
+      i32.const 40
+      i32.add
+      i32.load
+      local.set 3
+      local.get 2
+      i32.load offset=8
+      local.set 4
+      local.get 2
+      i32.load offset=4
+      local.set 6
+      local.get 2
+      i32.const 16
+      i32.add
+      i32.const 24
+      i32.add
+      local.tee 8
+      i64.const 0
+      i64.store
+      local.get 2
+      i32.const 16
+      i32.add
+      i32.const 16
+      i32.add
+      local.tee 9
+      i64.const 0
+      i64.store
+      local.get 2
+      i32.const 24
+      i32.add
+      local.tee 10
+      i64.const 0
+      i64.store
+      local.get 2
+      i64.const 0
+      i64.store offset=16
+      local.get 7
+      local.get 6
+      local.get 4
+      local.get 2
+      i32.const 16
+      i32.add
+      local.get 3
+      call_indirect (type 2)
+      local.get 0
+      i32.const 32
+      i32.add
+      local.get 8
+      i64.load
+      i64.store align=1
+      local.get 0
+      i32.const 24
+      i32.add
+      local.get 9
+      i64.load
+      i64.store align=1
+      local.get 0
+      i32.const 16
+      i32.add
+      local.get 10
+      i64.load
+      i64.store align=1
+      local.get 0
+      local.get 2
+      i64.load offset=16
+      i64.store offset=8 align=1
+      local.get 5
+      local.get 5
+      i32.load
+      i32.const -1
+      i32.add
+      i32.store
+      local.get 0
+      local.get 1
+      i64.load offset=12 align=4
+      i64.store align=4
+      local.get 2
+      i32.const 12
+      i32.add
+      local.get 6
+      local.get 4
+      local.get 2
+      i32.load
+      i32.load offset=16
+      call_indirect (type 0)
+      local.get 1
+      i32.load offset=4
+      local.set 6
+      block  ;; label = @2
+        local.get 1
+        i32.load offset=8
+        local.tee 0
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 1
+        i32.and
+        local.set 3
+        i32.const 0
+        local.set 5
+        block  ;; label = @3
+          local.get 0
+          i32.const 1
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const -2
+          i32.and
+          local.set 4
+          i32.const 0
+          local.set 5
+          local.get 6
+          local.set 0
+          loop  ;; label = @4
+            local.get 0
+            i32.const 16
+            i32.add
+            local.get 0
+            i32.const 8
+            i32.add
+            i32.load
+            local.get 0
+            i32.const 12
+            i32.add
+            i32.load
+            local.get 0
+            i32.const 4
+            i32.add
+            i32.load
+            i32.load offset=16
+            call_indirect (type 0)
+            local.get 0
+            i32.const 36
+            i32.add
+            local.get 0
+            i32.const 28
+            i32.add
+            i32.load
+            local.get 0
+            i32.const 32
+            i32.add
+            i32.load
+            local.get 0
+            i32.const 24
+            i32.add
+            i32.load
+            i32.load offset=16
+            call_indirect (type 0)
+            local.get 0
+            i32.const 40
+            i32.add
+            local.set 0
+            local.get 4
+            local.get 5
+            i32.const 2
+            i32.add
+            local.tee 5
+            i32.ne
+            br_if 0 (;@4;)
+          end
+        end
+        local.get 3
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 6
+        local.get 5
+        i32.const 20
+        i32.mul
+        i32.add
+        local.tee 0
+        i32.const 16
+        i32.add
+        local.get 0
+        i32.load offset=8
+        local.get 0
+        i32.load offset=12
+        local.get 0
+        i32.load offset=4
+        i32.load offset=16
+        call_indirect (type 0)
+      end
+      block  ;; label = @2
+        local.get 1
+        i32.load
+        local.tee 0
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 6
+        local.get 0
+        i32.const 20
+        i32.mul
+        i32.const 4
+        call $__rust_dealloc
+      end
+      local.get 2
+      i32.const 48
+      i32.add
+      global.set $__stack_pointer
+      return
+    end
+    i32.const 1050184
+    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
+    unreachable)
+  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$4log317h987612607e9e3762E (type 3) (param i32 i32 i32 i32 i32 i32)
+    local.get 1
+    local.get 2
+    local.get 3
+    local.get 4
+    local.get 5
+    call $Log3)
+  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$6caller17h6e5bbf9110a580a2E (type 4) (param i32 i32)
+    local.get 1
+    call $Caller)
+  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$16call_data_length17h5a8338a3b18df8f2E (type 10) (param i32) (result i32)
+    call $CallDataLength)
+  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$9call_data17hde8d81abbe4336aeE (type 0) (param i32 i32 i32)
+    block  ;; label = @1
+      call $CallDataLength
+      local.get 2
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 1
+      call $CallData
+      return
+    end
+    i32.const 1050200
+    i32.const 28
+    call $_ZN5erc203ulm5impl_11failWrapper17hdd9e7a10bdd4c1a0E.llvm.7654405709671502149
+    unreachable)
+  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$19get_account_storage17h6b89d1f69d088ff9E (type 0) (param i32 i32 i32)
+    local.get 1
+    local.get 2
+    call $GetAccountStorage)
+  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$19set_account_storage17ha7c75946c5f297f3E (type 0) (param i32 i32 i32)
+    local.get 1
+    local.get 2
+    call $SetAccountStorage)
+  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE (type 0) (param i32 i32 i32)
+    local.get 1
+    local.get 2
+    call $setOutput)
+  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE (type 2) (param i32 i32 i32 i32)
+    local.get 1
+    local.get 2
+    local.get 3
+    call $keccakHash)
+  (func $__rust_alloc (type 6) (param i32 i32) (result i32)
+    (local i32)
+    local.get 0
+    local.get 1
+    call $__rdl_alloc
+    local.set 2
+    local.get 2
+    return)
+  (func $__rust_dealloc (type 0) (param i32 i32 i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    call $__rdl_dealloc
+    return)
+  (func $__rust_realloc (type 9) (param i32 i32 i32 i32) (result i32)
+    (local i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    local.get 3
+    call $__rdl_realloc
+    local.set 4
+    local.get 4
+    return)
+  (func $__rust_alloc_error_handler (type 4) (param i32 i32)
+    local.get 0
+    local.get 1
+    call $__rg_oom
+    return)
+  (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE.2 (type 6) (param i32 i32) (result i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load offset=28
+      local.tee 2
+      i32.const 16
+      i32.and
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 2
+        i32.const 32
+        i32.and
+        br_if 0 (;@2;)
+        local.get 0
+        local.get 1
+        call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE
+        return
+      end
+      local.get 0
+      local.get 1
+      call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd504c8c64d2f0cadE
+      return
+    end
+    local.get 0
+    local.get 1
+    call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h3be2bf5a24d84447E)
+  (func $_ZN4core3ptr53drop_in_place$LT$core..alloc..layout..LayoutError$GT$17h61bb72a6737affc4E (type 1) (param i32))
+  (func $_ZN69_$LT$core..alloc..layout..LayoutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h2fd7406d7dcae69dE (type 6) (param i32 i32) (result i32)
+    local.get 1
+    i32.const 1050228
+    i32.const 11
+    call $_ZN4core3fmt9Formatter9write_str17hb14ec2e1267025f3E)
+  (func $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E (type 0) (param i32 i32 i32)
+    (local i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 2
+          br_if 0 (;@3;)
+          i32.const 1050240
+          local.set 3
+          i32.const 0
+          local.set 1
+          i32.const 1
+          local.set 4
+          br 1 (;@2;)
+        end
+        i32.const 0
+        local.set 3
+        local.get 2
+        i32.const 0
+        i32.lt_s
+        br_if 1 (;@1;)
+        i32.const 0
+        i32.load8_u offset=1051873
+        drop
+        i32.const 1
+        local.set 3
+        local.get 2
+        i32.const 1
+        call $__rust_alloc
+        local.tee 4
+        i32.eqz
+        br_if 1 (;@1;)
+        i32.const 1050432
+        local.set 3
+        block  ;; label = @3
+          local.get 4
+          local.get 1
+          local.get 2
+          call $memcpy
+          local.tee 1
+          i32.const 1
+          i32.and
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 1
+          local.set 1
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.const 1
+        i32.or
+        local.set 1
+        i32.const 1050412
+        local.set 3
+      end
+      local.get 0
+      local.get 1
+      i32.store offset=12
+      local.get 0
+      local.get 2
+      i32.store offset=8
+      local.get 0
+      local.get 4
+      i32.store offset=4
+      local.get 0
+      local.get 3
+      i32.store
+      return
+    end
+    local.get 3
+    local.get 2
+    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+    unreachable)
+  (func $_ZN5bytes5bytes5Bytes9split_off17h8fb60c9956121d47E (type 0) (param i32 i32 i32)
+    (local i32 i32 i64)
+    global.get $__stack_pointer
+    i32.const 64
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 3
+    local.get 2
+    i32.store offset=12
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.load offset=8
+          local.tee 4
+          local.get 2
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 2
+          br_if 1 (;@2;)
+          local.get 1
+          i64.load align=4
+          local.set 5
+          local.get 1
+          i32.const 1050240
+          i32.store
+          local.get 0
+          local.get 5
+          i64.store align=4
+          local.get 1
+          i32.const 8
+          i32.add
+          local.tee 2
+          i64.load align=4
+          local.set 5
+          local.get 2
+          i64.const 0
+          i64.store align=4
+          local.get 0
+          i32.const 8
+          i32.add
+          local.get 5
+          i64.store align=4
+          br 2 (;@1;)
+        end
+        local.get 0
+        i64.const 0
+        i64.store offset=8 align=4
+        local.get 0
+        i32.const 1050240
+        i32.store
+        local.get 0
+        local.get 1
+        i32.load offset=4
+        local.get 2
+        i32.add
+        i32.store offset=4
+        br 1 (;@1;)
+      end
+      block  ;; label = @2
+        local.get 4
+        local.get 2
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 3
+        i32.const 16
+        i32.add
+        local.get 1
+        i32.const 12
+        i32.add
+        local.get 1
+        i32.load offset=4
+        local.get 4
+        local.get 1
+        i32.load
+        i32.load
+        call_indirect (type 2)
+        local.get 3
+        i32.const 16
+        i32.add
+        i32.const 8
+        i32.add
+        local.tee 4
+        local.get 4
+        i32.load
+        local.get 2
+        i32.sub
+        i32.store
+        local.get 1
+        local.get 2
+        i32.store offset=8
+        local.get 3
+        local.get 3
+        i32.load offset=20
+        local.get 2
+        i32.add
+        i32.store offset=20
+        local.get 0
+        local.get 3
+        i64.load offset=16 align=4
+        i64.store align=4
+        local.get 0
+        i32.const 8
+        i32.add
+        local.get 4
+        i64.load align=4
+        i64.store align=4
+        br 1 (;@1;)
+      end
+      local.get 3
+      i32.const 2
+      i32.store offset=20
+      local.get 3
+      i32.const 1050380
+      i32.store offset=16
+      local.get 3
+      i64.const 2
+      i64.store offset=28 align=4
+      local.get 3
+      local.get 4
+      i32.store offset=60
+      local.get 3
+      i32.const 17
+      i64.extend_i32_u
+      i64.const 32
+      i64.shl
+      local.tee 5
+      local.get 3
+      i32.const 60
+      i32.add
+      i64.extend_i32_u
+      i64.or
+      i64.store offset=48
+      local.get 3
+      local.get 5
+      local.get 3
+      i32.const 12
+      i32.add
+      i64.extend_i32_u
+      i64.or
+      i64.store offset=40
+      local.get 3
+      local.get 3
+      i32.const 40
+      i32.add
+      i32.store offset=24
+      local.get 3
+      i32.const 16
+      i32.add
+      i32.const 1050396
+      call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+      unreachable
+    end
+    local.get 3
+    i32.const 64
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E (type 6) (param i32 i32) (result i32)
+    (local i32 i32)
+    i32.const 0
+    local.set 2
+    block  ;; label = @1
+      local.get 0
+      i32.load offset=8
+      local.tee 3
+      local.get 1
+      i32.load offset=8
+      i32.ne
+      br_if 0 (;@1;)
+      local.get 0
+      i32.load offset=4
+      local.get 1
+      i32.load offset=4
+      local.get 3
+      call $memcmp
+      i32.eqz
+      local.set 2
+    end
+    local.get 2)
+  (func $_ZN92_$LT$bytes..bytes..Bytes$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$4from17h73298beb60a3c1fbE (type 4) (param i32 i32)
+    (local i32 i32 i32)
+    local.get 1
+    i32.load offset=4
+    local.set 2
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.load offset=8
+          local.tee 3
+          local.get 1
+          i32.load
+          local.tee 4
+          i32.eq
+          br_if 0 (;@3;)
+          i32.const 0
+          i32.load8_u offset=1051873
+          drop
+          i32.const 12
+          i32.const 4
+          call $__rust_alloc
+          local.tee 1
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 1
+          i32.const 1
+          i32.store offset=8
+          local.get 1
+          local.get 4
+          i32.store offset=4
+          local.get 1
+          local.get 2
+          i32.store
+          i32.const 1050544
+          local.set 4
+          br 1 (;@2;)
+        end
+        block  ;; label = @3
+          local.get 3
+          br_if 0 (;@3;)
+          i32.const 1050240
+          local.set 4
+          i32.const 0
+          local.set 1
+          i32.const 1
+          local.set 2
+          br 1 (;@2;)
+        end
+        i32.const 1050432
+        local.set 4
+        block  ;; label = @3
+          local.get 2
+          i32.const 1
+          i32.and
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 2
+          local.set 1
+          br 1 (;@2;)
+        end
+        local.get 2
+        i32.const 1
+        i32.or
+        local.set 1
+        i32.const 1050412
+        local.set 4
+      end
+      local.get 0
+      local.get 1
+      i32.store offset=12
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 2
+      i32.store offset=4
+      local.get 0
+      local.get 4
+      i32.store
+      return
+    end
+    i32.const 4
+    i32.const 12
+    call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+    unreachable)
+  (func $_ZN5bytes5bytes12static_clone17h8ee0bb07f5e580ccE.llvm.5932322697774810047 (type 2) (param i32 i32 i32 i32)
+    local.get 0
+    i32.const 0
+    i32.store offset=12
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 0
+    i32.const 1050240
+    i32.store)
+  (func $_ZN5bytes5bytes13static_to_mut17h581aa0a2fd8464aeE (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    i32.const 1
+    local.set 4
+    block  ;; label = @1
+      local.get 3
+      i32.eqz
+      br_if 0 (;@1;)
+      i32.const 0
+      local.set 5
+      block  ;; label = @2
+        local.get 3
+        i32.const 0
+        i32.lt_s
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.load8_u offset=1051873
+        drop
+        i32.const 1
+        local.set 5
+        local.get 3
+        i32.const 1
+        call $__rust_alloc
+        local.tee 4
+        br_if 1 (;@1;)
+      end
+      local.get 5
+      local.get 3
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    local.get 4
+    local.get 2
+    local.get 3
+    call $memcpy
+    local.set 4
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 3
+    i32.store offset=4
+    local.get 0
+    local.get 4
+    i32.store
+    local.get 0
+    i32.const 32
+    local.get 3
+    i32.const 10
+    i32.shr_u
+    i32.clz
+    i32.sub
+    local.tee 3
+    i32.const 7
+    local.get 3
+    i32.const 7
+    i32.lt_u
+    select
+    i32.const 2
+    i32.shl
+    i32.const 1
+    i32.or
+    i32.store offset=12)
+  (func $_ZN5bytes5bytes16static_is_unique17h6e19e52823949186E.llvm.5932322697774810047 (type 10) (param i32) (result i32)
+    i32.const 0)
+  (func $_ZN5bytes5bytes11static_drop17h80d4e6ae9b05ca89E.llvm.5932322697774810047 (type 0) (param i32 i32 i32))
+  (func $_ZN5bytes5bytes12owned_to_vec17hf4b7c7dcc83df6d0E (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 3
+        br_if 0 (;@2;)
+        i32.const 1
+        local.set 4
+        br 1 (;@1;)
+      end
+      i32.const 0
+      local.set 5
+      block  ;; label = @2
+        local.get 3
+        i32.const 0
+        i32.lt_s
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.load8_u offset=1051873
+        drop
+        i32.const 1
+        local.set 5
+        local.get 3
+        i32.const 1
+        call $__rust_alloc
+        local.tee 4
+        br_if 1 (;@1;)
+      end
+      local.get 5
+      local.get 3
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    local.get 4
+    local.get 2
+    local.get 3
+    call $memcpy
+    local.set 2
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 0
+    local.get 3
+    i32.store)
+  (func $_ZN5bytes5bytes21promotable_even_clone17hb745a8cb1d939a17E (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      local.tee 4
+      i32.const 1
+      i32.and
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      local.get 4
+      local.get 4
+      i32.const -2
+      i32.and
+      local.get 2
+      local.get 3
+      call $_ZN5bytes5bytes17shallow_clone_vec17h25a558d5835acdf3E
+      return
+    end
+    local.get 4
+    local.get 4
+    i32.load offset=8
+    local.tee 1
+    i32.const 1
+    i32.add
+    i32.store offset=8
+    block  ;; label = @1
+      local.get 1
+      i32.const -1
+      i32.le_s
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 4
+      i32.store offset=12
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 2
+      i32.store offset=4
+      local.get 0
+      i32.const 1050544
+      i32.store
+      return
+    end
+    call $_ZN5bytes5abort17h7847ceaeaab8ab15E
+    unreachable)
+  (func $_ZN5bytes5bytes17shallow_clone_vec17h25a558d5835acdf3E (type 3) (param i32 i32 i32 i32 i32 i32)
+    (local i32)
+    i32.const 0
+    i32.load8_u offset=1051873
+    drop
+    block  ;; label = @1
+      block  ;; label = @2
+        i32.const 12
+        i32.const 4
+        call $__rust_alloc
+        local.tee 6
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 6
+        i32.const 2
+        i32.store offset=8
+        local.get 6
+        local.get 3
+        i32.store
+        local.get 6
+        local.get 4
+        local.get 3
+        i32.sub
+        local.get 5
+        i32.add
+        i32.store offset=4
+        local.get 1
+        local.get 6
+        local.get 1
+        i32.load
+        local.tee 3
+        local.get 3
+        local.get 2
+        i32.eq
+        select
+        i32.store
+        block  ;; label = @3
+          local.get 3
+          local.get 2
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 6
+          i32.store offset=12
+          local.get 0
+          local.get 5
+          i32.store offset=8
+          local.get 0
+          local.get 4
+          i32.store offset=4
+          local.get 0
+          i32.const 1050544
+          i32.store
+          return
+        end
+        local.get 3
+        local.get 3
+        i32.load offset=8
+        local.tee 2
+        i32.const 1
+        i32.add
+        i32.store offset=8
+        local.get 2
+        i32.const -1
+        i32.le_s
+        br_if 1 (;@1;)
+        local.get 0
+        local.get 3
+        i32.store offset=12
+        local.get 0
+        local.get 5
+        i32.store offset=8
+        local.get 0
+        local.get 4
+        i32.store offset=4
+        local.get 0
+        i32.const 1050544
+        i32.store
+        local.get 6
+        i32.const 12
+        i32.const 4
+        call $__rust_dealloc
+        return
+      end
+      i32.const 4
+      i32.const 12
+      call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+      unreachable
+    end
+    call $_ZN5bytes5abort17h7847ceaeaab8ab15E
+    unreachable)
+  (func $_ZN5bytes5bytes22promotable_even_to_vec17h17500ac060bde60fE (type 2) (param i32 i32 i32 i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      local.tee 1
+      i32.const 1
+      i32.and
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 1
+      i32.const -2
+      i32.and
+      local.get 2
+      local.get 3
+      call $memmove
+      local.set 1
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 1
+      i32.store offset=4
+      local.get 0
+      local.get 2
+      local.get 3
+      i32.add
+      local.get 1
+      i32.sub
+      i32.store
+      return
+    end
+    local.get 0
+    local.get 1
+    local.get 2
+    local.get 3
+    call $_ZN5bytes5bytes18shared_to_vec_impl17hf22b5bcaca60a7b2E)
+  (func $_ZN5bytes5bytes18shared_to_vec_impl17hf22b5bcaca60a7b2E (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 4
+    global.set $__stack_pointer
+    i32.const 1
+    local.set 5
+    local.get 1
+    i32.const 0
+    local.get 1
+    i32.load offset=8
+    local.tee 6
+    local.get 6
+    i32.const 1
+    i32.eq
+    select
+    i32.store offset=8
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 6
+            i32.const 1
+            i32.ne
+            br_if 0 (;@4;)
+            local.get 1
+            i32.load offset=4
+            local.set 6
+            local.get 1
+            i32.load
+            local.set 5
+            local.get 1
+            i32.const 12
+            i32.const 4
+            call $__rust_dealloc
+            local.get 5
+            local.get 2
+            local.get 3
+            call $memmove
+            drop
+            br 1 (;@3;)
+          end
+          block  ;; label = @4
+            local.get 3
+            i32.eqz
+            br_if 0 (;@4;)
+            i32.const 0
+            local.set 6
+            local.get 3
+            i32.const 0
+            i32.lt_s
+            br_if 2 (;@2;)
+            i32.const 0
+            i32.load8_u offset=1051873
+            drop
+            i32.const 1
+            local.set 6
+            local.get 3
+            i32.const 1
+            call $__rust_alloc
+            local.tee 5
+            i32.eqz
+            br_if 2 (;@2;)
+          end
+          local.get 5
+          local.get 2
+          local.get 3
+          call $memcpy
+          drop
+          local.get 1
+          local.get 1
+          i32.load offset=8
+          local.tee 2
+          i32.const -1
+          i32.add
+          i32.store offset=8
+          local.get 3
+          local.set 6
+          local.get 2
+          i32.const 1
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 1
+          i32.const 4
+          i32.add
+          i32.load
+          local.tee 6
+          i32.const -1
+          i32.le_s
+          br_if 2 (;@1;)
+          local.get 1
+          i32.load
+          local.get 6
+          i32.const 1
+          call $__rust_dealloc
+          local.get 1
+          i32.const 12
+          i32.const 4
+          call $__rust_dealloc
+          local.get 3
+          local.set 6
+        end
+        local.get 0
+        local.get 3
+        i32.store offset=8
+        local.get 0
+        local.get 5
+        i32.store offset=4
+        local.get 0
+        local.get 6
+        i32.store
+        local.get 4
+        i32.const 16
+        i32.add
+        global.set $__stack_pointer
+        return
+      end
+      local.get 6
+      local.get 3
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    i32.const 1050452
+    i32.const 43
+    local.get 4
+    i32.const 15
+    i32.add
+    i32.const 1050496
+    i32.const 1050528
+    call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
+    unreachable)
+  (func $_ZN5bytes5bytes22promotable_even_to_mut17h9b26d0f7fc64fa55E (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 1
+              i32.load
+              local.tee 1
+              i32.const 1
+              i32.and
+              i32.eqz
+              br_if 0 (;@5;)
+              i32.const 32
+              local.get 2
+              local.get 1
+              i32.const -2
+              i32.and
+              local.tee 4
+              i32.sub
+              local.tee 5
+              local.get 3
+              i32.add
+              local.tee 1
+              i32.const 10
+              i32.shr_u
+              i32.clz
+              i32.sub
+              local.tee 6
+              i32.const 7
+              local.get 6
+              i32.const 7
+              i32.lt_u
+              select
+              i32.const 2
+              i32.shl
+              i32.const 1
+              i32.or
+              local.set 6
+              block  ;; label = @6
+                local.get 2
+                local.get 4
+                i32.ne
+                br_if 0 (;@6;)
+                local.get 6
+                local.set 2
+                local.get 1
+                local.set 3
+                br 5 (;@1;)
+              end
+              local.get 5
+              i32.const 134217728
+              i32.lt_u
+              br_if 2 (;@3;)
+              i32.const 0
+              i32.load8_u offset=1051873
+              drop
+              i32.const 20
+              i32.const 4
+              call $__rust_alloc
+              local.tee 2
+              i32.eqz
+              br_if 1 (;@4;)
+              local.get 2
+              i32.const 1
+              i32.store offset=16
+              local.get 2
+              local.get 1
+              i32.store offset=8
+              local.get 2
+              local.get 4
+              i32.store offset=4
+              local.get 2
+              local.get 1
+              i32.store
+              local.get 2
+              local.get 6
+              i32.const 2
+              i32.shr_u
+              i32.const 7
+              i32.and
+              i32.store offset=12
+              br 3 (;@2;)
+            end
+            local.get 0
+            local.get 1
+            local.get 2
+            local.get 3
+            call $_ZN5bytes5bytes18shared_to_mut_impl17h46c5417875d3e9a7E
+            return
+          end
+          i32.const 4
+          i32.const 20
+          call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+          unreachable
+        end
+        local.get 5
+        i32.const 5
+        i32.shl
+        local.get 6
+        i32.or
+        local.set 2
+      end
+      i32.const 0
+      local.get 1
+      local.get 5
+      i32.sub
+      local.tee 6
+      local.get 6
+      local.get 1
+      i32.gt_u
+      select
+      local.set 1
+      local.get 4
+      local.get 5
+      i32.add
+      local.set 4
+    end
+    local.get 0
+    local.get 2
+    i32.store offset=12
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 1
+    i32.store offset=4
+    local.get 0
+    local.get 4
+    i32.store)
+  (func $_ZN5bytes5bytes18shared_to_mut_impl17h46c5417875d3e9a7E (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 4
+    global.set $__stack_pointer
+    i32.const 1
+    local.set 5
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 1
+                i32.load offset=8
+                i32.const 1
+                i32.ne
+                br_if 0 (;@6;)
+                local.get 1
+                i32.load
+                local.set 5
+                local.get 1
+                i32.load offset=4
+                local.set 6
+                local.get 1
+                i32.const 12
+                i32.const 4
+                call $__rust_dealloc
+                i32.const 32
+                local.get 6
+                i32.const 10
+                i32.shr_u
+                i32.clz
+                i32.sub
+                local.tee 1
+                i32.const 7
+                local.get 1
+                i32.const 7
+                i32.lt_u
+                select
+                i32.const 2
+                i32.shl
+                i32.const 1
+                i32.or
+                local.set 7
+                local.get 2
+                local.get 5
+                i32.sub
+                local.tee 8
+                local.get 3
+                i32.add
+                local.set 3
+                block  ;; label = @7
+                  local.get 2
+                  local.get 5
+                  i32.ne
+                  br_if 0 (;@7;)
+                  local.get 2
+                  local.set 5
+                  local.get 7
+                  local.set 1
+                  br 6 (;@1;)
+                end
+                block  ;; label = @7
+                  local.get 8
+                  i32.const 134217728
+                  i32.lt_u
+                  br_if 0 (;@7;)
+                  i32.const 0
+                  i32.load8_u offset=1051873
+                  drop
+                  i32.const 20
+                  i32.const 4
+                  call $__rust_alloc
+                  local.tee 1
+                  i32.eqz
+                  br_if 2 (;@5;)
+                  local.get 1
+                  i32.const 1
+                  i32.store offset=16
+                  local.get 1
+                  local.get 3
+                  i32.store offset=8
+                  local.get 1
+                  local.get 5
+                  i32.store offset=4
+                  local.get 1
+                  local.get 6
+                  i32.store
+                  local.get 1
+                  local.get 7
+                  i32.const 2
+                  i32.shr_u
+                  i32.const 7
+                  i32.and
+                  i32.store offset=12
+                  br 5 (;@2;)
+                end
+                local.get 8
+                i32.const 5
+                i32.shl
+                local.get 7
+                i32.or
+                local.set 1
+                br 4 (;@2;)
+              end
+              block  ;; label = @6
+                local.get 3
+                i32.eqz
+                br_if 0 (;@6;)
+                i32.const 0
+                local.set 6
+                local.get 3
+                i32.const 0
+                i32.lt_s
+                br_if 2 (;@4;)
+                i32.const 0
+                i32.load8_u offset=1051873
+                drop
+                i32.const 1
+                local.set 6
+                local.get 3
+                i32.const 1
+                call $__rust_alloc
+                local.tee 5
+                i32.eqz
+                br_if 2 (;@4;)
+              end
+              local.get 5
+              local.get 2
+              local.get 3
+              call $memcpy
+              drop
+              local.get 1
+              local.get 1
+              i32.load offset=8
+              local.tee 6
+              i32.const -1
+              i32.add
+              i32.store offset=8
+              block  ;; label = @6
+                local.get 6
+                i32.const 1
+                i32.ne
+                br_if 0 (;@6;)
+                local.get 1
+                i32.const 4
+                i32.add
+                i32.load
+                local.tee 6
+                i32.const -1
+                i32.le_s
+                br_if 3 (;@3;)
+                local.get 1
+                i32.load
+                local.get 6
+                i32.const 1
+                call $__rust_dealloc
+                local.get 1
+                i32.const 12
+                i32.const 4
+                call $__rust_dealloc
+              end
+              i32.const 32
+              local.get 3
+              i32.const 10
+              i32.shr_u
+              i32.clz
+              i32.sub
+              local.tee 1
+              i32.const 7
+              local.get 1
+              i32.const 7
+              i32.lt_u
+              select
+              i32.const 2
+              i32.shl
+              i32.const 1
+              i32.or
+              local.set 1
+              local.get 3
+              local.set 6
+              br 4 (;@1;)
+            end
+            i32.const 4
+            i32.const 20
+            call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+            unreachable
+          end
+          local.get 6
+          local.get 3
+          call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+          unreachable
+        end
+        i32.const 1050452
+        i32.const 43
+        local.get 4
+        i32.const 15
+        i32.add
+        i32.const 1050496
+        i32.const 1050528
+        call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
+        unreachable
+      end
+      i32.const 0
+      local.get 3
+      local.get 8
+      i32.sub
+      local.tee 2
+      local.get 2
+      local.get 3
+      i32.gt_u
+      select
+      local.set 3
+      local.get 6
+      local.get 8
+      i32.sub
+      local.set 6
+      local.get 5
+      local.get 8
+      i32.add
+      local.set 5
+    end
+    local.get 0
+    local.get 1
+    i32.store offset=12
+    local.get 0
+    local.get 6
+    i32.store offset=8
+    local.get 0
+    local.get 3
+    i32.store offset=4
+    local.get 0
+    local.get 5
+    i32.store
+    local.get 4
+    i32.const 16
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN5bytes5bytes20promotable_even_drop17h1682d63eeecce9a7E (type 0) (param i32 i32 i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 0
+            i32.load
+            local.tee 0
+            i32.const 1
+            i32.and
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 1
+            local.get 0
+            i32.const -2
+            i32.and
+            local.tee 0
+            i32.sub
+            local.get 2
+            i32.add
+            local.tee 2
+            i32.const -1
+            i32.le_s
+            br_if 2 (;@2;)
+            local.get 0
+            local.get 2
+            i32.const 1
+            call $__rust_dealloc
+            br 1 (;@3;)
+          end
+          local.get 0
+          local.get 0
+          i32.load offset=8
+          local.tee 2
+          i32.const -1
+          i32.add
+          i32.store offset=8
+          local.get 2
+          i32.const 1
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 4
+          i32.add
+          i32.load
+          local.tee 2
+          i32.const -1
+          i32.le_s
+          br_if 2 (;@1;)
+          local.get 0
+          i32.load
+          local.get 2
+          i32.const 1
+          call $__rust_dealloc
+          local.get 0
+          i32.const 12
+          i32.const 4
+          call $__rust_dealloc
+        end
+        local.get 3
+        i32.const 16
+        i32.add
+        global.set $__stack_pointer
+        return
+      end
+      i32.const 1050452
+      i32.const 43
+      local.get 3
+      i32.const 15
+      i32.add
+      i32.const 1050496
+      i32.const 1050512
+      call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
+      unreachable
+    end
+    i32.const 1050452
+    i32.const 43
+    local.get 3
+    i32.const 15
+    i32.add
+    i32.const 1050496
+    i32.const 1050528
+    call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
+    unreachable)
+  (func $_ZN5bytes5bytes20promotable_odd_clone17hcfb701ad3f082002E (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      local.tee 4
+      i32.const 1
+      i32.and
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      local.get 4
+      local.get 4
+      local.get 2
+      local.get 3
+      call $_ZN5bytes5bytes17shallow_clone_vec17h25a558d5835acdf3E
+      return
+    end
+    local.get 4
+    local.get 4
+    i32.load offset=8
+    local.tee 1
+    i32.const 1
+    i32.add
+    i32.store offset=8
+    block  ;; label = @1
+      local.get 1
+      i32.const -1
+      i32.le_s
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 4
+      i32.store offset=12
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 2
+      i32.store offset=4
+      local.get 0
+      i32.const 1050544
+      i32.store
+      return
+    end
+    call $_ZN5bytes5abort17h7847ceaeaab8ab15E
+    unreachable)
+  (func $_ZN5bytes5bytes21promotable_odd_to_vec17h5d8ea33109cb924cE (type 2) (param i32 i32 i32 i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      local.tee 1
+      i32.const 1
+      i32.and
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 1
+      local.get 2
+      local.get 3
+      call $memmove
+      local.set 1
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 1
+      i32.store offset=4
+      local.get 0
+      local.get 2
+      local.get 3
+      i32.add
+      local.get 1
+      i32.sub
+      i32.store
+      return
+    end
+    local.get 0
+    local.get 1
+    local.get 2
+    local.get 3
+    call $_ZN5bytes5bytes18shared_to_vec_impl17hf22b5bcaca60a7b2E)
+  (func $_ZN5bytes5bytes21promotable_odd_to_mut17h95bc9587e8fef346E (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 1
+              i32.load
+              local.tee 1
+              i32.const 1
+              i32.and
+              i32.eqz
+              br_if 0 (;@5;)
+              i32.const 32
+              local.get 2
+              local.get 1
+              i32.sub
+              local.tee 4
+              local.get 3
+              i32.add
+              local.tee 5
+              i32.const 10
+              i32.shr_u
+              i32.clz
+              i32.sub
+              local.tee 6
+              i32.const 7
+              local.get 6
+              i32.const 7
+              i32.lt_u
+              select
+              i32.const 2
+              i32.shl
+              i32.const 1
+              i32.or
+              local.set 7
+              block  ;; label = @6
+                local.get 2
+                local.get 1
+                i32.ne
+                br_if 0 (;@6;)
+                local.get 7
+                local.set 6
+                local.get 5
+                local.set 3
+                br 5 (;@1;)
+              end
+              local.get 4
+              i32.const 134217728
+              i32.lt_u
+              br_if 2 (;@3;)
+              i32.const 0
+              i32.load8_u offset=1051873
+              drop
+              i32.const 20
+              i32.const 4
+              call $__rust_alloc
+              local.tee 6
+              i32.eqz
+              br_if 1 (;@4;)
+              local.get 6
+              i32.const 1
+              i32.store offset=16
+              local.get 6
+              local.get 5
+              i32.store offset=8
+              local.get 6
+              local.get 1
+              i32.store offset=4
+              local.get 6
+              local.get 5
+              i32.store
+              local.get 6
+              local.get 7
+              i32.const 2
+              i32.shr_u
+              i32.const 7
+              i32.and
+              i32.store offset=12
+              br 3 (;@2;)
+            end
+            local.get 0
+            local.get 1
+            local.get 2
+            local.get 3
+            call $_ZN5bytes5bytes18shared_to_mut_impl17h46c5417875d3e9a7E
+            return
+          end
+          i32.const 4
+          i32.const 20
+          call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+          unreachable
+        end
+        local.get 4
+        i32.const 5
+        i32.shl
+        local.get 7
+        i32.or
+        local.set 6
+      end
+      i32.const 0
+      local.get 5
+      local.get 4
+      i32.sub
+      local.tee 2
+      local.get 2
+      local.get 5
+      i32.gt_u
+      select
+      local.set 5
+      local.get 1
+      local.get 4
+      i32.add
+      local.set 2
+    end
+    local.get 0
+    local.get 6
+    i32.store offset=12
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 5
+    i32.store offset=4
+    local.get 0
+    local.get 2
+    i32.store)
+  (func $_ZN5bytes5bytes19promotable_odd_drop17hd9893b9965f4d03eE (type 0) (param i32 i32 i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 0
+            i32.load
+            local.tee 0
+            i32.const 1
+            i32.and
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 1
+            local.get 0
+            i32.sub
+            local.get 2
+            i32.add
+            local.tee 2
+            i32.const -1
+            i32.le_s
+            br_if 2 (;@2;)
+            local.get 0
+            local.get 2
+            i32.const 1
+            call $__rust_dealloc
+            br 1 (;@3;)
+          end
+          local.get 0
+          local.get 0
+          i32.load offset=8
+          local.tee 2
+          i32.const -1
+          i32.add
+          i32.store offset=8
+          local.get 2
+          i32.const 1
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 4
+          i32.add
+          i32.load
+          local.tee 2
+          i32.const -1
+          i32.le_s
+          br_if 2 (;@1;)
+          local.get 0
+          i32.load
+          local.get 2
+          i32.const 1
+          call $__rust_dealloc
+          local.get 0
+          i32.const 12
+          i32.const 4
+          call $__rust_dealloc
+        end
+        local.get 3
+        i32.const 16
+        i32.add
+        global.set $__stack_pointer
+        return
+      end
+      i32.const 1050452
+      i32.const 43
+      local.get 3
+      i32.const 15
+      i32.add
+      i32.const 1050496
+      i32.const 1050512
+      call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
+      unreachable
+    end
+    i32.const 1050452
+    i32.const 43
+    local.get 3
+    i32.const 15
+    i32.add
+    i32.const 1050496
+    i32.const 1050528
+    call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
+    unreachable)
+  (func $_ZN5bytes5bytes20promotable_is_unique17h020665ac6bee7cfdE (type 10) (param i32) (result i32)
+    (local i32)
+    i32.const 1
+    local.set 1
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.tee 0
+      i32.const 1
+      i32.and
+      br_if 0 (;@1;)
+      local.get 0
+      i32.load offset=8
+      i32.const 1
+      i32.eq
+      local.set 1
+    end
+    local.get 1)
+  (func $_ZN5bytes5bytes12shared_clone17h87a7760eba5d0abeE.llvm.5932322697774810047 (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    local.get 1
+    i32.load
+    local.tee 1
+    local.get 1
+    i32.load offset=8
+    local.tee 4
+    i32.const 1
+    i32.add
+    i32.store offset=8
+    block  ;; label = @1
+      local.get 4
+      i32.const -1
+      i32.gt_s
+      br_if 0 (;@1;)
+      call $_ZN5bytes5abort17h7847ceaeaab8ab15E
+      unreachable
+    end
+    local.get 0
+    local.get 1
+    i32.store offset=12
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 0
+    i32.const 1050544
+    i32.store)
+  (func $_ZN5bytes5bytes13shared_to_vec17hc3c7c24fa33ba490E.llvm.5932322697774810047 (type 2) (param i32 i32 i32 i32)
+    local.get 0
+    local.get 1
+    i32.load
+    local.get 2
+    local.get 3
+    call $_ZN5bytes5bytes18shared_to_vec_impl17hf22b5bcaca60a7b2E)
+  (func $_ZN5bytes5bytes13shared_to_mut17ha7cdfa5747aa9e90E.llvm.5932322697774810047 (type 2) (param i32 i32 i32 i32)
+    local.get 0
+    local.get 1
+    i32.load
+    local.get 2
+    local.get 3
+    call $_ZN5bytes5bytes18shared_to_mut_impl17h46c5417875d3e9a7E)
+  (func $_ZN5bytes5bytes16shared_is_unique17h6b20a183193c4d3aE.llvm.5932322697774810047 (type 10) (param i32) (result i32)
+    local.get 0
+    i32.load
+    i32.load offset=8
+    i32.const 1
+    i32.eq)
+  (func $_ZN5bytes5bytes11shared_drop17hf3fb21e2b6b585c5E.llvm.5932322697774810047 (type 0) (param i32 i32 i32)
+    (local i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 0
+    i32.load
+    local.tee 0
+    local.get 0
+    i32.load offset=8
+    local.tee 4
+    i32.const -1
+    i32.add
+    i32.store offset=8
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 4
+        i32.const 1
+        i32.ne
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 4
+        i32.add
+        i32.load
+        local.tee 4
+        i32.const -1
+        i32.le_s
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load
+        local.get 4
+        i32.const 1
+        call $__rust_dealloc
+        local.get 0
+        i32.const 12
+        i32.const 4
+        call $__rust_dealloc
+      end
+      local.get 3
+      i32.const 16
+      i32.add
+      global.set $__stack_pointer
+      return
+    end
+    i32.const 1050452
+    i32.const 43
+    local.get 3
+    i32.const 15
+    i32.add
+    i32.const 1050496
+    i32.const 1050528
+    call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
+    unreachable)
+  (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c8ab8a4ebe78826E.llvm.13498044319351723418 (type 0) (param i32 i32 i32)
+    (local i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    block  ;; label = @1
+      local.get 1
+      local.get 2
+      i32.add
+      local.tee 2
+      local.get 1
+      i32.ge_u
+      br_if 0 (;@1;)
+      i32.const 0
+      i32.const 0
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    i32.const 1
+    local.set 4
+    local.get 0
+    i32.load
+    local.tee 5
+    i32.const 1
+    i32.shl
+    local.tee 1
+    local.get 2
+    local.get 1
+    local.get 2
+    i32.gt_u
+    select
+    local.tee 1
+    i32.const 8
+    local.get 1
+    i32.const 8
+    i32.gt_u
+    select
+    local.tee 1
+    i32.const -1
+    i32.xor
+    i32.const 31
+    i32.shr_u
+    local.set 2
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 5
+        br_if 0 (;@2;)
+        i32.const 0
+        local.set 4
+        br 1 (;@1;)
+      end
+      local.get 3
+      local.get 5
+      i32.store offset=28
+      local.get 3
+      local.get 0
+      i32.load offset=4
+      i32.store offset=20
+    end
+    local.get 3
+    local.get 4
+    i32.store offset=24
+    local.get 3
+    i32.const 8
+    i32.add
+    local.get 2
+    local.get 1
+    local.get 3
+    i32.const 20
+    i32.add
+    call $_ZN5alloc7raw_vec11finish_grow17hfd8a743f43564090E.llvm.13498044319351723418
+    block  ;; label = @1
+      local.get 3
+      i32.load offset=8
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 3
+      i32.load offset=12
+      local.get 3
+      i32.load offset=16
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    local.get 3
+    i32.load offset=12
+    local.set 2
+    local.get 0
+    local.get 1
+    i32.store
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 3
+    i32.const 32
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN5alloc7raw_vec11finish_grow17hfd8a743f43564090E.llvm.13498044319351723418 (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i32)
+    i32.const 1
+    local.set 4
+    i32.const 0
+    local.set 5
+    i32.const 4
+    local.set 6
+    block  ;; label = @1
+      local.get 1
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 0
+      i32.lt_s
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 3
+                i32.load offset=4
+                i32.eqz
+                br_if 0 (;@6;)
+                block  ;; label = @7
+                  local.get 3
+                  i32.load offset=8
+                  local.tee 4
+                  br_if 0 (;@7;)
+                  block  ;; label = @8
+                    local.get 2
+                    br_if 0 (;@8;)
+                    i32.const 1
+                    local.set 4
+                    br 4 (;@4;)
+                  end
+                  i32.const 0
+                  i32.load8_u offset=1051873
+                  drop
+                  local.get 2
+                  i32.const 1
+                  call $__rust_alloc
+                  local.set 4
+                  br 2 (;@5;)
+                end
+                local.get 3
+                i32.load
+                local.get 4
+                i32.const 1
+                local.get 2
+                call $__rust_realloc
+                local.set 4
+                br 1 (;@5;)
+              end
+              block  ;; label = @6
+                local.get 2
+                br_if 0 (;@6;)
+                i32.const 1
+                local.set 4
+                br 2 (;@4;)
+              end
+              i32.const 0
+              i32.load8_u offset=1051873
+              drop
+              local.get 2
+              i32.const 1
+              call $__rust_alloc
+              local.set 4
+            end
+            local.get 4
+            i32.eqz
+            br_if 1 (;@3;)
+          end
+          local.get 0
+          local.get 4
+          i32.store offset=4
+          i32.const 0
+          local.set 4
+          br 1 (;@2;)
+        end
+        i32.const 1
+        local.set 4
+        local.get 0
+        i32.const 1
+        i32.store offset=4
+      end
+      i32.const 8
+      local.set 6
+      local.get 2
+      local.set 5
+    end
+    local.get 0
+    local.get 6
+    i32.add
+    local.get 5
+    i32.store
+    local.get 0
+    local.get 4
+    i32.store)
+  (func $_ZN5bytes5abort17h7847ceaeaab8ab15E (type 11)
+    call $_ZN3std7process5abort17h38dc887bf8ba17f6E
+    unreachable)
+  (func $_ZN5bytes13panic_advance17heb816a5acb8c23c0E (type 4) (param i32 i32)
+    (local i32 i64)
+    global.get $__stack_pointer
+    i32.const 48
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    local.get 1
+    i32.store offset=4
+    local.get 2
+    local.get 0
+    i32.store
+    local.get 2
+    i32.const 2
+    i32.store offset=12
+    local.get 2
+    i32.const 1050616
+    i32.store offset=8
+    local.get 2
+    i64.const 2
+    i64.store offset=20 align=4
+    local.get 2
+    i32.const 37
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.tee 3
+    local.get 2
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=40
+    local.get 2
+    local.get 3
+    local.get 2
+    i32.const 4
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=32
+    local.get 2
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.store offset=16
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 1050720
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E (type 5) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 0
+    i32.load offset=4
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 0
+                    i32.load offset=12
+                    local.tee 5
+                    i32.const 1
+                    i32.and
+                    br_if 0 (;@8;)
+                    local.get 4
+                    local.get 1
+                    i32.add
+                    local.tee 1
+                    local.get 4
+                    i32.lt_u
+                    br_if 3 (;@5;)
+                    local.get 5
+                    i32.load offset=16
+                    i32.const 1
+                    i32.eq
+                    br_if 2 (;@6;)
+                    i32.const 0
+                    local.set 6
+                    local.get 2
+                    i32.eqz
+                    br_if 7 (;@1;)
+                    i32.const 1
+                    local.set 6
+                    i32.const 0
+                    local.set 7
+                    block  ;; label = @9
+                      local.get 1
+                      i32.const 1
+                      local.get 5
+                      i32.load offset=12
+                      local.tee 2
+                      i32.const 9
+                      i32.add
+                      i32.shl
+                      i32.const 0
+                      local.get 2
+                      select
+                      local.tee 4
+                      local.get 1
+                      local.get 4
+                      i32.gt_u
+                      select
+                      local.tee 4
+                      i32.eqz
+                      br_if 0 (;@9;)
+                      local.get 4
+                      i32.const 0
+                      i32.lt_s
+                      br_if 2 (;@7;)
+                      i32.const 0
+                      i32.load8_u offset=1051873
+                      drop
+                      i32.const 1
+                      local.set 7
+                      local.get 4
+                      i32.const 1
+                      call $__rust_alloc
+                      local.tee 6
+                      i32.eqz
+                      br_if 2 (;@7;)
+                    end
+                    i32.const 0
+                    local.set 1
+                    local.get 3
+                    i32.const 0
+                    i32.store offset=12
+                    local.get 3
+                    local.get 6
+                    i32.store offset=8
+                    local.get 3
+                    local.get 4
+                    i32.store offset=4
+                    local.get 0
+                    i32.load
+                    local.set 8
+                    block  ;; label = @9
+                      local.get 4
+                      local.get 0
+                      i32.load offset=4
+                      local.tee 7
+                      i32.ge_u
+                      br_if 0 (;@9;)
+                      local.get 3
+                      i32.const 4
+                      i32.add
+                      i32.const 0
+                      local.get 7
+                      call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c8ab8a4ebe78826E.llvm.13498044319351723418
+                      local.get 3
+                      i32.load offset=8
+                      local.set 6
+                      local.get 3
+                      i32.load offset=12
+                      local.set 1
+                    end
+                    local.get 6
+                    local.get 1
+                    i32.add
+                    local.get 8
+                    local.get 7
+                    call $memcpy
+                    drop
+                    local.get 5
+                    local.get 5
+                    i32.load offset=16
+                    local.tee 4
+                    i32.const -1
+                    i32.add
+                    i32.store offset=16
+                    local.get 3
+                    local.get 1
+                    local.get 7
+                    i32.add
+                    i32.store offset=12
+                    i32.const 1
+                    local.set 6
+                    block  ;; label = @9
+                      local.get 4
+                      i32.const 1
+                      i32.ne
+                      br_if 0 (;@9;)
+                      block  ;; label = @10
+                        local.get 5
+                        i32.load
+                        local.tee 4
+                        i32.eqz
+                        br_if 0 (;@10;)
+                        local.get 5
+                        i32.load offset=4
+                        local.get 4
+                        i32.const 1
+                        call $__rust_dealloc
+                      end
+                      local.get 5
+                      i32.const 20
+                      i32.const 4
+                      call $__rust_dealloc
+                    end
+                    local.get 0
+                    local.get 3
+                    i32.load offset=8
+                    i32.store
+                    local.get 0
+                    local.get 3
+                    i32.load offset=4
+                    i32.store offset=8
+                    local.get 0
+                    local.get 2
+                    i32.const 2
+                    i32.shl
+                    i32.const 1
+                    i32.or
+                    i32.store offset=12
+                    br 7 (;@1;)
+                  end
+                  local.get 0
+                  i32.load offset=8
+                  local.tee 9
+                  local.get 5
+                  i32.const 5
+                  i32.shr_u
+                  local.tee 7
+                  i32.add
+                  local.set 8
+                  block  ;; label = @8
+                    local.get 7
+                    local.get 4
+                    i32.lt_u
+                    br_if 0 (;@8;)
+                    local.get 8
+                    local.get 4
+                    i32.sub
+                    local.get 1
+                    i32.ge_u
+                    br_if 4 (;@4;)
+                  end
+                  i32.const 0
+                  local.set 6
+                  local.get 2
+                  i32.eqz
+                  br_if 6 (;@1;)
+                  local.get 3
+                  local.get 8
+                  i32.store offset=4
+                  local.get 3
+                  local.get 7
+                  local.get 4
+                  i32.add
+                  local.tee 6
+                  i32.store offset=12
+                  local.get 3
+                  local.get 0
+                  i32.load
+                  local.get 7
+                  i32.sub
+                  local.tee 5
+                  i32.store offset=8
+                  block  ;; label = @8
+                    local.get 9
+                    local.get 4
+                    i32.sub
+                    local.get 1
+                    i32.ge_u
+                    br_if 0 (;@8;)
+                    local.get 3
+                    i32.const 4
+                    i32.add
+                    local.get 6
+                    local.get 1
+                    call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c8ab8a4ebe78826E.llvm.13498044319351723418
+                    local.get 3
+                    i32.load offset=4
+                    local.set 8
+                    local.get 3
+                    i32.load offset=8
+                    local.set 5
+                  end
+                  local.get 0
+                  local.get 8
+                  local.get 7
+                  i32.sub
+                  i32.store offset=8
+                  local.get 0
+                  local.get 5
+                  local.get 7
+                  i32.add
+                  i32.store
+                  i32.const 1
+                  local.set 6
+                  br 6 (;@1;)
+                end
+                local.get 7
+                local.get 4
+                call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+                unreachable
+              end
+              local.get 5
+              i32.load
+              local.tee 7
+              local.get 0
+              i32.load
+              local.tee 6
+              local.get 5
+              i32.load offset=4
+              local.tee 9
+              i32.sub
+              local.tee 8
+              local.get 1
+              i32.add
+              local.tee 10
+              i32.lt_u
+              br_if 3 (;@2;)
+              local.get 0
+              local.get 1
+              i32.store offset=8
+              i32.const 1
+              local.set 6
+              br 4 (;@1;)
+            end
+            i32.const 0
+            local.set 6
+            local.get 2
+            br_if 1 (;@3;)
+            br 3 (;@1;)
+          end
+          local.get 0
+          i32.load
+          local.tee 6
+          local.get 7
+          i32.sub
+          local.get 6
+          local.get 4
+          call $memcpy
+          local.set 4
+          local.get 0
+          local.get 5
+          i32.const 31
+          i32.and
+          i32.store offset=12
+          local.get 0
+          local.get 4
+          i32.store
+          local.get 0
+          local.get 8
+          i32.store offset=8
+          i32.const 1
+          local.set 6
+          br 2 (;@1;)
+        end
+        i32.const 1050830
+        i32.const 8
+        i32.const 1050856
+        call $_ZN4core9panicking5panic17h3b99507adb69386aE
+        unreachable
+      end
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 7
+            local.get 1
+            i32.lt_u
+            br_if 0 (;@4;)
+            local.get 8
+            local.get 4
+            i32.ge_u
+            br_if 1 (;@3;)
+          end
+          i32.const 0
+          local.set 6
+          local.get 2
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 10
+          local.get 1
+          i32.lt_u
+          br_if 1 (;@2;)
+          local.get 5
+          local.get 8
+          local.get 4
+          i32.add
+          local.tee 4
+          i32.store offset=8
+          i32.const 1
+          local.set 6
+          block  ;; label = @4
+            local.get 7
+            local.get 4
+            i32.sub
+            local.get 7
+            i32.const 1
+            i32.shl
+            local.tee 1
+            local.get 10
+            local.get 1
+            local.get 10
+            i32.gt_u
+            select
+            local.get 4
+            i32.sub
+            local.tee 1
+            i32.ge_u
+            br_if 0 (;@4;)
+            local.get 5
+            local.get 4
+            local.get 1
+            call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c8ab8a4ebe78826E.llvm.13498044319351723418
+            local.get 5
+            i32.load
+            local.set 7
+            local.get 5
+            i32.load offset=4
+            local.set 9
+          end
+          local.get 0
+          local.get 7
+          local.get 8
+          i32.sub
+          i32.store offset=8
+          local.get 0
+          local.get 9
+          local.get 8
+          i32.add
+          i32.store
+          br 2 (;@1;)
+        end
+        local.get 0
+        local.get 9
+        local.get 6
+        local.get 4
+        call $memcpy
+        i32.store
+        local.get 0
+        local.get 5
+        i32.load
+        i32.store offset=8
+        i32.const 1
+        local.set 6
+        br 1 (;@1;)
+      end
+      i32.const 1050830
+      i32.const 8
+      i32.const 1050840
+      call $_ZN4core6option13expect_failed17h637b3c5bf9792ea8E
+      unreachable
+    end
+    local.get 3
+    i32.const 16
+    i32.add
+    global.set $__stack_pointer
+    local.get 6)
+  (func $_ZN5bytes9bytes_mut8BytesMut17advance_unchecked17h8cc95633436894fdE (type 4) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      local.get 1
+      i32.eqz
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=12
+        local.tee 2
+        i32.const 1
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 2
+            i32.const 5
+            i32.shr_u
+            local.tee 3
+            local.get 1
+            i32.add
+            local.tee 4
+            i32.const 134217728
+            i32.ge_u
+            br_if 0 (;@4;)
+            local.get 4
+            i32.const 5
+            i32.shl
+            local.get 2
+            i32.const 31
+            i32.and
+            i32.or
+            local.set 4
+            br 1 (;@3;)
+          end
+          i32.const 0
+          i32.load8_u offset=1051873
+          drop
+          local.get 0
+          i32.load offset=8
+          local.set 5
+          local.get 0
+          i32.load offset=4
+          local.set 6
+          local.get 0
+          i32.load
+          local.set 7
+          block  ;; label = @4
+            i32.const 20
+            i32.const 4
+            call $__rust_alloc
+            local.tee 4
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 4
+            i32.const 1
+            i32.store offset=16
+            local.get 4
+            local.get 6
+            local.get 3
+            i32.add
+            i32.store offset=8
+            local.get 4
+            local.get 7
+            local.get 3
+            i32.sub
+            i32.store offset=4
+            local.get 4
+            local.get 5
+            local.get 3
+            i32.add
+            i32.store
+            local.get 4
+            local.get 2
+            i32.const 2
+            i32.shr_u
+            i32.const 7
+            i32.and
+            i32.store offset=12
+            br 1 (;@3;)
+          end
+          i32.const 4
+          i32.const 20
+          call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+          unreachable
+        end
+        local.get 0
+        local.get 4
+        i32.store offset=12
+      end
+      local.get 0
+      local.get 0
+      i32.load
+      local.get 1
+      i32.add
+      i32.store
+      local.get 0
+      local.get 0
+      i32.load offset=8
+      local.get 1
+      i32.sub
+      i32.store offset=8
+      local.get 0
+      i32.const 0
+      local.get 0
+      i32.load offset=4
+      local.tee 4
+      local.get 1
+      i32.sub
+      local.tee 1
+      local.get 1
+      local.get 4
+      i32.gt_u
+      select
+      i32.store offset=4
+    end)
+  (func $_ZN68_$LT$bytes..bytes_mut..BytesMut$u20$as$u20$core..ops..drop..Drop$GT$4drop17h694f9b0f8c62c807E (type 1) (param i32)
+    (local i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=12
+        local.tee 1
+        i32.const 1
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 0
+        i32.load offset=8
+        local.get 1
+        i32.const 5
+        i32.shr_u
+        local.tee 1
+        i32.add
+        local.tee 2
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load
+        local.get 1
+        i32.sub
+        local.get 2
+        i32.const 1
+        call $__rust_dealloc
+        return
+      end
+      local.get 1
+      local.get 1
+      i32.load offset=16
+      local.tee 0
+      i32.const -1
+      i32.add
+      i32.store offset=16
+      local.get 0
+      i32.const 1
+      i32.ne
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 1
+        i32.load
+        local.tee 0
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        i32.load offset=4
+        local.get 0
+        i32.const 1
+        call $__rust_dealloc
+      end
+      local.get 1
+      i32.const 20
+      i32.const 4
+      call $__rust_dealloc
+    end)
+  (func $_ZN74_$LT$bytes..bytes_mut..BytesMut$u20$as$u20$bytes..buf..buf_mut..BufMut$GT$9put_slice17h0e2daf131143dac5E (type 0) (param i32 i32 i32)
+    (local i32 i32)
+    block  ;; label = @1
+      local.get 0
+      i32.load offset=8
+      local.get 0
+      i32.load offset=4
+      local.tee 3
+      i32.sub
+      local.tee 4
+      local.get 2
+      i32.ge_u
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 2
+      i32.const 1
+      call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
+      drop
+      local.get 0
+      i32.load offset=8
+      local.get 0
+      i32.load offset=4
+      local.tee 3
+      i32.sub
+      local.set 4
+    end
+    local.get 0
+    i32.load
+    local.get 3
+    i32.add
+    local.get 1
+    local.get 2
+    call $memcpy
+    drop
+    block  ;; label = @1
+      local.get 4
+      local.get 2
+      i32.ge_u
+      br_if 0 (;@1;)
+      local.get 2
+      local.get 4
+      call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
+      unreachable
+    end
+    local.get 0
+    local.get 3
+    local.get 2
+    i32.add
+    i32.store offset=4)
+  (func $_ZN5bytes9bytes_mut11rebuild_vec17h38cce237df47590bE (type 7) (param i32 i32 i32 i32 i32)
+    local.get 0
+    local.get 4
+    local.get 2
+    i32.add
+    i32.store offset=8
+    local.get 0
+    local.get 1
+    local.get 4
+    i32.sub
+    i32.store offset=4
+    local.get 0
+    local.get 4
+    local.get 3
+    i32.add
+    i32.store)
+  (func $_ZN5bytes9bytes_mut14shared_v_clone17h1f76e68986705f75E (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    local.get 1
+    i32.load
+    local.tee 1
+    local.get 1
+    i32.load offset=16
+    local.tee 4
+    i32.const 1
+    i32.add
+    i32.store offset=16
+    block  ;; label = @1
+      local.get 4
+      i32.const -1
+      i32.gt_s
+      br_if 0 (;@1;)
+      call $_ZN5bytes5abort17h7847ceaeaab8ab15E
+      unreachable
+    end
+    local.get 0
+    local.get 1
+    i32.store offset=12
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 0
+    i32.const 1050872
+    i32.store)
+  (func $_ZN5bytes9bytes_mut15shared_v_to_vec17he57e9e159f74f9c2E (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i32)
+    i32.const 1
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.load
+          local.tee 1
+          i32.load offset=16
+          i32.const 1
+          i32.eq
+          br_if 0 (;@3;)
+          block  ;; label = @4
+            local.get 3
+            i32.eqz
+            br_if 0 (;@4;)
+            i32.const 0
+            local.set 5
+            local.get 3
+            i32.const 0
+            i32.lt_s
+            br_if 3 (;@1;)
+            i32.const 0
+            i32.load8_u offset=1051873
+            drop
+            i32.const 1
+            local.set 5
+            local.get 3
+            i32.const 1
+            call $__rust_alloc
+            local.tee 4
+            i32.eqz
+            br_if 3 (;@1;)
+          end
+          local.get 4
+          local.get 2
+          local.get 3
+          call $memcpy
+          drop
+          local.get 1
+          local.get 1
+          i32.load offset=16
+          local.tee 2
+          i32.const -1
+          i32.add
+          i32.store offset=16
+          local.get 3
+          local.set 5
+          local.get 2
+          i32.const 1
+          i32.ne
+          br_if 1 (;@2;)
+          block  ;; label = @4
+            local.get 1
+            i32.load
+            local.tee 5
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 1
+            i32.load offset=4
+            local.get 5
+            i32.const 1
+            call $__rust_dealloc
+          end
+          local.get 1
+          i32.const 20
+          i32.const 4
+          call $__rust_dealloc
+          local.get 3
+          local.set 5
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.const 0
+        i32.store offset=8
+        local.get 1
+        i32.load offset=4
+        local.set 4
+        local.get 1
+        i32.load
+        local.set 5
+        local.get 1
+        i64.const 4294967296
+        i64.store align=4
+        local.get 1
+        local.get 1
+        i32.load offset=16
+        local.tee 6
+        i32.const -1
+        i32.add
+        i32.store offset=16
+        block  ;; label = @3
+          local.get 6
+          i32.const 1
+          i32.ne
+          br_if 0 (;@3;)
+          block  ;; label = @4
+            local.get 1
+            i32.load
+            local.tee 6
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 1
+            i32.load offset=4
+            local.get 6
+            i32.const 1
+            call $__rust_dealloc
+          end
+          local.get 1
+          i32.const 20
+          i32.const 4
+          call $__rust_dealloc
+        end
+        local.get 4
+        local.get 2
+        local.get 3
+        call $memmove
+        drop
+      end
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 4
+      i32.store offset=4
+      local.get 0
+      local.get 5
+      i32.store
+      return
+    end
+    local.get 5
+    local.get 3
+    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+    unreachable)
+  (func $_ZN5bytes9bytes_mut15shared_v_to_mut17h0a28fea12aa912d6E (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    i32.const 1
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.load
+          local.tee 1
+          i32.load offset=16
+          i32.const 1
+          i32.eq
+          br_if 0 (;@3;)
+          block  ;; label = @4
+            local.get 3
+            i32.eqz
+            br_if 0 (;@4;)
+            i32.const 0
+            local.set 5
+            local.get 3
+            i32.const 0
+            i32.lt_s
+            br_if 3 (;@1;)
+            i32.const 0
+            i32.load8_u offset=1051873
+            drop
+            i32.const 1
+            local.set 5
+            local.get 3
+            i32.const 1
+            call $__rust_alloc
+            local.tee 4
+            i32.eqz
+            br_if 3 (;@1;)
+          end
+          local.get 4
+          local.get 2
+          local.get 3
+          call $memcpy
+          drop
+          local.get 1
+          local.get 1
+          i32.load offset=16
+          local.tee 2
+          i32.const -1
+          i32.add
+          i32.store offset=16
+          block  ;; label = @4
+            local.get 2
+            i32.const 1
+            i32.ne
+            br_if 0 (;@4;)
+            block  ;; label = @5
+              local.get 1
+              i32.load
+              local.tee 2
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 1
+              i32.load offset=4
+              local.get 2
+              i32.const 1
+              call $__rust_dealloc
+            end
+            local.get 1
+            i32.const 20
+            i32.const 4
+            call $__rust_dealloc
+          end
+          i32.const 32
+          local.get 3
+          i32.const 10
+          i32.shr_u
+          i32.clz
+          i32.sub
+          local.tee 1
+          i32.const 7
+          local.get 1
+          i32.const 7
+          i32.lt_u
+          select
+          i32.const 2
+          i32.shl
+          i32.const 1
+          i32.or
+          local.set 1
+          local.get 3
+          local.set 5
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.load
+        local.get 2
+        i32.sub
+        local.get 1
+        i32.load offset=4
+        i32.add
+        local.set 5
+        local.get 2
+        local.set 4
+      end
+      local.get 0
+      local.get 1
+      i32.store offset=12
+      local.get 0
+      local.get 5
+      i32.store offset=8
+      local.get 0
+      local.get 3
+      i32.store offset=4
+      local.get 0
+      local.get 4
+      i32.store
+      return
+    end
+    local.get 5
+    local.get 3
+    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+    unreachable)
+  (func $_ZN5bytes9bytes_mut18shared_v_is_unique17h089cb643903ffe29E (type 10) (param i32) (result i32)
+    local.get 0
+    i32.load
+    i32.load offset=16
+    i32.const 1
+    i32.eq)
+  (func $_ZN5bytes9bytes_mut13shared_v_drop17hcb5bbcb630efea93E (type 0) (param i32 i32 i32)
+    (local i32)
+    local.get 0
+    i32.load
+    local.tee 0
+    local.get 0
+    i32.load offset=16
+    local.tee 3
+    i32.const -1
+    i32.add
+    i32.store offset=16
+    block  ;; label = @1
+      local.get 3
+      i32.const 1
+      i32.ne
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 0
+        i32.load
+        local.tee 3
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 0
+        i32.load offset=4
+        local.get 3
+        i32.const 1
+        call $__rust_dealloc
+      end
+      local.get 0
+      i32.const 20
+      i32.const 4
+      call $__rust_dealloc
+    end)
+  (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h88d3cb239ded0a8bE (type 4) (param i32 i32)
+    local.get 0
+    i64.const -2989668174502565848
+    i64.store offset=8
+    local.get 0
+    i64.const -8255713724082750831
+    i64.store)
+  (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h9571516faba776b2E (type 4) (param i32 i32)
+    local.get 0
+    i64.const 9172487606043731407
+    i64.store offset=8
+    local.get 0
+    i64.const -8877450274954529964
+    i64.store)
+  (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17heb1b6f3656f479feE (type 4) (param i32 i32)
+    local.get 0
+    i64.const 7199936582794304877
+    i64.store offset=8
+    local.get 0
+    i64.const -5076933981314334344
+    i64.store)
+  (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h95d0e43a1ec4579dE (type 0) (param i32 i32 i32)
+    (local i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    block  ;; label = @1
+      local.get 1
+      local.get 2
+      i32.add
+      local.tee 2
+      local.get 1
+      i32.ge_u
+      br_if 0 (;@1;)
+      i32.const 0
+      i32.const 0
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    i32.const 1
+    local.set 4
+    local.get 0
+    i32.load
+    local.tee 5
+    i32.const 1
+    i32.shl
+    local.tee 1
+    local.get 2
+    local.get 1
+    local.get 2
+    i32.gt_u
+    select
+    local.tee 1
+    i32.const 8
+    local.get 1
+    i32.const 8
+    i32.gt_u
+    select
+    local.tee 1
+    i32.const -1
+    i32.xor
+    i32.const 31
+    i32.shr_u
+    local.set 2
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 5
+        br_if 0 (;@2;)
+        i32.const 0
+        local.set 4
+        br 1 (;@1;)
+      end
+      local.get 3
+      local.get 5
+      i32.store offset=28
+      local.get 3
+      local.get 0
+      i32.load offset=4
+      i32.store offset=20
+    end
+    local.get 3
+    local.get 4
+    i32.store offset=24
+    local.get 3
+    i32.const 8
+    i32.add
+    local.get 2
+    local.get 1
+    local.get 3
+    i32.const 20
+    i32.add
+    call $_ZN5alloc7raw_vec11finish_grow17ha0fc23de3e124241E
+    block  ;; label = @1
+      local.get 3
+      i32.load offset=8
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 3
+      i32.load offset=12
+      local.get 3
+      i32.load offset=16
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    local.get 3
+    i32.load offset=12
+    local.set 2
+    local.get 0
+    local.get 1
+    i32.store
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 3
+    i32.const 32
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN4core3fmt5Write9write_fmt17h5450563fbb96cb70E (type 6) (param i32 i32) (result i32)
+    local.get 0
+    i32.const 1050892
+    local.get 1
+    call $_ZN4core3fmt5write17hbee61cd3fb7b52a3E)
+  (func $_ZN4core3ptr122drop_in_place$LT$$RF$alloc..boxed..Box$LT$dyn$u20$core..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17hafb4b80ed40fbfe0E (type 1) (param i32))
+  (func $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17hf58ee1d6076085b1E (type 1) (param i32))
+  (func $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17he0b9c7b9b779f017E (type 1) (param i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.tee 1
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      i32.load offset=4
+      local.get 1
+      i32.const 1
+      call $__rust_dealloc
+    end)
+  (func $_ZN4core3ptr77drop_in_place$LT$std..panicking..begin_panic_handler..FormatStringPayload$GT$17h0cdb96bb4afb8b69E (type 1) (param i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.tee 1
+      i32.const -2147483648
+      i32.or
+      i32.const -2147483648
+      i32.eq
+      br_if 0 (;@1;)
+      local.get 0
+      i32.load offset=4
+      local.get 1
+      i32.const 1
+      call $__rust_dealloc
+    end)
+  (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17h36d97d1c4726ee61E (type 6) (param i32 i32) (result i32)
+    (local i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 1
+            i32.const 128
+            i32.lt_u
+            br_if 0 (;@4;)
+            local.get 2
+            i32.const 0
+            i32.store offset=12
+            local.get 1
+            i32.const 2048
+            i32.lt_u
+            br_if 1 (;@3;)
+            block  ;; label = @5
+              local.get 1
+              i32.const 65536
+              i32.ge_u
+              br_if 0 (;@5;)
+              local.get 2
+              local.get 1
+              i32.const 63
+              i32.and
+              i32.const 128
+              i32.or
+              i32.store8 offset=14
+              local.get 2
+              local.get 1
+              i32.const 12
+              i32.shr_u
+              i32.const 224
+              i32.or
+              i32.store8 offset=12
+              local.get 2
+              local.get 1
+              i32.const 6
+              i32.shr_u
+              i32.const 63
+              i32.and
+              i32.const 128
+              i32.or
+              i32.store8 offset=13
+              i32.const 3
+              local.set 1
+              br 3 (;@2;)
+            end
+            local.get 2
+            local.get 1
+            i32.const 63
+            i32.and
+            i32.const 128
+            i32.or
+            i32.store8 offset=15
+            local.get 2
+            local.get 1
+            i32.const 6
+            i32.shr_u
+            i32.const 63
+            i32.and
+            i32.const 128
+            i32.or
+            i32.store8 offset=14
+            local.get 2
+            local.get 1
+            i32.const 12
+            i32.shr_u
+            i32.const 63
+            i32.and
+            i32.const 128
+            i32.or
+            i32.store8 offset=13
+            local.get 2
+            local.get 1
+            i32.const 18
+            i32.shr_u
+            i32.const 7
+            i32.and
+            i32.const 240
+            i32.or
+            i32.store8 offset=12
+            i32.const 4
+            local.set 1
+            br 2 (;@2;)
+          end
+          block  ;; label = @4
+            local.get 0
+            i32.load offset=8
+            local.tee 3
+            local.get 0
+            i32.load
+            i32.ne
+            br_if 0 (;@4;)
+            local.get 0
+            call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17h249dd74981fa9ca3E
+          end
+          local.get 0
+          local.get 3
+          i32.const 1
+          i32.add
+          i32.store offset=8
+          local.get 0
+          i32.load offset=4
+          local.get 3
+          i32.add
+          local.get 1
+          i32.store8
+          br 2 (;@1;)
+        end
+        local.get 2
+        local.get 1
+        i32.const 63
+        i32.and
+        i32.const 128
+        i32.or
+        i32.store8 offset=13
+        local.get 2
+        local.get 1
+        i32.const 6
+        i32.shr_u
+        i32.const 192
+        i32.or
+        i32.store8 offset=12
+        i32.const 2
+        local.set 1
+      end
+      block  ;; label = @2
+        local.get 0
+        i32.load
+        local.get 0
+        i32.load offset=8
+        local.tee 3
+        i32.sub
+        local.get 1
+        i32.ge_u
+        br_if 0 (;@2;)
+        local.get 0
+        local.get 3
+        local.get 1
+        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h95d0e43a1ec4579dE
+        local.get 0
+        i32.load offset=8
+        local.set 3
+      end
+      local.get 0
+      i32.load offset=4
+      local.get 3
+      i32.add
+      local.get 2
+      i32.const 12
+      i32.add
+      local.get 1
+      call $memcpy
+      drop
+      local.get 0
+      local.get 3
+      local.get 1
+      i32.add
+      i32.store offset=8
+    end
+    local.get 2
+    i32.const 16
+    i32.add
+    global.set $__stack_pointer
+    i32.const 0)
+  (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17h249dd74981fa9ca3E (type 1) (param i32)
+    (local i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 1
+    global.set $__stack_pointer
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.tee 2
+      i32.const 1
+      i32.add
+      local.tee 3
+      br_if 0 (;@1;)
+      i32.const 0
+      i32.const 0
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    local.get 2
+    i32.const 1
+    i32.shl
+    local.tee 4
+    local.get 3
+    local.get 4
+    local.get 3
+    i32.gt_u
+    select
+    local.tee 3
+    i32.const 8
+    local.get 3
+    i32.const 8
+    i32.gt_u
+    select
+    local.tee 3
+    i32.const -1
+    i32.xor
+    i32.const 31
+    i32.shr_u
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 2
+        br_if 0 (;@2;)
+        i32.const 0
+        local.set 2
+        br 1 (;@1;)
+      end
+      local.get 1
+      local.get 2
+      i32.store offset=28
+      local.get 1
+      local.get 0
+      i32.load offset=4
+      i32.store offset=20
+      i32.const 1
+      local.set 2
+    end
+    local.get 1
+    local.get 2
+    i32.store offset=24
+    local.get 1
+    i32.const 8
+    i32.add
+    local.get 4
+    local.get 3
+    local.get 1
+    i32.const 20
+    i32.add
+    call $_ZN5alloc7raw_vec11finish_grow17ha0fc23de3e124241E
+    block  ;; label = @1
+      local.get 1
+      i32.load offset=8
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 1
+      i32.load offset=12
+      local.get 1
+      i32.load offset=16
+      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
+      unreachable
+    end
+    local.get 1
+    i32.load offset=12
+    local.set 2
+    local.get 0
+    local.get 3
+    i32.store
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 1
+    i32.const 32
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h932675f2c687b13fE (type 5) (param i32 i32 i32) (result i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.get 0
+      i32.load offset=8
+      local.tee 3
+      i32.sub
+      local.get 2
+      i32.ge_u
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 3
+      local.get 2
+      call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h95d0e43a1ec4579dE
+      local.get 0
+      i32.load offset=8
+      local.set 3
+    end
+    local.get 0
+    i32.load offset=4
+    local.get 3
+    i32.add
+    local.get 1
+    local.get 2
+    call $memcpy
+    drop
+    local.get 0
+    local.get 3
+    local.get 2
+    i32.add
+    i32.store offset=8
+    i32.const 0)
+  (func $_ZN5alloc7raw_vec11finish_grow17ha0fc23de3e124241E (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 2
+          i32.const 0
+          i32.lt_s
+          br_if 1 (;@2;)
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 3
+                i32.load offset=4
+                i32.eqz
+                br_if 0 (;@6;)
+                block  ;; label = @7
+                  local.get 3
+                  i32.load offset=8
+                  local.tee 4
+                  br_if 0 (;@7;)
+                  block  ;; label = @8
+                    local.get 2
+                    br_if 0 (;@8;)
+                    local.get 1
+                    local.set 3
+                    br 4 (;@4;)
+                  end
+                  i32.const 0
+                  i32.load8_u offset=1051873
+                  drop
+                  br 2 (;@5;)
+                end
+                local.get 3
+                i32.load
+                local.get 4
+                local.get 1
+                local.get 2
+                call $__rust_realloc
+                local.set 3
+                br 2 (;@4;)
+              end
+              block  ;; label = @6
+                local.get 2
+                br_if 0 (;@6;)
+                local.get 1
+                local.set 3
+                br 2 (;@4;)
+              end
+              i32.const 0
+              i32.load8_u offset=1051873
+              drop
+            end
+            local.get 2
+            local.get 1
+            call $__rust_alloc
+            local.set 3
+          end
+          block  ;; label = @4
+            local.get 3
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 0
+            local.get 2
+            i32.store offset=8
+            local.get 0
+            local.get 3
+            i32.store offset=4
+            local.get 0
+            i32.const 0
+            i32.store
+            return
+          end
+          local.get 0
+          local.get 2
+          i32.store offset=8
+          local.get 0
+          local.get 1
+          i32.store offset=4
+          br 2 (;@1;)
+        end
+        local.get 0
+        i32.const 0
+        i32.store offset=4
+        br 1 (;@1;)
+      end
+      local.get 0
+      i32.const 0
+      i32.store offset=4
+    end
+    local.get 0
+    i32.const 1
+    i32.store)
+  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE (type 4) (param i32 i32)
+    (local i32 i32 i32 i32)
+    local.get 0
+    i32.load offset=12
+    local.set 2
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.const 256
+          i32.lt_u
+          br_if 0 (;@3;)
+          local.get 0
+          i32.load offset=24
+          local.set 3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 2
+                local.get 0
+                i32.ne
+                br_if 0 (;@6;)
+                local.get 0
+                i32.const 20
+                i32.const 16
+                local.get 0
+                i32.load offset=20
+                local.tee 2
+                select
+                i32.add
+                i32.load
+                local.tee 1
+                br_if 1 (;@5;)
+                i32.const 0
+                local.set 2
+                br 2 (;@4;)
+              end
+              local.get 0
+              i32.load offset=8
+              local.tee 1
+              local.get 2
+              i32.store offset=12
+              local.get 2
+              local.get 1
+              i32.store offset=8
+              br 1 (;@4;)
+            end
+            local.get 0
+            i32.const 20
+            i32.add
+            local.get 0
+            i32.const 16
+            i32.add
+            local.get 2
+            select
+            local.set 4
+            loop  ;; label = @5
+              local.get 4
+              local.set 5
+              local.get 1
+              local.tee 2
+              i32.const 20
+              i32.add
+              local.get 2
+              i32.const 16
+              i32.add
+              local.get 2
+              i32.load offset=20
+              local.tee 1
+              select
+              local.set 4
+              local.get 2
+              i32.const 20
+              i32.const 16
+              local.get 1
+              select
+              i32.add
+              i32.load
+              local.tee 1
+              br_if 0 (;@5;)
+            end
+            local.get 5
+            i32.const 0
+            i32.store
+          end
+          local.get 3
+          i32.eqz
+          br_if 2 (;@1;)
+          block  ;; label = @4
+            local.get 0
+            i32.load offset=28
+            i32.const 2
+            i32.shl
+            i32.const 1051896
+            i32.add
+            local.tee 1
+            i32.load
+            local.get 0
+            i32.eq
+            br_if 0 (;@4;)
+            local.get 3
+            i32.const 16
+            i32.const 20
+            local.get 3
+            i32.load offset=16
+            local.get 0
+            i32.eq
+            select
+            i32.add
+            local.get 2
+            i32.store
+            local.get 2
+            i32.eqz
+            br_if 3 (;@1;)
+            br 2 (;@2;)
+          end
+          local.get 1
+          local.get 2
+          i32.store
+          local.get 2
+          br_if 1 (;@2;)
+          i32.const 0
+          i32.const 0
+          i32.load offset=1052308
+          i32.const -2
+          local.get 0
+          i32.load offset=28
+          i32.rotl
+          i32.and
+          i32.store offset=1052308
+          br 2 (;@1;)
+        end
+        block  ;; label = @3
+          local.get 2
+          local.get 0
+          i32.load offset=8
+          local.tee 4
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 4
+          local.get 2
+          i32.store offset=12
+          local.get 2
+          local.get 4
+          i32.store offset=8
+          return
+        end
+        i32.const 0
+        i32.const 0
+        i32.load offset=1052304
+        i32.const -2
+        local.get 1
+        i32.const 3
+        i32.shr_u
+        i32.rotl
+        i32.and
+        i32.store offset=1052304
+        return
+      end
+      local.get 2
+      local.get 3
+      i32.store offset=24
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=16
+        local.tee 1
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 1
+        i32.store offset=16
+        local.get 1
+        local.get 2
+        i32.store offset=24
+      end
+      local.get 0
+      i32.load offset=20
+      local.tee 1
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 2
+      local.get 1
+      i32.store offset=20
+      local.get 1
+      local.get 2
+      i32.store offset=24
+      return
+    end)
+  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E (type 4) (param i32 i32)
+    (local i32 i32)
+    local.get 0
+    local.get 1
+    i32.add
+    local.set 2
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=4
+        local.tee 3
+        i32.const 1
+        i32.and
+        br_if 0 (;@2;)
+        local.get 3
+        i32.const 2
+        i32.and
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load
+        local.tee 3
+        local.get 1
+        i32.add
+        local.set 1
+        block  ;; label = @3
+          local.get 0
+          local.get 3
+          i32.sub
+          local.tee 0
+          i32.const 0
+          i32.load offset=1052320
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 2
+          i32.load offset=4
+          i32.const 3
+          i32.and
+          i32.const 3
+          i32.ne
+          br_if 1 (;@2;)
+          i32.const 0
+          local.get 1
+          i32.store offset=1052312
+          local.get 2
+          local.get 2
+          i32.load offset=4
+          i32.const -2
+          i32.and
+          i32.store offset=4
+          local.get 0
+          local.get 1
+          i32.const 1
+          i32.or
+          i32.store offset=4
+          local.get 2
+          local.get 1
+          i32.store
+          br 2 (;@1;)
+        end
+        local.get 0
+        local.get 3
+        call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
+      end
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 2
+              i32.load offset=4
+              local.tee 3
+              i32.const 2
+              i32.and
+              br_if 0 (;@5;)
+              local.get 2
+              i32.const 0
+              i32.load offset=1052324
+              i32.eq
+              br_if 2 (;@3;)
+              local.get 2
+              i32.const 0
+              i32.load offset=1052320
+              i32.eq
+              br_if 3 (;@2;)
+              local.get 2
+              local.get 3
+              i32.const -8
+              i32.and
+              local.tee 3
+              call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
+              local.get 0
+              local.get 3
+              local.get 1
+              i32.add
+              local.tee 1
+              i32.const 1
+              i32.or
+              i32.store offset=4
+              local.get 0
+              local.get 1
+              i32.add
+              local.get 1
+              i32.store
+              local.get 0
+              i32.const 0
+              i32.load offset=1052320
+              i32.ne
+              br_if 1 (;@4;)
+              i32.const 0
+              local.get 1
+              i32.store offset=1052312
+              return
+            end
+            local.get 2
+            local.get 3
+            i32.const -2
+            i32.and
+            i32.store offset=4
+            local.get 0
+            local.get 1
+            i32.const 1
+            i32.or
+            i32.store offset=4
+            local.get 0
+            local.get 1
+            i32.add
+            local.get 1
+            i32.store
+          end
+          block  ;; label = @4
+            local.get 1
+            i32.const 256
+            i32.lt_u
+            br_if 0 (;@4;)
+            local.get 0
+            local.get 1
+            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
+            return
+          end
+          local.get 1
+          i32.const -8
+          i32.and
+          i32.const 1052040
+          i32.add
+          local.set 2
+          block  ;; label = @4
+            block  ;; label = @5
+              i32.const 0
+              i32.load offset=1052304
+              local.tee 3
+              i32.const 1
+              local.get 1
+              i32.const 3
+              i32.shr_u
+              i32.shl
+              local.tee 1
+              i32.and
+              br_if 0 (;@5;)
+              i32.const 0
+              local.get 3
+              local.get 1
+              i32.or
+              i32.store offset=1052304
+              local.get 2
+              local.set 1
+              br 1 (;@4;)
+            end
+            local.get 2
+            i32.load offset=8
+            local.set 1
+          end
+          local.get 2
+          local.get 0
+          i32.store offset=8
+          local.get 1
+          local.get 0
+          i32.store offset=12
+          local.get 0
+          local.get 2
+          i32.store offset=12
+          local.get 0
+          local.get 1
+          i32.store offset=8
+          return
+        end
+        i32.const 0
+        local.get 0
+        i32.store offset=1052324
+        i32.const 0
+        i32.const 0
+        i32.load offset=1052316
+        local.get 1
+        i32.add
+        local.tee 1
+        i32.store offset=1052316
+        local.get 0
+        local.get 1
+        i32.const 1
+        i32.or
+        i32.store offset=4
+        local.get 0
+        i32.const 0
+        i32.load offset=1052320
+        i32.ne
+        br_if 1 (;@1;)
+        i32.const 0
+        i32.const 0
+        i32.store offset=1052312
+        i32.const 0
+        i32.const 0
+        i32.store offset=1052320
+        return
+      end
+      i32.const 0
+      local.get 0
+      i32.store offset=1052320
+      i32.const 0
+      i32.const 0
+      i32.load offset=1052312
+      local.get 1
+      i32.add
+      local.tee 1
+      i32.store offset=1052312
+      local.get 0
+      local.get 1
+      i32.const 1
+      i32.or
+      i32.store offset=4
+      local.get 0
+      local.get 1
+      i32.add
+      local.get 1
+      i32.store
+      return
+    end)
+  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E (type 4) (param i32 i32)
+    (local i32 i32 i32 i32)
+    i32.const 0
+    local.set 2
+    block  ;; label = @1
+      local.get 1
+      i32.const 256
+      i32.lt_u
+      br_if 0 (;@1;)
+      i32.const 31
+      local.set 2
+      local.get 1
+      i32.const 16777215
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 1
+      i32.const 6
+      local.get 1
+      i32.const 8
+      i32.shr_u
+      i32.clz
+      local.tee 2
+      i32.sub
+      i32.shr_u
+      i32.const 1
+      i32.and
+      local.get 2
+      i32.const 1
+      i32.shl
+      i32.sub
+      i32.const 62
+      i32.add
+      local.set 2
+    end
+    local.get 0
+    i64.const 0
+    i64.store offset=16 align=4
+    local.get 0
+    local.get 2
+    i32.store offset=28
+    local.get 2
+    i32.const 2
+    i32.shl
+    i32.const 1051896
+    i32.add
+    local.set 3
+    block  ;; label = @1
+      i32.const 0
+      i32.load offset=1052308
+      i32.const 1
+      local.get 2
+      i32.shl
+      local.tee 4
+      i32.and
+      br_if 0 (;@1;)
+      local.get 3
+      local.get 0
+      i32.store
+      local.get 0
+      local.get 3
+      i32.store offset=24
+      local.get 0
+      local.get 0
+      i32.store offset=12
+      local.get 0
+      local.get 0
+      i32.store offset=8
+      i32.const 0
+      i32.const 0
+      i32.load offset=1052308
+      local.get 4
+      i32.or
+      i32.store offset=1052308
+      return
+    end
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 3
+          i32.load
+          local.tee 4
+          i32.load offset=4
+          i32.const -8
+          i32.and
+          local.get 1
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 4
+          local.set 2
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.const 0
+        i32.const 25
+        local.get 2
+        i32.const 1
+        i32.shr_u
+        i32.sub
+        local.get 2
+        i32.const 31
+        i32.eq
+        select
+        i32.shl
+        local.set 3
+        loop  ;; label = @3
+          local.get 4
+          local.get 3
+          i32.const 29
+          i32.shr_u
+          i32.const 4
+          i32.and
+          i32.add
+          i32.const 16
+          i32.add
+          local.tee 5
+          i32.load
+          local.tee 2
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 3
+          i32.const 1
+          i32.shl
+          local.set 3
+          local.get 2
+          local.set 4
+          local.get 2
+          i32.load offset=4
+          i32.const -8
+          i32.and
+          local.get 1
+          i32.ne
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 2
+      i32.load offset=8
+      local.tee 3
+      local.get 0
+      i32.store offset=12
+      local.get 2
+      local.get 0
+      i32.store offset=8
+      local.get 0
+      i32.const 0
+      i32.store offset=24
+      local.get 0
+      local.get 2
+      i32.store offset=12
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      return
+    end
+    local.get 5
+    local.get 0
+    i32.store
+    local.get 0
+    local.get 4
+    i32.store offset=24
+    local.get 0
+    local.get 0
+    i32.store offset=12
+    local.get 0
+    local.get 0
+    i32.store offset=8)
+  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h21bf9d7572bd86f3E (type 1) (param i32)
+    (local i32 i32 i32 i32 i32)
+    local.get 0
+    i32.const -8
+    i32.add
+    local.tee 1
+    local.get 0
+    i32.const -4
+    i32.add
+    i32.load
+    local.tee 2
+    i32.const -8
+    i32.and
+    local.tee 0
+    i32.add
+    local.set 3
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 2
+            i32.const 1
+            i32.and
+            br_if 0 (;@4;)
+            local.get 2
+            i32.const 2
+            i32.and
+            i32.eqz
+            br_if 1 (;@3;)
+            local.get 1
+            i32.load
+            local.tee 2
+            local.get 0
+            i32.add
+            local.set 0
+            block  ;; label = @5
+              local.get 1
+              local.get 2
+              i32.sub
+              local.tee 1
+              i32.const 0
+              i32.load offset=1052320
+              i32.ne
+              br_if 0 (;@5;)
+              local.get 3
+              i32.load offset=4
+              i32.const 3
+              i32.and
+              i32.const 3
+              i32.ne
+              br_if 1 (;@4;)
+              i32.const 0
+              local.get 0
+              i32.store offset=1052312
+              local.get 3
+              local.get 3
+              i32.load offset=4
+              i32.const -2
+              i32.and
+              i32.store offset=4
+              local.get 1
+              local.get 0
+              i32.const 1
+              i32.or
+              i32.store offset=4
+              local.get 3
+              local.get 0
+              i32.store
+              return
+            end
+            local.get 1
+            local.get 2
+            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
+          end
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 3
+                i32.load offset=4
+                local.tee 2
+                i32.const 2
+                i32.and
+                br_if 0 (;@6;)
+                local.get 3
+                i32.const 0
+                i32.load offset=1052324
+                i32.eq
+                br_if 2 (;@4;)
+                local.get 3
+                i32.const 0
+                i32.load offset=1052320
+                i32.eq
+                br_if 5 (;@1;)
+                local.get 3
+                local.get 2
+                i32.const -8
+                i32.and
+                local.tee 2
+                call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
+                local.get 1
+                local.get 2
+                local.get 0
+                i32.add
+                local.tee 0
+                i32.const 1
+                i32.or
+                i32.store offset=4
+                local.get 1
+                local.get 0
+                i32.add
+                local.get 0
+                i32.store
+                local.get 1
+                i32.const 0
+                i32.load offset=1052320
+                i32.ne
+                br_if 1 (;@5;)
+                i32.const 0
+                local.get 0
+                i32.store offset=1052312
+                return
+              end
+              local.get 3
+              local.get 2
+              i32.const -2
+              i32.and
+              i32.store offset=4
+              local.get 1
+              local.get 0
+              i32.const 1
+              i32.or
+              i32.store offset=4
+              local.get 1
+              local.get 0
+              i32.add
+              local.get 0
+              i32.store
+            end
+            local.get 0
+            i32.const 256
+            i32.lt_u
+            br_if 2 (;@2;)
+            local.get 1
+            local.get 0
+            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
+            i32.const 0
+            local.set 1
+            i32.const 0
+            i32.const 0
+            i32.load offset=1052344
+            i32.const -1
+            i32.add
+            local.tee 0
+            i32.store offset=1052344
+            local.get 0
+            br_if 1 (;@3;)
+            block  ;; label = @5
+              i32.const 0
+              i32.load offset=1052032
+              local.tee 0
+              i32.eqz
+              br_if 0 (;@5;)
+              i32.const 0
+              local.set 1
+              loop  ;; label = @6
+                local.get 1
+                i32.const 1
+                i32.add
+                local.set 1
+                local.get 0
+                i32.load offset=8
+                local.tee 0
+                br_if 0 (;@6;)
+              end
+            end
+            i32.const 0
+            local.get 1
+            i32.const 4095
+            local.get 1
+            i32.const 4095
+            i32.gt_u
+            select
+            i32.store offset=1052344
+            return
+          end
+          i32.const 0
+          local.get 1
+          i32.store offset=1052324
+          i32.const 0
+          i32.const 0
+          i32.load offset=1052316
+          local.get 0
+          i32.add
+          local.tee 0
+          i32.store offset=1052316
+          local.get 1
+          local.get 0
+          i32.const 1
+          i32.or
+          i32.store offset=4
+          block  ;; label = @4
+            local.get 1
+            i32.const 0
+            i32.load offset=1052320
+            i32.ne
+            br_if 0 (;@4;)
+            i32.const 0
+            i32.const 0
+            i32.store offset=1052312
+            i32.const 0
+            i32.const 0
+            i32.store offset=1052320
+          end
+          local.get 0
+          i32.const 0
+          i32.load offset=1052336
+          local.tee 4
+          i32.le_u
+          br_if 0 (;@3;)
+          i32.const 0
+          i32.load offset=1052324
+          local.tee 3
+          i32.eqz
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 1
+          block  ;; label = @4
+            i32.const 0
+            i32.load offset=1052316
+            local.tee 5
+            i32.const 41
+            i32.lt_u
+            br_if 0 (;@4;)
+            i32.const 1052024
+            local.set 0
+            loop  ;; label = @5
+              block  ;; label = @6
+                local.get 0
+                i32.load
+                local.tee 2
+                local.get 3
+                i32.gt_u
+                br_if 0 (;@6;)
+                local.get 2
+                local.get 0
+                i32.load offset=4
+                i32.add
+                local.get 3
+                i32.gt_u
+                br_if 2 (;@4;)
+              end
+              local.get 0
+              i32.load offset=8
+              local.tee 0
+              br_if 0 (;@5;)
+            end
+          end
+          block  ;; label = @4
+            i32.const 0
+            i32.load offset=1052032
+            local.tee 0
+            i32.eqz
+            br_if 0 (;@4;)
+            i32.const 0
+            local.set 1
+            loop  ;; label = @5
+              local.get 1
+              i32.const 1
+              i32.add
+              local.set 1
+              local.get 0
+              i32.load offset=8
+              local.tee 0
+              br_if 0 (;@5;)
+            end
+          end
+          i32.const 0
+          local.get 1
+          i32.const 4095
+          local.get 1
+          i32.const 4095
+          i32.gt_u
+          select
+          i32.store offset=1052344
+          local.get 5
+          local.get 4
+          i32.le_u
+          br_if 0 (;@3;)
+          i32.const 0
+          i32.const -1
+          i32.store offset=1052336
+        end
+        return
+      end
+      local.get 0
+      i32.const -8
+      i32.and
+      i32.const 1052040
+      i32.add
+      local.set 3
+      block  ;; label = @2
+        block  ;; label = @3
+          i32.const 0
+          i32.load offset=1052304
+          local.tee 2
+          i32.const 1
+          local.get 0
+          i32.const 3
+          i32.shr_u
+          i32.shl
+          local.tee 0
+          i32.and
+          br_if 0 (;@3;)
+          i32.const 0
+          local.get 2
+          local.get 0
+          i32.or
+          i32.store offset=1052304
+          local.get 3
+          local.set 0
+          br 1 (;@2;)
+        end
+        local.get 3
+        i32.load offset=8
+        local.set 0
+      end
+      local.get 3
+      local.get 1
+      i32.store offset=8
+      local.get 0
+      local.get 1
+      i32.store offset=12
+      local.get 1
+      local.get 3
+      i32.store offset=12
+      local.get 1
+      local.get 0
+      i32.store offset=8
+      return
+    end
+    i32.const 0
+    local.get 1
+    i32.store offset=1052320
+    i32.const 0
+    i32.const 0
+    i32.load offset=1052312
+    local.get 0
+    i32.add
+    local.tee 0
+    i32.store offset=1052312
+    local.get 1
+    local.get 0
+    i32.const 1
+    i32.or
+    i32.store offset=4
+    local.get 1
+    local.get 0
+    i32.add
+    local.get 0
+    i32.store)
+  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h0483a0dc0f5e490bE (type 10) (param i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i64)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 1
+    global.set $__stack_pointer
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 0
+                    i32.const 245
+                    i32.lt_u
+                    br_if 0 (;@8;)
+                    i32.const 0
+                    local.set 2
+                    local.get 0
+                    i32.const -65587
+                    i32.ge_u
+                    br_if 7 (;@1;)
+                    local.get 0
+                    i32.const 11
+                    i32.add
+                    local.tee 0
+                    i32.const -8
+                    i32.and
+                    local.set 3
+                    i32.const 0
+                    i32.load offset=1052308
+                    local.tee 4
+                    i32.eqz
+                    br_if 4 (;@4;)
+                    i32.const 0
+                    local.set 5
+                    block  ;; label = @9
+                      local.get 3
+                      i32.const 256
+                      i32.lt_u
+                      br_if 0 (;@9;)
+                      i32.const 31
+                      local.set 5
+                      local.get 3
+                      i32.const 16777215
+                      i32.gt_u
+                      br_if 0 (;@9;)
+                      local.get 3
+                      i32.const 6
+                      local.get 0
+                      i32.const 8
+                      i32.shr_u
+                      i32.clz
+                      local.tee 0
+                      i32.sub
+                      i32.shr_u
+                      i32.const 1
+                      i32.and
+                      local.get 0
+                      i32.const 1
+                      i32.shl
+                      i32.sub
+                      i32.const 62
+                      i32.add
+                      local.set 5
+                    end
+                    i32.const 0
+                    local.get 3
+                    i32.sub
+                    local.set 2
+                    block  ;; label = @9
+                      local.get 5
+                      i32.const 2
+                      i32.shl
+                      i32.const 1051896
+                      i32.add
+                      i32.load
+                      local.tee 6
+                      br_if 0 (;@9;)
+                      i32.const 0
+                      local.set 0
+                      i32.const 0
+                      local.set 7
+                      br 2 (;@7;)
+                    end
+                    i32.const 0
+                    local.set 0
+                    local.get 3
+                    i32.const 0
+                    i32.const 25
+                    local.get 5
+                    i32.const 1
+                    i32.shr_u
+                    i32.sub
+                    local.get 5
+                    i32.const 31
+                    i32.eq
+                    select
+                    i32.shl
+                    local.set 8
+                    i32.const 0
+                    local.set 7
+                    loop  ;; label = @9
+                      block  ;; label = @10
+                        local.get 6
+                        local.tee 6
+                        i32.load offset=4
+                        i32.const -8
+                        i32.and
+                        local.tee 9
+                        local.get 3
+                        i32.lt_u
+                        br_if 0 (;@10;)
+                        local.get 9
+                        local.get 3
+                        i32.sub
+                        local.tee 9
+                        local.get 2
+                        i32.ge_u
+                        br_if 0 (;@10;)
+                        local.get 9
+                        local.set 2
+                        local.get 6
+                        local.set 7
+                        local.get 9
+                        br_if 0 (;@10;)
+                        i32.const 0
+                        local.set 2
+                        local.get 6
+                        local.set 7
+                        local.get 6
+                        local.set 0
+                        br 4 (;@6;)
+                      end
+                      local.get 6
+                      i32.load offset=20
+                      local.tee 9
+                      local.get 0
+                      local.get 9
+                      local.get 6
+                      local.get 8
+                      i32.const 29
+                      i32.shr_u
+                      i32.const 4
+                      i32.and
+                      i32.add
+                      i32.const 16
+                      i32.add
+                      i32.load
+                      local.tee 6
+                      i32.ne
+                      select
+                      local.get 0
+                      local.get 9
+                      select
+                      local.set 0
+                      local.get 8
+                      i32.const 1
+                      i32.shl
+                      local.set 8
+                      local.get 6
+                      i32.eqz
+                      br_if 2 (;@7;)
+                      br 0 (;@9;)
+                    end
+                  end
+                  block  ;; label = @8
+                    i32.const 0
+                    i32.load offset=1052304
+                    local.tee 6
+                    i32.const 16
+                    local.get 0
+                    i32.const 11
+                    i32.add
+                    i32.const 504
+                    i32.and
+                    local.get 0
+                    i32.const 11
+                    i32.lt_u
+                    select
+                    local.tee 3
+                    i32.const 3
+                    i32.shr_u
+                    local.tee 2
+                    i32.shr_u
+                    local.tee 0
+                    i32.const 3
+                    i32.and
+                    i32.eqz
+                    br_if 0 (;@8;)
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        local.get 0
+                        i32.const -1
+                        i32.xor
+                        i32.const 1
+                        i32.and
+                        local.get 2
+                        i32.add
+                        local.tee 3
+                        i32.const 3
+                        i32.shl
+                        local.tee 0
+                        i32.const 1052040
+                        i32.add
+                        local.tee 2
+                        local.get 0
+                        i32.const 1052048
+                        i32.add
+                        i32.load
+                        local.tee 0
+                        i32.load offset=8
+                        local.tee 7
+                        i32.eq
+                        br_if 0 (;@10;)
+                        local.get 7
+                        local.get 2
+                        i32.store offset=12
+                        local.get 2
+                        local.get 7
+                        i32.store offset=8
+                        br 1 (;@9;)
+                      end
+                      i32.const 0
+                      local.get 6
+                      i32.const -2
+                      local.get 3
+                      i32.rotl
+                      i32.and
+                      i32.store offset=1052304
+                    end
+                    local.get 0
+                    i32.const 8
+                    i32.add
+                    local.set 2
+                    local.get 0
+                    local.get 3
+                    i32.const 3
+                    i32.shl
+                    local.tee 3
+                    i32.const 3
+                    i32.or
+                    i32.store offset=4
+                    local.get 0
+                    local.get 3
+                    i32.add
+                    local.tee 0
+                    local.get 0
+                    i32.load offset=4
+                    i32.const 1
+                    i32.or
+                    i32.store offset=4
+                    br 7 (;@1;)
+                  end
+                  local.get 3
+                  i32.const 0
+                  i32.load offset=1052312
+                  i32.le_u
+                  br_if 3 (;@4;)
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        local.get 0
+                        br_if 0 (;@10;)
+                        i32.const 0
+                        i32.load offset=1052308
+                        local.tee 0
+                        i32.eqz
+                        br_if 6 (;@4;)
+                        local.get 0
+                        i32.ctz
+                        i32.const 2
+                        i32.shl
+                        i32.const 1051896
+                        i32.add
+                        i32.load
+                        local.tee 7
+                        i32.load offset=4
+                        i32.const -8
+                        i32.and
+                        local.get 3
+                        i32.sub
+                        local.set 2
+                        local.get 7
+                        local.set 6
+                        loop  ;; label = @11
+                          block  ;; label = @12
+                            local.get 7
+                            i32.load offset=16
+                            local.tee 0
+                            br_if 0 (;@12;)
+                            local.get 7
+                            i32.load offset=20
+                            local.tee 0
+                            br_if 0 (;@12;)
+                            local.get 6
+                            i32.load offset=24
+                            local.set 5
+                            block  ;; label = @13
+                              block  ;; label = @14
+                                block  ;; label = @15
+                                  local.get 6
+                                  i32.load offset=12
+                                  local.tee 0
+                                  local.get 6
+                                  i32.ne
+                                  br_if 0 (;@15;)
+                                  local.get 6
+                                  i32.const 20
+                                  i32.const 16
+                                  local.get 6
+                                  i32.load offset=20
+                                  local.tee 0
+                                  select
+                                  i32.add
+                                  i32.load
+                                  local.tee 7
+                                  br_if 1 (;@14;)
+                                  i32.const 0
+                                  local.set 0
+                                  br 2 (;@13;)
+                                end
+                                local.get 6
+                                i32.load offset=8
+                                local.tee 7
+                                local.get 0
+                                i32.store offset=12
+                                local.get 0
+                                local.get 7
+                                i32.store offset=8
+                                br 1 (;@13;)
+                              end
+                              local.get 6
+                              i32.const 20
+                              i32.add
+                              local.get 6
+                              i32.const 16
+                              i32.add
+                              local.get 0
+                              select
+                              local.set 8
+                              loop  ;; label = @14
+                                local.get 8
+                                local.set 9
+                                local.get 7
+                                local.tee 0
+                                i32.const 20
+                                i32.add
+                                local.get 0
+                                i32.const 16
+                                i32.add
+                                local.get 0
+                                i32.load offset=20
+                                local.tee 7
+                                select
+                                local.set 8
+                                local.get 0
+                                i32.const 20
+                                i32.const 16
+                                local.get 7
+                                select
+                                i32.add
+                                i32.load
+                                local.tee 7
+                                br_if 0 (;@14;)
+                              end
+                              local.get 9
+                              i32.const 0
+                              i32.store
+                            end
+                            local.get 5
+                            i32.eqz
+                            br_if 4 (;@8;)
+                            block  ;; label = @13
+                              local.get 6
+                              i32.load offset=28
+                              i32.const 2
+                              i32.shl
+                              i32.const 1051896
+                              i32.add
+                              local.tee 7
+                              i32.load
+                              local.get 6
+                              i32.eq
+                              br_if 0 (;@13;)
+                              local.get 5
+                              i32.const 16
+                              i32.const 20
+                              local.get 5
+                              i32.load offset=16
+                              local.get 6
+                              i32.eq
+                              select
+                              i32.add
+                              local.get 0
+                              i32.store
+                              local.get 0
+                              i32.eqz
+                              br_if 5 (;@8;)
+                              br 4 (;@9;)
+                            end
+                            local.get 7
+                            local.get 0
+                            i32.store
+                            local.get 0
+                            br_if 3 (;@9;)
+                            i32.const 0
+                            i32.const 0
+                            i32.load offset=1052308
+                            i32.const -2
+                            local.get 6
+                            i32.load offset=28
+                            i32.rotl
+                            i32.and
+                            i32.store offset=1052308
+                            br 4 (;@8;)
+                          end
+                          local.get 0
+                          i32.load offset=4
+                          i32.const -8
+                          i32.and
+                          local.get 3
+                          i32.sub
+                          local.tee 7
+                          local.get 2
+                          local.get 7
+                          local.get 2
+                          i32.lt_u
+                          local.tee 7
+                          select
+                          local.set 2
+                          local.get 0
+                          local.get 6
+                          local.get 7
+                          select
+                          local.set 6
+                          local.get 0
+                          local.set 7
+                          br 0 (;@11;)
+                        end
+                      end
+                      block  ;; label = @10
+                        block  ;; label = @11
+                          local.get 0
+                          local.get 2
+                          i32.shl
+                          i32.const 2
+                          local.get 2
+                          i32.shl
+                          local.tee 0
+                          i32.const 0
+                          local.get 0
+                          i32.sub
+                          i32.or
+                          i32.and
+                          i32.ctz
+                          local.tee 2
+                          i32.const 3
+                          i32.shl
+                          local.tee 0
+                          i32.const 1052040
+                          i32.add
+                          local.tee 7
+                          local.get 0
+                          i32.const 1052048
+                          i32.add
+                          i32.load
+                          local.tee 0
+                          i32.load offset=8
+                          local.tee 8
+                          i32.eq
+                          br_if 0 (;@11;)
+                          local.get 8
+                          local.get 7
+                          i32.store offset=12
+                          local.get 7
+                          local.get 8
+                          i32.store offset=8
+                          br 1 (;@10;)
+                        end
+                        i32.const 0
+                        local.get 6
+                        i32.const -2
+                        local.get 2
+                        i32.rotl
+                        i32.and
+                        i32.store offset=1052304
+                      end
+                      local.get 0
+                      local.get 3
+                      i32.const 3
+                      i32.or
+                      i32.store offset=4
+                      local.get 0
+                      local.get 3
+                      i32.add
+                      local.tee 8
+                      local.get 2
+                      i32.const 3
+                      i32.shl
+                      local.tee 2
+                      local.get 3
+                      i32.sub
+                      local.tee 7
+                      i32.const 1
+                      i32.or
+                      i32.store offset=4
+                      local.get 0
+                      local.get 2
+                      i32.add
+                      local.get 7
+                      i32.store
+                      block  ;; label = @10
+                        i32.const 0
+                        i32.load offset=1052312
+                        local.tee 6
+                        i32.eqz
+                        br_if 0 (;@10;)
+                        local.get 6
+                        i32.const -8
+                        i32.and
+                        i32.const 1052040
+                        i32.add
+                        local.set 2
+                        i32.const 0
+                        i32.load offset=1052320
+                        local.set 3
+                        block  ;; label = @11
+                          block  ;; label = @12
+                            i32.const 0
+                            i32.load offset=1052304
+                            local.tee 9
+                            i32.const 1
+                            local.get 6
+                            i32.const 3
+                            i32.shr_u
+                            i32.shl
+                            local.tee 6
+                            i32.and
+                            br_if 0 (;@12;)
+                            i32.const 0
+                            local.get 9
+                            local.get 6
+                            i32.or
+                            i32.store offset=1052304
+                            local.get 2
+                            local.set 6
+                            br 1 (;@11;)
+                          end
+                          local.get 2
+                          i32.load offset=8
+                          local.set 6
+                        end
+                        local.get 2
+                        local.get 3
+                        i32.store offset=8
+                        local.get 6
+                        local.get 3
+                        i32.store offset=12
+                        local.get 3
+                        local.get 2
+                        i32.store offset=12
+                        local.get 3
+                        local.get 6
+                        i32.store offset=8
+                      end
+                      local.get 0
+                      i32.const 8
+                      i32.add
+                      local.set 2
+                      i32.const 0
+                      local.get 8
+                      i32.store offset=1052320
+                      i32.const 0
+                      local.get 7
+                      i32.store offset=1052312
+                      br 8 (;@1;)
+                    end
+                    local.get 0
+                    local.get 5
+                    i32.store offset=24
+                    block  ;; label = @9
+                      local.get 6
+                      i32.load offset=16
+                      local.tee 7
+                      i32.eqz
+                      br_if 0 (;@9;)
+                      local.get 0
+                      local.get 7
+                      i32.store offset=16
+                      local.get 7
+                      local.get 0
+                      i32.store offset=24
+                    end
+                    local.get 6
+                    i32.load offset=20
+                    local.tee 7
+                    i32.eqz
+                    br_if 0 (;@8;)
+                    local.get 0
+                    local.get 7
+                    i32.store offset=20
+                    local.get 7
+                    local.get 0
+                    i32.store offset=24
+                  end
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        local.get 2
+                        i32.const 16
+                        i32.lt_u
+                        br_if 0 (;@10;)
+                        local.get 6
+                        local.get 3
+                        i32.const 3
+                        i32.or
+                        i32.store offset=4
+                        local.get 6
+                        local.get 3
+                        i32.add
+                        local.tee 3
+                        local.get 2
+                        i32.const 1
+                        i32.or
+                        i32.store offset=4
+                        local.get 3
+                        local.get 2
+                        i32.add
+                        local.get 2
+                        i32.store
+                        i32.const 0
+                        i32.load offset=1052312
+                        local.tee 8
+                        i32.eqz
+                        br_if 1 (;@9;)
+                        local.get 8
+                        i32.const -8
+                        i32.and
+                        i32.const 1052040
+                        i32.add
+                        local.set 7
+                        i32.const 0
+                        i32.load offset=1052320
+                        local.set 0
+                        block  ;; label = @11
+                          block  ;; label = @12
+                            i32.const 0
+                            i32.load offset=1052304
+                            local.tee 9
+                            i32.const 1
+                            local.get 8
+                            i32.const 3
+                            i32.shr_u
+                            i32.shl
+                            local.tee 8
+                            i32.and
+                            br_if 0 (;@12;)
+                            i32.const 0
+                            local.get 9
+                            local.get 8
+                            i32.or
+                            i32.store offset=1052304
+                            local.get 7
+                            local.set 8
+                            br 1 (;@11;)
+                          end
+                          local.get 7
+                          i32.load offset=8
+                          local.set 8
+                        end
+                        local.get 7
+                        local.get 0
+                        i32.store offset=8
+                        local.get 8
+                        local.get 0
+                        i32.store offset=12
+                        local.get 0
+                        local.get 7
+                        i32.store offset=12
+                        local.get 0
+                        local.get 8
+                        i32.store offset=8
+                        br 1 (;@9;)
+                      end
+                      local.get 6
+                      local.get 2
+                      local.get 3
+                      i32.add
+                      local.tee 0
+                      i32.const 3
+                      i32.or
+                      i32.store offset=4
+                      local.get 6
+                      local.get 0
+                      i32.add
+                      local.tee 0
+                      local.get 0
+                      i32.load offset=4
+                      i32.const 1
+                      i32.or
+                      i32.store offset=4
+                      br 1 (;@8;)
+                    end
+                    i32.const 0
+                    local.get 3
+                    i32.store offset=1052320
+                    i32.const 0
+                    local.get 2
+                    i32.store offset=1052312
+                  end
+                  local.get 6
+                  i32.const 8
+                  i32.add
+                  local.set 2
+                  br 6 (;@1;)
+                end
+                block  ;; label = @7
+                  local.get 0
+                  local.get 7
+                  i32.or
+                  br_if 0 (;@7;)
+                  i32.const 0
+                  local.set 7
+                  i32.const 2
+                  local.get 5
+                  i32.shl
+                  local.tee 0
+                  i32.const 0
+                  local.get 0
+                  i32.sub
+                  i32.or
+                  local.get 4
+                  i32.and
+                  local.tee 0
+                  i32.eqz
+                  br_if 3 (;@4;)
+                  local.get 0
+                  i32.ctz
+                  i32.const 2
+                  i32.shl
+                  i32.const 1051896
+                  i32.add
+                  i32.load
+                  local.set 0
+                end
+                local.get 0
+                i32.eqz
+                br_if 1 (;@5;)
+              end
+              loop  ;; label = @6
+                local.get 0
+                local.get 7
+                local.get 0
+                i32.load offset=4
+                i32.const -8
+                i32.and
+                local.tee 6
+                local.get 3
+                i32.sub
+                local.tee 9
+                local.get 2
+                i32.lt_u
+                local.tee 5
+                select
+                local.set 4
+                local.get 6
+                local.get 3
+                i32.lt_u
+                local.set 8
+                local.get 9
+                local.get 2
+                local.get 5
+                select
+                local.set 9
+                block  ;; label = @7
+                  local.get 0
+                  i32.load offset=16
+                  local.tee 6
+                  br_if 0 (;@7;)
+                  local.get 0
+                  i32.load offset=20
+                  local.set 6
+                end
+                local.get 7
+                local.get 4
+                local.get 8
+                select
+                local.set 7
+                local.get 2
+                local.get 9
+                local.get 8
+                select
+                local.set 2
+                local.get 6
+                local.set 0
+                local.get 6
+                br_if 0 (;@6;)
+              end
+            end
+            local.get 7
+            i32.eqz
+            br_if 0 (;@4;)
+            block  ;; label = @5
+              i32.const 0
+              i32.load offset=1052312
+              local.tee 0
+              local.get 3
+              i32.lt_u
+              br_if 0 (;@5;)
+              local.get 2
+              local.get 0
+              local.get 3
+              i32.sub
+              i32.ge_u
+              br_if 1 (;@4;)
+            end
+            local.get 7
+            i32.load offset=24
+            local.set 5
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  local.get 7
+                  i32.load offset=12
+                  local.tee 0
+                  local.get 7
+                  i32.ne
+                  br_if 0 (;@7;)
+                  local.get 7
+                  i32.const 20
+                  i32.const 16
+                  local.get 7
+                  i32.load offset=20
+                  local.tee 0
+                  select
+                  i32.add
+                  i32.load
+                  local.tee 6
+                  br_if 1 (;@6;)
+                  i32.const 0
+                  local.set 0
+                  br 2 (;@5;)
+                end
+                local.get 7
+                i32.load offset=8
+                local.tee 6
+                local.get 0
+                i32.store offset=12
+                local.get 0
+                local.get 6
+                i32.store offset=8
+                br 1 (;@5;)
+              end
+              local.get 7
+              i32.const 20
+              i32.add
+              local.get 7
+              i32.const 16
+              i32.add
+              local.get 0
+              select
+              local.set 8
+              loop  ;; label = @6
+                local.get 8
+                local.set 9
+                local.get 6
+                local.tee 0
+                i32.const 20
+                i32.add
+                local.get 0
+                i32.const 16
+                i32.add
+                local.get 0
+                i32.load offset=20
+                local.tee 6
+                select
+                local.set 8
+                local.get 0
+                i32.const 20
+                i32.const 16
+                local.get 6
+                select
+                i32.add
+                i32.load
+                local.tee 6
+                br_if 0 (;@6;)
+              end
+              local.get 9
+              i32.const 0
+              i32.store
+            end
+            local.get 5
+            i32.eqz
+            br_if 2 (;@2;)
+            block  ;; label = @5
+              local.get 7
+              i32.load offset=28
+              i32.const 2
+              i32.shl
+              i32.const 1051896
+              i32.add
+              local.tee 6
+              i32.load
+              local.get 7
+              i32.eq
+              br_if 0 (;@5;)
+              local.get 5
+              i32.const 16
+              i32.const 20
+              local.get 5
+              i32.load offset=16
+              local.get 7
+              i32.eq
+              select
+              i32.add
+              local.get 0
+              i32.store
+              local.get 0
+              i32.eqz
+              br_if 3 (;@2;)
+              br 2 (;@3;)
+            end
+            local.get 6
+            local.get 0
+            i32.store
+            local.get 0
+            br_if 1 (;@3;)
+            i32.const 0
+            i32.const 0
+            i32.load offset=1052308
+            i32.const -2
+            local.get 7
+            i32.load offset=28
+            i32.rotl
+            i32.and
+            i32.store offset=1052308
+            br 2 (;@2;)
+          end
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      i32.const 0
+                      i32.load offset=1052312
+                      local.tee 0
+                      local.get 3
+                      i32.ge_u
+                      br_if 0 (;@9;)
+                      block  ;; label = @10
+                        i32.const 0
+                        i32.load offset=1052316
+                        local.tee 0
+                        local.get 3
+                        i32.gt_u
+                        br_if 0 (;@10;)
+                        local.get 1
+                        i32.const 4
+                        i32.add
+                        i32.const 1052348
+                        local.get 3
+                        i32.const 65583
+                        i32.add
+                        i32.const -65536
+                        i32.and
+                        call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5alloc17h32bf5aa7613bca1cE
+                        block  ;; label = @11
+                          local.get 1
+                          i32.load offset=4
+                          local.tee 6
+                          br_if 0 (;@11;)
+                          i32.const 0
+                          local.set 2
+                          br 10 (;@1;)
+                        end
+                        local.get 1
+                        i32.load offset=12
+                        local.set 5
+                        i32.const 0
+                        i32.const 0
+                        i32.load offset=1052328
+                        local.get 1
+                        i32.load offset=8
+                        local.tee 9
+                        i32.add
+                        local.tee 0
+                        i32.store offset=1052328
+                        i32.const 0
+                        i32.const 0
+                        i32.load offset=1052332
+                        local.tee 2
+                        local.get 0
+                        local.get 2
+                        local.get 0
+                        i32.gt_u
+                        select
+                        i32.store offset=1052332
+                        block  ;; label = @11
+                          block  ;; label = @12
+                            block  ;; label = @13
+                              i32.const 0
+                              i32.load offset=1052324
+                              local.tee 2
+                              i32.eqz
+                              br_if 0 (;@13;)
+                              i32.const 1052024
+                              local.set 0
+                              loop  ;; label = @14
+                                local.get 6
+                                local.get 0
+                                i32.load
+                                local.tee 7
+                                local.get 0
+                                i32.load offset=4
+                                local.tee 8
+                                i32.add
+                                i32.eq
+                                br_if 2 (;@12;)
+                                local.get 0
+                                i32.load offset=8
+                                local.tee 0
+                                br_if 0 (;@14;)
+                                br 3 (;@11;)
+                              end
+                            end
+                            block  ;; label = @13
+                              block  ;; label = @14
+                                i32.const 0
+                                i32.load offset=1052340
+                                local.tee 0
+                                i32.eqz
+                                br_if 0 (;@14;)
+                                local.get 6
+                                local.get 0
+                                i32.ge_u
+                                br_if 1 (;@13;)
+                              end
+                              i32.const 0
+                              local.get 6
+                              i32.store offset=1052340
+                            end
+                            i32.const 0
+                            i32.const 4095
+                            i32.store offset=1052344
+                            i32.const 0
+                            local.get 5
+                            i32.store offset=1052036
+                            i32.const 0
+                            local.get 9
+                            i32.store offset=1052028
+                            i32.const 0
+                            local.get 6
+                            i32.store offset=1052024
+                            i32.const 0
+                            i32.const 1052040
+                            i32.store offset=1052052
+                            i32.const 0
+                            i32.const 1052048
+                            i32.store offset=1052060
+                            i32.const 0
+                            i32.const 1052040
+                            i32.store offset=1052048
+                            i32.const 0
+                            i32.const 1052056
+                            i32.store offset=1052068
+                            i32.const 0
+                            i32.const 1052048
+                            i32.store offset=1052056
+                            i32.const 0
+                            i32.const 1052064
+                            i32.store offset=1052076
+                            i32.const 0
+                            i32.const 1052056
+                            i32.store offset=1052064
+                            i32.const 0
+                            i32.const 1052072
+                            i32.store offset=1052084
+                            i32.const 0
+                            i32.const 1052064
+                            i32.store offset=1052072
+                            i32.const 0
+                            i32.const 1052080
+                            i32.store offset=1052092
+                            i32.const 0
+                            i32.const 1052072
+                            i32.store offset=1052080
+                            i32.const 0
+                            i32.const 1052088
+                            i32.store offset=1052100
+                            i32.const 0
+                            i32.const 1052080
+                            i32.store offset=1052088
+                            i32.const 0
+                            i32.const 1052096
+                            i32.store offset=1052108
+                            i32.const 0
+                            i32.const 1052088
+                            i32.store offset=1052096
+                            i32.const 0
+                            i32.const 1052104
+                            i32.store offset=1052116
+                            i32.const 0
+                            i32.const 1052096
+                            i32.store offset=1052104
+                            i32.const 0
+                            i32.const 1052104
+                            i32.store offset=1052112
+                            i32.const 0
+                            i32.const 1052112
+                            i32.store offset=1052124
+                            i32.const 0
+                            i32.const 1052112
+                            i32.store offset=1052120
+                            i32.const 0
+                            i32.const 1052120
+                            i32.store offset=1052132
+                            i32.const 0
+                            i32.const 1052120
+                            i32.store offset=1052128
+                            i32.const 0
+                            i32.const 1052128
+                            i32.store offset=1052140
+                            i32.const 0
+                            i32.const 1052128
+                            i32.store offset=1052136
+                            i32.const 0
+                            i32.const 1052136
+                            i32.store offset=1052148
+                            i32.const 0
+                            i32.const 1052136
+                            i32.store offset=1052144
+                            i32.const 0
+                            i32.const 1052144
+                            i32.store offset=1052156
+                            i32.const 0
+                            i32.const 1052144
+                            i32.store offset=1052152
+                            i32.const 0
+                            i32.const 1052152
+                            i32.store offset=1052164
+                            i32.const 0
+                            i32.const 1052152
+                            i32.store offset=1052160
+                            i32.const 0
+                            i32.const 1052160
+                            i32.store offset=1052172
+                            i32.const 0
+                            i32.const 1052160
+                            i32.store offset=1052168
+                            i32.const 0
+                            i32.const 1052168
+                            i32.store offset=1052180
+                            i32.const 0
+                            i32.const 1052176
+                            i32.store offset=1052188
+                            i32.const 0
+                            i32.const 1052168
+                            i32.store offset=1052176
+                            i32.const 0
+                            i32.const 1052184
+                            i32.store offset=1052196
+                            i32.const 0
+                            i32.const 1052176
+                            i32.store offset=1052184
+                            i32.const 0
+                            i32.const 1052192
+                            i32.store offset=1052204
+                            i32.const 0
+                            i32.const 1052184
+                            i32.store offset=1052192
+                            i32.const 0
+                            i32.const 1052200
+                            i32.store offset=1052212
+                            i32.const 0
+                            i32.const 1052192
+                            i32.store offset=1052200
+                            i32.const 0
+                            i32.const 1052208
+                            i32.store offset=1052220
+                            i32.const 0
+                            i32.const 1052200
+                            i32.store offset=1052208
+                            i32.const 0
+                            i32.const 1052216
+                            i32.store offset=1052228
+                            i32.const 0
+                            i32.const 1052208
+                            i32.store offset=1052216
+                            i32.const 0
+                            i32.const 1052224
+                            i32.store offset=1052236
+                            i32.const 0
+                            i32.const 1052216
+                            i32.store offset=1052224
+                            i32.const 0
+                            i32.const 1052232
+                            i32.store offset=1052244
+                            i32.const 0
+                            i32.const 1052224
+                            i32.store offset=1052232
+                            i32.const 0
+                            i32.const 1052240
+                            i32.store offset=1052252
+                            i32.const 0
+                            i32.const 1052232
+                            i32.store offset=1052240
+                            i32.const 0
+                            i32.const 1052248
+                            i32.store offset=1052260
+                            i32.const 0
+                            i32.const 1052240
+                            i32.store offset=1052248
+                            i32.const 0
+                            i32.const 1052256
+                            i32.store offset=1052268
+                            i32.const 0
+                            i32.const 1052248
+                            i32.store offset=1052256
+                            i32.const 0
+                            i32.const 1052264
+                            i32.store offset=1052276
+                            i32.const 0
+                            i32.const 1052256
+                            i32.store offset=1052264
+                            i32.const 0
+                            i32.const 1052272
+                            i32.store offset=1052284
+                            i32.const 0
+                            i32.const 1052264
+                            i32.store offset=1052272
+                            i32.const 0
+                            i32.const 1052280
+                            i32.store offset=1052292
+                            i32.const 0
+                            i32.const 1052272
+                            i32.store offset=1052280
+                            i32.const 0
+                            i32.const 1052288
+                            i32.store offset=1052300
+                            i32.const 0
+                            i32.const 1052280
+                            i32.store offset=1052288
+                            i32.const 0
+                            local.get 6
+                            i32.const 15
+                            i32.add
+                            i32.const -8
+                            i32.and
+                            local.tee 0
+                            i32.const -8
+                            i32.add
+                            local.tee 2
+                            i32.store offset=1052324
+                            i32.const 0
+                            i32.const 1052288
+                            i32.store offset=1052296
+                            i32.const 0
+                            local.get 6
+                            local.get 0
+                            i32.sub
+                            local.get 9
+                            i32.const -40
+                            i32.add
+                            local.tee 0
+                            i32.add
+                            i32.const 8
+                            i32.add
+                            local.tee 7
+                            i32.store offset=1052316
+                            local.get 2
+                            local.get 7
+                            i32.const 1
+                            i32.or
+                            i32.store offset=4
+                            local.get 6
+                            local.get 0
+                            i32.add
+                            i32.const 40
+                            i32.store offset=4
+                            i32.const 0
+                            i32.const 2097152
+                            i32.store offset=1052336
+                            br 8 (;@4;)
+                          end
+                          local.get 2
+                          local.get 6
+                          i32.ge_u
+                          br_if 0 (;@11;)
+                          local.get 7
+                          local.get 2
+                          i32.gt_u
+                          br_if 0 (;@11;)
+                          local.get 0
+                          i32.load offset=12
+                          local.tee 7
+                          i32.const 1
+                          i32.and
+                          br_if 0 (;@11;)
+                          local.get 7
+                          i32.const 1
+                          i32.shr_u
+                          local.get 5
+                          i32.eq
+                          br_if 3 (;@8;)
+                        end
+                        i32.const 0
+                        i32.const 0
+                        i32.load offset=1052340
+                        local.tee 0
+                        local.get 6
+                        local.get 6
+                        local.get 0
+                        i32.gt_u
+                        select
+                        i32.store offset=1052340
+                        local.get 6
+                        local.get 9
+                        i32.add
+                        local.set 7
+                        i32.const 1052024
+                        local.set 0
+                        block  ;; label = @11
+                          block  ;; label = @12
+                            block  ;; label = @13
+                              loop  ;; label = @14
+                                local.get 0
+                                i32.load
+                                local.get 7
+                                i32.eq
+                                br_if 1 (;@13;)
+                                local.get 0
+                                i32.load offset=8
+                                local.tee 0
+                                br_if 0 (;@14;)
+                                br 2 (;@12;)
+                              end
+                            end
+                            local.get 0
+                            i32.load offset=12
+                            local.tee 8
+                            i32.const 1
+                            i32.and
+                            br_if 0 (;@12;)
+                            local.get 8
+                            i32.const 1
+                            i32.shr_u
+                            local.get 5
+                            i32.eq
+                            br_if 1 (;@11;)
+                          end
+                          i32.const 1052024
+                          local.set 0
+                          block  ;; label = @12
+                            loop  ;; label = @13
+                              block  ;; label = @14
+                                local.get 0
+                                i32.load
+                                local.tee 7
+                                local.get 2
+                                i32.gt_u
+                                br_if 0 (;@14;)
+                                local.get 7
+                                local.get 0
+                                i32.load offset=4
+                                i32.add
+                                local.tee 7
+                                local.get 2
+                                i32.gt_u
+                                br_if 2 (;@12;)
+                              end
+                              local.get 0
+                              i32.load offset=8
+                              local.set 0
+                              br 0 (;@13;)
+                            end
+                          end
+                          i32.const 0
+                          local.get 6
+                          i32.const 15
+                          i32.add
+                          i32.const -8
+                          i32.and
+                          local.tee 0
+                          i32.const -8
+                          i32.add
+                          local.tee 8
+                          i32.store offset=1052324
+                          i32.const 0
+                          local.get 6
+                          local.get 0
+                          i32.sub
+                          local.get 9
+                          i32.const -40
+                          i32.add
+                          local.tee 0
+                          i32.add
+                          i32.const 8
+                          i32.add
+                          local.tee 4
+                          i32.store offset=1052316
+                          local.get 8
+                          local.get 4
+                          i32.const 1
+                          i32.or
+                          i32.store offset=4
+                          local.get 6
+                          local.get 0
+                          i32.add
+                          i32.const 40
+                          i32.store offset=4
+                          i32.const 0
+                          i32.const 2097152
+                          i32.store offset=1052336
+                          local.get 2
+                          local.get 7
+                          i32.const -32
+                          i32.add
+                          i32.const -8
+                          i32.and
+                          i32.const -8
+                          i32.add
+                          local.tee 0
+                          local.get 0
+                          local.get 2
+                          i32.const 16
+                          i32.add
+                          i32.lt_u
+                          select
+                          local.tee 8
+                          i32.const 27
+                          i32.store offset=4
+                          i32.const 0
+                          i64.load offset=1052024 align=4
+                          local.set 10
+                          local.get 8
+                          i32.const 16
+                          i32.add
+                          i32.const 0
+                          i64.load offset=1052032 align=4
+                          i64.store align=4
+                          local.get 8
+                          local.get 10
+                          i64.store offset=8 align=4
+                          i32.const 0
+                          local.get 5
+                          i32.store offset=1052036
+                          i32.const 0
+                          local.get 9
+                          i32.store offset=1052028
+                          i32.const 0
+                          local.get 6
+                          i32.store offset=1052024
+                          i32.const 0
+                          local.get 8
+                          i32.const 8
+                          i32.add
+                          i32.store offset=1052032
+                          local.get 8
+                          i32.const 28
+                          i32.add
+                          local.set 0
+                          loop  ;; label = @12
+                            local.get 0
+                            i32.const 7
+                            i32.store
+                            local.get 0
+                            i32.const 4
+                            i32.add
+                            local.tee 0
+                            local.get 7
+                            i32.lt_u
+                            br_if 0 (;@12;)
+                          end
+                          local.get 8
+                          local.get 2
+                          i32.eq
+                          br_if 7 (;@4;)
+                          local.get 8
+                          local.get 8
+                          i32.load offset=4
+                          i32.const -2
+                          i32.and
+                          i32.store offset=4
+                          local.get 2
+                          local.get 8
+                          local.get 2
+                          i32.sub
+                          local.tee 0
+                          i32.const 1
+                          i32.or
+                          i32.store offset=4
+                          local.get 8
+                          local.get 0
+                          i32.store
+                          block  ;; label = @12
+                            local.get 0
+                            i32.const 256
+                            i32.lt_u
+                            br_if 0 (;@12;)
+                            local.get 2
+                            local.get 0
+                            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
+                            br 8 (;@4;)
+                          end
+                          local.get 0
+                          i32.const -8
+                          i32.and
+                          i32.const 1052040
+                          i32.add
+                          local.set 7
+                          block  ;; label = @12
+                            block  ;; label = @13
+                              i32.const 0
+                              i32.load offset=1052304
+                              local.tee 6
+                              i32.const 1
+                              local.get 0
+                              i32.const 3
+                              i32.shr_u
+                              i32.shl
+                              local.tee 0
+                              i32.and
+                              br_if 0 (;@13;)
+                              i32.const 0
+                              local.get 6
+                              local.get 0
+                              i32.or
+                              i32.store offset=1052304
+                              local.get 7
+                              local.set 0
+                              br 1 (;@12;)
+                            end
+                            local.get 7
+                            i32.load offset=8
+                            local.set 0
+                          end
+                          local.get 7
+                          local.get 2
+                          i32.store offset=8
+                          local.get 0
+                          local.get 2
+                          i32.store offset=12
+                          local.get 2
+                          local.get 7
+                          i32.store offset=12
+                          local.get 2
+                          local.get 0
+                          i32.store offset=8
+                          br 7 (;@4;)
+                        end
+                        local.get 0
+                        local.get 6
+                        i32.store
+                        local.get 0
+                        local.get 0
+                        i32.load offset=4
+                        local.get 9
+                        i32.add
+                        i32.store offset=4
+                        local.get 6
+                        i32.const 15
+                        i32.add
+                        i32.const -8
+                        i32.and
+                        i32.const -8
+                        i32.add
+                        local.tee 6
+                        local.get 3
+                        i32.const 3
+                        i32.or
+                        i32.store offset=4
+                        local.get 7
+                        i32.const 15
+                        i32.add
+                        i32.const -8
+                        i32.and
+                        i32.const -8
+                        i32.add
+                        local.tee 2
+                        local.get 6
+                        local.get 3
+                        i32.add
+                        local.tee 0
+                        i32.sub
+                        local.set 3
+                        local.get 2
+                        i32.const 0
+                        i32.load offset=1052324
+                        i32.eq
+                        br_if 3 (;@7;)
+                        local.get 2
+                        i32.const 0
+                        i32.load offset=1052320
+                        i32.eq
+                        br_if 4 (;@6;)
+                        block  ;; label = @11
+                          local.get 2
+                          i32.load offset=4
+                          local.tee 7
+                          i32.const 3
+                          i32.and
+                          i32.const 1
+                          i32.ne
+                          br_if 0 (;@11;)
+                          local.get 2
+                          local.get 7
+                          i32.const -8
+                          i32.and
+                          local.tee 7
+                          call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
+                          local.get 7
+                          local.get 3
+                          i32.add
+                          local.set 3
+                          local.get 2
+                          local.get 7
+                          i32.add
+                          local.tee 2
+                          i32.load offset=4
+                          local.set 7
+                        end
+                        local.get 2
+                        local.get 7
+                        i32.const -2
+                        i32.and
+                        i32.store offset=4
+                        local.get 0
+                        local.get 3
+                        i32.const 1
+                        i32.or
+                        i32.store offset=4
+                        local.get 0
+                        local.get 3
+                        i32.add
+                        local.get 3
+                        i32.store
+                        block  ;; label = @11
+                          local.get 3
+                          i32.const 256
+                          i32.lt_u
+                          br_if 0 (;@11;)
+                          local.get 0
+                          local.get 3
+                          call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
+                          br 6 (;@5;)
+                        end
+                        local.get 3
+                        i32.const -8
+                        i32.and
+                        i32.const 1052040
+                        i32.add
+                        local.set 2
+                        block  ;; label = @11
+                          block  ;; label = @12
+                            i32.const 0
+                            i32.load offset=1052304
+                            local.tee 7
+                            i32.const 1
+                            local.get 3
+                            i32.const 3
+                            i32.shr_u
+                            i32.shl
+                            local.tee 3
+                            i32.and
+                            br_if 0 (;@12;)
+                            i32.const 0
+                            local.get 7
+                            local.get 3
+                            i32.or
+                            i32.store offset=1052304
+                            local.get 2
+                            local.set 3
+                            br 1 (;@11;)
+                          end
+                          local.get 2
+                          i32.load offset=8
+                          local.set 3
+                        end
+                        local.get 2
+                        local.get 0
+                        i32.store offset=8
+                        local.get 3
+                        local.get 0
+                        i32.store offset=12
+                        local.get 0
+                        local.get 2
+                        i32.store offset=12
+                        local.get 0
+                        local.get 3
+                        i32.store offset=8
+                        br 5 (;@5;)
+                      end
+                      i32.const 0
+                      local.get 0
+                      local.get 3
+                      i32.sub
+                      local.tee 2
+                      i32.store offset=1052316
+                      i32.const 0
+                      i32.const 0
+                      i32.load offset=1052324
+                      local.tee 0
+                      local.get 3
+                      i32.add
+                      local.tee 7
+                      i32.store offset=1052324
+                      local.get 7
+                      local.get 2
+                      i32.const 1
+                      i32.or
+                      i32.store offset=4
+                      local.get 0
+                      local.get 3
+                      i32.const 3
+                      i32.or
+                      i32.store offset=4
+                      local.get 0
+                      i32.const 8
+                      i32.add
+                      local.set 2
+                      br 8 (;@1;)
+                    end
+                    i32.const 0
+                    i32.load offset=1052320
+                    local.set 2
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        local.get 0
+                        local.get 3
+                        i32.sub
+                        local.tee 7
+                        i32.const 15
+                        i32.gt_u
+                        br_if 0 (;@10;)
+                        i32.const 0
+                        i32.const 0
+                        i32.store offset=1052320
+                        i32.const 0
+                        i32.const 0
+                        i32.store offset=1052312
+                        local.get 2
+                        local.get 0
+                        i32.const 3
+                        i32.or
+                        i32.store offset=4
+                        local.get 2
+                        local.get 0
+                        i32.add
+                        local.tee 0
+                        local.get 0
+                        i32.load offset=4
+                        i32.const 1
+                        i32.or
+                        i32.store offset=4
+                        br 1 (;@9;)
+                      end
+                      i32.const 0
+                      local.get 7
+                      i32.store offset=1052312
+                      i32.const 0
+                      local.get 2
+                      local.get 3
+                      i32.add
+                      local.tee 6
+                      i32.store offset=1052320
+                      local.get 6
+                      local.get 7
+                      i32.const 1
+                      i32.or
+                      i32.store offset=4
+                      local.get 2
+                      local.get 0
+                      i32.add
+                      local.get 7
+                      i32.store
+                      local.get 2
+                      local.get 3
+                      i32.const 3
+                      i32.or
+                      i32.store offset=4
+                    end
+                    local.get 2
+                    i32.const 8
+                    i32.add
+                    local.set 2
+                    br 7 (;@1;)
+                  end
+                  local.get 0
+                  local.get 8
+                  local.get 9
+                  i32.add
+                  i32.store offset=4
+                  i32.const 0
+                  i32.const 0
+                  i32.load offset=1052324
+                  local.tee 0
+                  i32.const 15
+                  i32.add
+                  i32.const -8
+                  i32.and
+                  local.tee 2
+                  i32.const -8
+                  i32.add
+                  local.tee 7
+                  i32.store offset=1052324
+                  i32.const 0
+                  local.get 0
+                  local.get 2
+                  i32.sub
+                  i32.const 0
+                  i32.load offset=1052316
+                  local.get 9
+                  i32.add
+                  local.tee 2
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.tee 6
+                  i32.store offset=1052316
+                  local.get 7
+                  local.get 6
+                  i32.const 1
+                  i32.or
+                  i32.store offset=4
+                  local.get 0
+                  local.get 2
+                  i32.add
+                  i32.const 40
+                  i32.store offset=4
+                  i32.const 0
+                  i32.const 2097152
+                  i32.store offset=1052336
+                  br 3 (;@4;)
+                end
+                i32.const 0
+                local.get 0
+                i32.store offset=1052324
+                i32.const 0
+                i32.const 0
+                i32.load offset=1052316
+                local.get 3
+                i32.add
+                local.tee 3
+                i32.store offset=1052316
+                local.get 0
+                local.get 3
+                i32.const 1
+                i32.or
+                i32.store offset=4
+                br 1 (;@5;)
+              end
+              i32.const 0
+              local.get 0
+              i32.store offset=1052320
+              i32.const 0
+              i32.const 0
+              i32.load offset=1052312
+              local.get 3
+              i32.add
+              local.tee 3
+              i32.store offset=1052312
+              local.get 0
+              local.get 3
+              i32.const 1
+              i32.or
+              i32.store offset=4
+              local.get 0
+              local.get 3
+              i32.add
+              local.get 3
+              i32.store
+            end
+            local.get 6
+            i32.const 8
+            i32.add
+            local.set 2
+            br 3 (;@1;)
+          end
+          i32.const 0
+          local.set 2
+          i32.const 0
+          i32.load offset=1052316
+          local.tee 0
+          local.get 3
+          i32.le_u
+          br_if 2 (;@1;)
+          i32.const 0
+          local.get 0
+          local.get 3
+          i32.sub
+          local.tee 2
+          i32.store offset=1052316
+          i32.const 0
+          i32.const 0
+          i32.load offset=1052324
+          local.tee 0
+          local.get 3
+          i32.add
+          local.tee 7
+          i32.store offset=1052324
+          local.get 7
+          local.get 2
+          i32.const 1
+          i32.or
+          i32.store offset=4
+          local.get 0
+          local.get 3
+          i32.const 3
+          i32.or
+          i32.store offset=4
+          local.get 0
+          i32.const 8
+          i32.add
+          local.set 2
+          br 2 (;@1;)
+        end
+        local.get 0
+        local.get 5
+        i32.store offset=24
+        block  ;; label = @3
+          local.get 7
+          i32.load offset=16
+          local.tee 6
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 6
+          i32.store offset=16
+          local.get 6
+          local.get 0
+          i32.store offset=24
+        end
+        local.get 7
+        i32.load offset=20
+        local.tee 6
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 0
+        local.get 6
+        i32.store offset=20
+        local.get 6
+        local.get 0
+        i32.store offset=24
+      end
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 2
+          i32.const 16
+          i32.lt_u
+          br_if 0 (;@3;)
+          local.get 7
+          local.get 3
+          i32.const 3
+          i32.or
+          i32.store offset=4
+          local.get 7
+          local.get 3
+          i32.add
+          local.tee 0
+          local.get 2
+          i32.const 1
+          i32.or
+          i32.store offset=4
+          local.get 0
+          local.get 2
+          i32.add
+          local.get 2
+          i32.store
+          block  ;; label = @4
+            local.get 2
+            i32.const 256
+            i32.lt_u
+            br_if 0 (;@4;)
+            local.get 0
+            local.get 2
+            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
+            br 2 (;@2;)
+          end
+          local.get 2
+          i32.const -8
+          i32.and
+          i32.const 1052040
+          i32.add
+          local.set 3
+          block  ;; label = @4
+            block  ;; label = @5
+              i32.const 0
+              i32.load offset=1052304
+              local.tee 6
+              i32.const 1
+              local.get 2
+              i32.const 3
+              i32.shr_u
+              i32.shl
+              local.tee 2
+              i32.and
+              br_if 0 (;@5;)
+              i32.const 0
+              local.get 6
+              local.get 2
+              i32.or
+              i32.store offset=1052304
+              local.get 3
+              local.set 2
+              br 1 (;@4;)
+            end
+            local.get 3
+            i32.load offset=8
+            local.set 2
+          end
+          local.get 3
+          local.get 0
+          i32.store offset=8
+          local.get 2
+          local.get 0
+          i32.store offset=12
+          local.get 0
+          local.get 3
+          i32.store offset=12
+          local.get 0
+          local.get 2
+          i32.store offset=8
+          br 1 (;@2;)
+        end
+        local.get 7
+        local.get 2
+        local.get 3
+        i32.add
+        local.tee 0
+        i32.const 3
+        i32.or
+        i32.store offset=4
+        local.get 7
+        local.get 0
+        i32.add
+        local.tee 0
+        local.get 0
+        i32.load offset=4
+        i32.const 1
+        i32.or
+        i32.store offset=4
+      end
+      local.get 7
+      i32.const 8
+      i32.add
+      local.set 2
+    end
+    local.get 1
+    i32.const 16
+    i32.add
+    global.set $__stack_pointer
+    local.get 2)
+  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17hae661cd81f1d1708E (type 6) (param i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32)
+    i32.const 0
+    local.set 2
+    block  ;; label = @1
+      i32.const -65587
+      local.get 0
+      i32.const 16
+      local.get 0
+      i32.const 16
+      i32.gt_u
+      select
+      local.tee 0
+      i32.sub
+      local.get 1
+      i32.le_u
+      br_if 0 (;@1;)
+      local.get 0
+      i32.const 16
+      local.get 1
+      i32.const 11
+      i32.add
+      i32.const -8
+      i32.and
+      local.get 1
+      i32.const 11
+      i32.lt_u
+      select
+      local.tee 3
+      i32.add
+      i32.const 12
+      i32.add
+      call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h0483a0dc0f5e490bE
+      local.tee 1
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 1
+      i32.const -8
+      i32.add
+      local.set 2
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 0
+          i32.const -1
+          i32.add
+          local.tee 4
+          local.get 1
+          i32.and
+          br_if 0 (;@3;)
+          local.get 2
+          local.set 0
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.const -4
+        i32.add
+        local.tee 5
+        i32.load
+        local.tee 6
+        i32.const -8
+        i32.and
+        local.get 4
+        local.get 1
+        i32.add
+        i32.const 0
+        local.get 0
+        i32.sub
+        i32.and
+        i32.const -8
+        i32.add
+        local.tee 1
+        i32.const 0
+        local.get 0
+        local.get 1
+        local.get 2
+        i32.sub
+        i32.const 16
+        i32.gt_u
+        select
+        i32.add
+        local.tee 0
+        local.get 2
+        i32.sub
+        local.tee 1
+        i32.sub
+        local.set 4
+        block  ;; label = @3
+          local.get 6
+          i32.const 3
+          i32.and
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 4
+          local.get 0
+          i32.load offset=4
+          i32.const 1
+          i32.and
+          i32.or
+          i32.const 2
+          i32.or
+          i32.store offset=4
+          local.get 0
+          local.get 4
+          i32.add
+          local.tee 4
+          local.get 4
+          i32.load offset=4
+          i32.const 1
+          i32.or
+          i32.store offset=4
+          local.get 5
+          local.get 1
+          local.get 5
+          i32.load
+          i32.const 1
+          i32.and
+          i32.or
+          i32.const 2
+          i32.or
+          i32.store
+          local.get 2
+          local.get 1
+          i32.add
+          local.tee 4
+          local.get 4
+          i32.load offset=4
+          i32.const 1
+          i32.or
+          i32.store offset=4
+          local.get 2
+          local.get 1
+          call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E
+          br 1 (;@2;)
+        end
+        local.get 2
+        i32.load
+        local.set 2
+        local.get 0
+        local.get 4
+        i32.store offset=4
+        local.get 0
+        local.get 2
+        local.get 1
+        i32.add
+        i32.store
+      end
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=4
+        local.tee 1
+        i32.const 3
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        i32.const -8
+        i32.and
+        local.tee 2
+        local.get 3
+        i32.const 16
+        i32.add
+        i32.le_u
+        br_if 0 (;@2;)
+        local.get 0
+        local.get 3
+        local.get 1
+        i32.const 1
+        i32.and
+        i32.or
+        i32.const 2
+        i32.or
+        i32.store offset=4
+        local.get 0
+        local.get 3
+        i32.add
+        local.tee 1
+        local.get 2
+        local.get 3
+        i32.sub
+        local.tee 3
+        i32.const 3
+        i32.or
+        i32.store offset=4
+        local.get 0
+        local.get 2
+        i32.add
+        local.tee 2
+        local.get 2
+        i32.load offset=4
+        i32.const 1
+        i32.or
+        i32.store offset=4
+        local.get 1
+        local.get 3
+        call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E
+      end
+      local.get 0
+      i32.const 8
+      i32.add
+      local.set 2
+    end
+    local.get 2)
+  (func $_ZN3std7process5abort17h38dc887bf8ba17f6E (type 11)
+    unreachable
+    unreachable)
+  (func $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17hbdf3ddeb21a1e747E (type 1) (param i32)
+    local.get 0
+    call $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17hb6cd8464ed39ae71E
+    unreachable)
+  (func $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17hb6cd8464ed39ae71E (type 1) (param i32)
+    (local i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 1
+    global.set $__stack_pointer
+    local.get 0
+    i32.load
+    local.tee 2
+    i32.load offset=12
+    local.set 3
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 2
+            i32.load offset=4
+            br_table 0 (;@4;) 1 (;@3;) 2 (;@2;)
+          end
+          local.get 3
+          br_if 1 (;@2;)
+          i32.const 1
+          local.set 2
+          i32.const 0
+          local.set 3
+          br 2 (;@1;)
+        end
+        local.get 3
+        br_if 0 (;@2;)
+        local.get 2
+        i32.load
+        local.tee 2
+        i32.load offset=4
+        local.set 3
+        local.get 2
+        i32.load
+        local.set 2
+        br 1 (;@1;)
+      end
+      local.get 1
+      local.get 2
+      i32.store offset=12
+      local.get 1
+      i32.const -2147483648
+      i32.store
+      local.get 1
+      i32.const 1051272
+      local.get 0
+      i32.load offset=4
+      local.tee 2
+      i32.load offset=8
+      local.get 0
+      i32.load offset=8
+      local.get 2
+      i32.load8_u offset=16
+      local.get 2
+      i32.load8_u offset=17
+      call $_ZN3std9panicking20rust_panic_with_hook17h6731baa78621a747E
+      unreachable
+    end
+    local.get 1
+    local.get 3
+    i32.store offset=4
+    local.get 1
+    local.get 2
+    i32.store
+    local.get 1
+    i32.const 1051252
+    local.get 0
+    i32.load offset=4
+    local.tee 2
+    i32.load offset=8
+    local.get 0
+    i32.load offset=8
+    local.get 2
+    i32.load8_u offset=16
+    local.get 2
+    i32.load8_u offset=17
+    call $_ZN3std9panicking20rust_panic_with_hook17h6731baa78621a747E
+    unreachable)
+  (func $_ZN3std5alloc24default_alloc_error_hook17h9d6d7bb51d97ec4fE (type 4) (param i32 i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 48
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    block  ;; label = @1
+      i32.const 0
+      i32.load8_u offset=1051872
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 2
+      i32.store offset=12
+      local.get 2
+      i32.const 1051120
+      i32.store offset=8
+      local.get 2
+      i64.const 1
+      i64.store offset=20 align=4
+      local.get 2
+      local.get 1
+      i32.store offset=44
+      local.get 2
+      i32.const 37
+      i64.extend_i32_u
+      i64.const 32
+      i64.shl
+      local.get 2
+      i32.const 44
+      i32.add
+      i64.extend_i32_u
+      i64.or
+      i64.store offset=32
+      local.get 2
+      local.get 2
+      i32.const 32
+      i32.add
+      i32.store offset=16
+      local.get 2
+      i32.const 8
+      i32.add
+      i32.const 1051160
+      call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+      unreachable
+    end
+    local.get 2
+    i32.const 48
+    i32.add
+    global.set $__stack_pointer)
+  (func $__rdl_alloc (type 6) (param i32 i32) (result i32)
+    block  ;; label = @1
+      local.get 1
+      i32.const 9
+      i32.lt_u
+      br_if 0 (;@1;)
+      local.get 1
+      local.get 0
+      call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17hae661cd81f1d1708E
+      return
+    end
+    local.get 0
+    call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h0483a0dc0f5e490bE)
+  (func $__rdl_dealloc (type 0) (param i32 i32 i32)
+    (local i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.const -4
+        i32.add
+        i32.load
+        local.tee 3
+        i32.const -8
+        i32.and
+        local.tee 4
+        i32.const 4
+        i32.const 8
+        local.get 3
+        i32.const 3
+        i32.and
+        local.tee 3
+        select
+        local.get 1
+        i32.add
+        i32.lt_u
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          local.get 3
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 4
+          local.get 1
+          i32.const 39
+          i32.add
+          i32.gt_u
+          br_if 2 (;@1;)
+        end
+        local.get 0
+        call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h21bf9d7572bd86f3E
+        return
+      end
+      i32.const 1050957
+      i32.const 46
+      i32.const 1051004
+      call $_ZN4core9panicking5panic17h3b99507adb69386aE
+      unreachable
+    end
+    i32.const 1051020
+    i32.const 46
+    i32.const 1051068
+    call $_ZN4core9panicking5panic17h3b99507adb69386aE
+    unreachable)
+  (func $__rdl_realloc (type 9) (param i32 i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 0
+              i32.const -4
+              i32.add
+              local.tee 4
+              i32.load
+              local.tee 5
+              i32.const -8
+              i32.and
+              local.tee 6
+              i32.const 4
+              i32.const 8
+              local.get 5
+              i32.const 3
+              i32.and
+              local.tee 7
+              select
+              local.get 1
+              i32.add
+              i32.lt_u
+              br_if 0 (;@5;)
+              local.get 1
+              i32.const 39
+              i32.add
+              local.set 8
+              block  ;; label = @6
+                local.get 7
+                i32.eqz
+                br_if 0 (;@6;)
+                local.get 6
+                local.get 8
+                i32.gt_u
+                br_if 2 (;@4;)
+              end
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 2
+                    i32.const 9
+                    i32.lt_u
+                    br_if 0 (;@8;)
+                    local.get 2
+                    local.get 3
+                    call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17hae661cd81f1d1708E
+                    local.tee 2
+                    br_if 1 (;@7;)
+                    i32.const 0
+                    return
+                  end
+                  i32.const 0
+                  local.set 2
+                  local.get 3
+                  i32.const -65588
+                  i32.gt_u
+                  br_if 1 (;@6;)
+                  i32.const 16
+                  local.get 3
+                  i32.const 11
+                  i32.add
+                  i32.const -8
+                  i32.and
+                  local.get 3
+                  i32.const 11
+                  i32.lt_u
+                  select
+                  local.set 1
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      local.get 7
+                      br_if 0 (;@9;)
+                      local.get 1
+                      i32.const 256
+                      i32.lt_u
+                      br_if 1 (;@8;)
+                      local.get 6
+                      local.get 1
+                      i32.const 4
+                      i32.or
+                      i32.lt_u
+                      br_if 1 (;@8;)
+                      local.get 6
+                      local.get 1
+                      i32.sub
+                      i32.const 131073
+                      i32.ge_u
+                      br_if 1 (;@8;)
+                      local.get 0
+                      return
+                    end
+                    local.get 0
+                    i32.const -8
+                    i32.add
+                    local.tee 8
+                    local.get 6
+                    i32.add
+                    local.set 7
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        block  ;; label = @11
+                          block  ;; label = @12
+                            block  ;; label = @13
+                              local.get 6
+                              local.get 1
+                              i32.ge_u
+                              br_if 0 (;@13;)
+                              local.get 7
+                              i32.const 0
+                              i32.load offset=1052324
+                              i32.eq
+                              br_if 4 (;@9;)
+                              local.get 7
+                              i32.const 0
+                              i32.load offset=1052320
+                              i32.eq
+                              br_if 2 (;@11;)
+                              local.get 7
+                              i32.load offset=4
+                              local.tee 5
+                              i32.const 2
+                              i32.and
+                              br_if 5 (;@8;)
+                              local.get 5
+                              i32.const -8
+                              i32.and
+                              local.tee 9
+                              local.get 6
+                              i32.add
+                              local.tee 5
+                              local.get 1
+                              i32.lt_u
+                              br_if 5 (;@8;)
+                              local.get 7
+                              local.get 9
+                              call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
+                              local.get 5
+                              local.get 1
+                              i32.sub
+                              local.tee 3
+                              i32.const 16
+                              i32.lt_u
+                              br_if 1 (;@12;)
+                              local.get 4
+                              local.get 1
+                              local.get 4
+                              i32.load
+                              i32.const 1
+                              i32.and
+                              i32.or
+                              i32.const 2
+                              i32.or
+                              i32.store
+                              local.get 8
+                              local.get 1
+                              i32.add
+                              local.tee 1
+                              local.get 3
+                              i32.const 3
+                              i32.or
+                              i32.store offset=4
+                              local.get 8
+                              local.get 5
+                              i32.add
+                              local.tee 2
+                              local.get 2
+                              i32.load offset=4
+                              i32.const 1
+                              i32.or
+                              i32.store offset=4
+                              local.get 1
+                              local.get 3
+                              call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E
+                              local.get 0
+                              return
+                            end
+                            local.get 6
+                            local.get 1
+                            i32.sub
+                            local.tee 3
+                            i32.const 15
+                            i32.gt_u
+                            br_if 2 (;@10;)
+                            local.get 0
+                            return
+                          end
+                          local.get 4
+                          local.get 5
+                          local.get 4
+                          i32.load
+                          i32.const 1
+                          i32.and
+                          i32.or
+                          i32.const 2
+                          i32.or
+                          i32.store
+                          local.get 8
+                          local.get 5
+                          i32.add
+                          local.tee 1
+                          local.get 1
+                          i32.load offset=4
+                          i32.const 1
+                          i32.or
+                          i32.store offset=4
+                          local.get 0
+                          return
+                        end
+                        i32.const 0
+                        i32.load offset=1052312
+                        local.get 6
+                        i32.add
+                        local.tee 7
+                        local.get 1
+                        i32.lt_u
+                        br_if 2 (;@8;)
+                        block  ;; label = @11
+                          block  ;; label = @12
+                            local.get 7
+                            local.get 1
+                            i32.sub
+                            local.tee 3
+                            i32.const 15
+                            i32.gt_u
+                            br_if 0 (;@12;)
+                            local.get 4
+                            local.get 5
+                            i32.const 1
+                            i32.and
+                            local.get 7
+                            i32.or
+                            i32.const 2
+                            i32.or
+                            i32.store
+                            local.get 8
+                            local.get 7
+                            i32.add
+                            local.tee 1
+                            local.get 1
+                            i32.load offset=4
+                            i32.const 1
+                            i32.or
+                            i32.store offset=4
+                            i32.const 0
+                            local.set 3
+                            i32.const 0
+                            local.set 1
+                            br 1 (;@11;)
+                          end
+                          local.get 4
+                          local.get 1
+                          local.get 5
+                          i32.const 1
+                          i32.and
+                          i32.or
+                          i32.const 2
+                          i32.or
+                          i32.store
+                          local.get 8
+                          local.get 1
+                          i32.add
+                          local.tee 1
+                          local.get 3
+                          i32.const 1
+                          i32.or
+                          i32.store offset=4
+                          local.get 8
+                          local.get 7
+                          i32.add
+                          local.tee 2
+                          local.get 3
+                          i32.store
+                          local.get 2
+                          local.get 2
+                          i32.load offset=4
+                          i32.const -2
+                          i32.and
+                          i32.store offset=4
+                        end
+                        i32.const 0
+                        local.get 1
+                        i32.store offset=1052320
+                        i32.const 0
+                        local.get 3
+                        i32.store offset=1052312
+                        local.get 0
+                        return
+                      end
+                      local.get 4
+                      local.get 1
+                      local.get 5
+                      i32.const 1
+                      i32.and
+                      i32.or
+                      i32.const 2
+                      i32.or
+                      i32.store
+                      local.get 8
+                      local.get 1
+                      i32.add
+                      local.tee 1
+                      local.get 3
+                      i32.const 3
+                      i32.or
+                      i32.store offset=4
+                      local.get 7
+                      local.get 7
+                      i32.load offset=4
+                      i32.const 1
+                      i32.or
+                      i32.store offset=4
+                      local.get 1
+                      local.get 3
+                      call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E
+                      local.get 0
+                      return
+                    end
+                    i32.const 0
+                    i32.load offset=1052316
+                    local.get 6
+                    i32.add
+                    local.tee 7
+                    local.get 1
+                    i32.gt_u
+                    br_if 7 (;@1;)
+                  end
+                  local.get 3
+                  call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h0483a0dc0f5e490bE
+                  local.tee 1
+                  i32.eqz
+                  br_if 1 (;@6;)
+                  local.get 1
+                  local.get 0
+                  i32.const -4
+                  i32.const -8
+                  local.get 4
+                  i32.load
+                  local.tee 2
+                  i32.const 3
+                  i32.and
+                  select
+                  local.get 2
+                  i32.const -8
+                  i32.and
+                  i32.add
+                  local.tee 2
+                  local.get 3
+                  local.get 2
+                  local.get 3
+                  i32.lt_u
+                  select
+                  call $memcpy
+                  local.set 1
+                  local.get 0
+                  call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h21bf9d7572bd86f3E
+                  local.get 1
+                  return
+                end
+                local.get 2
+                local.get 0
+                local.get 1
+                local.get 3
+                local.get 1
+                local.get 3
+                i32.lt_u
+                select
+                call $memcpy
+                drop
+                local.get 4
+                i32.load
+                local.tee 3
+                i32.const -8
+                i32.and
+                local.tee 7
+                i32.const 4
+                i32.const 8
+                local.get 3
+                i32.const 3
+                i32.and
+                local.tee 3
+                select
+                local.get 1
+                i32.add
+                i32.lt_u
+                br_if 3 (;@3;)
+                block  ;; label = @7
+                  local.get 3
+                  i32.eqz
+                  br_if 0 (;@7;)
+                  local.get 7
+                  local.get 8
+                  i32.gt_u
+                  br_if 5 (;@2;)
+                end
+                local.get 0
+                call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h21bf9d7572bd86f3E
+              end
+              local.get 2
+              return
+            end
+            i32.const 1050957
+            i32.const 46
+            i32.const 1051004
+            call $_ZN4core9panicking5panic17h3b99507adb69386aE
+            unreachable
+          end
+          i32.const 1051020
+          i32.const 46
+          i32.const 1051068
+          call $_ZN4core9panicking5panic17h3b99507adb69386aE
+          unreachable
+        end
+        i32.const 1050957
+        i32.const 46
+        i32.const 1051004
+        call $_ZN4core9panicking5panic17h3b99507adb69386aE
+        unreachable
+      end
+      i32.const 1051020
+      i32.const 46
+      i32.const 1051068
+      call $_ZN4core9panicking5panic17h3b99507adb69386aE
+      unreachable
+    end
+    local.get 4
+    local.get 1
+    local.get 5
+    i32.const 1
+    i32.and
+    i32.or
+    i32.const 2
+    i32.or
+    i32.store
+    local.get 8
+    local.get 1
+    i32.add
+    local.tee 3
+    local.get 7
+    local.get 1
+    i32.sub
+    local.tee 1
+    i32.const 1
+    i32.or
+    i32.store offset=4
+    i32.const 0
+    local.get 1
+    i32.store offset=1052316
+    i32.const 0
+    local.get 3
+    i32.store offset=1052324
+    local.get 0)
+  (func $rust_begin_unwind (type 1) (param i32)
+    (local i32 i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 1
+    global.set $__stack_pointer
+    block  ;; label = @1
+      local.get 0
+      i32.load offset=8
+      local.tee 2
+      br_if 0 (;@1;)
+      i32.const 1051204
+      call $_ZN4core6option13unwrap_failed17h0d060778de0f79e8E
+      unreachable
+    end
+    local.get 1
+    local.get 0
+    i32.load offset=12
+    i32.store offset=12
+    local.get 1
+    local.get 0
+    i32.store offset=8
+    local.get 1
+    local.get 2
+    i32.store offset=4
+    local.get 1
+    i32.const 4
+    i32.add
+    call $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17hbdf3ddeb21a1e747E
+    unreachable)
+  (func $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17he725486881b42bbeE (type 4) (param i32 i32)
+    (local i32 i32 i32 i64)
+    global.get $__stack_pointer
+    i32.const 48
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      i32.const -2147483648
+      i32.ne
+      br_if 0 (;@1;)
+      local.get 1
+      i32.load offset=12
+      local.set 3
+      local.get 2
+      i32.const 36
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 4
+      i32.const 0
+      i32.store
+      local.get 2
+      i64.const 4294967296
+      i64.store offset=36 align=4
+      local.get 2
+      i32.const 36
+      i32.add
+      i32.const 1050892
+      local.get 3
+      call $_ZN4core3fmt5write17hbee61cd3fb7b52a3E
+      drop
+      local.get 2
+      i32.const 24
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 4
+      i32.load
+      local.tee 3
+      i32.store
+      local.get 2
+      local.get 2
+      i64.load offset=36 align=4
+      local.tee 5
+      i64.store offset=24
+      local.get 1
+      i32.const 8
+      i32.add
+      local.get 3
+      i32.store
+      local.get 1
+      local.get 5
+      i64.store align=4
+    end
+    local.get 1
+    i64.load align=4
+    local.set 5
+    local.get 1
+    i64.const 4294967296
+    i64.store align=4
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    local.get 1
+    i32.const 8
+    i32.add
+    local.tee 1
+    i32.load
+    i32.store
+    local.get 1
+    i32.const 0
+    i32.store
+    i32.const 0
+    i32.load8_u offset=1051873
+    drop
+    local.get 2
+    local.get 5
+    i64.store offset=8
+    block  ;; label = @1
+      i32.const 12
+      i32.const 4
+      call $__rust_alloc
+      local.tee 1
+      br_if 0 (;@1;)
+      i32.const 4
+      i32.const 12
+      call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+      unreachable
+    end
+    local.get 1
+    local.get 2
+    i64.load offset=8
+    i64.store align=4
+    local.get 1
+    i32.const 8
+    i32.add
+    local.get 3
+    i32.load
+    i32.store
+    local.get 0
+    i32.const 1051220
+    i32.store offset=4
+    local.get 0
+    local.get 1
+    i32.store
+    local.get 2
+    i32.const 48
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17ha699b76f30386534E (type 4) (param i32 i32)
+    (local i32 i32 i32 i64)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      i32.const -2147483648
+      i32.ne
+      br_if 0 (;@1;)
+      local.get 1
+      i32.load offset=12
+      local.set 3
+      local.get 2
+      i32.const 20
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 4
+      i32.const 0
+      i32.store
+      local.get 2
+      i64.const 4294967296
+      i64.store offset=20 align=4
+      local.get 2
+      i32.const 20
+      i32.add
+      i32.const 1050892
+      local.get 3
+      call $_ZN4core3fmt5write17hbee61cd3fb7b52a3E
+      drop
+      local.get 2
+      i32.const 8
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 4
+      i32.load
+      local.tee 3
+      i32.store
+      local.get 2
+      local.get 2
+      i64.load offset=20 align=4
+      local.tee 5
+      i64.store offset=8
+      local.get 1
+      i32.const 8
+      i32.add
+      local.get 3
+      i32.store
+      local.get 1
+      local.get 5
+      i64.store align=4
+    end
+    local.get 0
+    i32.const 1051220
+    i32.store offset=4
+    local.get 0
+    local.get 1
+    i32.store
+    local.get 2
+    i32.const 32
+    i32.add
+    global.set $__stack_pointer)
+  (func $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17h00db27ffc0f86bc9E (type 4) (param i32 i32)
+    (local i32 i32)
+    i32.const 0
+    i32.load8_u offset=1051873
+    drop
+    local.get 1
+    i32.load offset=4
+    local.set 2
+    local.get 1
+    i32.load
+    local.set 3
+    block  ;; label = @1
+      i32.const 8
+      i32.const 4
+      call $__rust_alloc
+      local.tee 1
+      br_if 0 (;@1;)
+      i32.const 4
+      i32.const 8
+      call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+      unreachable
+    end
+    local.get 1
+    local.get 2
+    i32.store offset=4
+    local.get 1
+    local.get 3
+    i32.store
+    local.get 0
+    i32.const 1051236
+    i32.store offset=4
+    local.get 0
+    local.get 1
+    i32.store)
+  (func $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17h25e87be0acf0cba3E (type 4) (param i32 i32)
+    local.get 0
+    i32.const 1051236
+    i32.store offset=4
+    local.get 0
+    local.get 1
+    i32.store)
+  (func $_ZN3std9panicking20rust_panic_with_hook17h6731baa78621a747E (type 3) (param i32 i32 i32 i32 i32 i32)
+    (local i32 i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 6
+    global.set $__stack_pointer
+    i32.const 0
+    i32.const 0
+    i32.load offset=1051892
+    local.tee 7
+    i32.const 1
+    i32.add
+    i32.store offset=1051892
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 7
+        i32.const 0
+        i32.lt_s
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.load8_u offset=1052352
+        i32.const 255
+        i32.and
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.const 1
+        i32.store8 offset=1052352
+        i32.const 0
+        i32.const 0
+        i32.load offset=1052348
+        i32.const 1
+        i32.add
+        i32.store offset=1052348
+        local.get 6
+        local.get 5
+        i32.store8 offset=29
+        local.get 6
+        local.get 4
+        i32.store8 offset=28
+        local.get 6
+        local.get 3
+        i32.store offset=24
+        local.get 6
+        local.get 2
+        i32.store offset=20
+        local.get 6
+        i32.const 1051292
+        i32.store offset=16
+        local.get 6
+        i32.const 1
+        i32.store offset=12
+        i32.const 0
+        i32.load offset=1051880
+        local.tee 7
+        i32.const -1
+        i32.le_s
+        br_if 0 (;@2;)
+        i32.const 0
+        local.get 7
+        i32.const 1
+        i32.add
+        i32.store offset=1051880
+        block  ;; label = @3
+          i32.const 0
+          i32.load offset=1051884
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 6
+          local.get 0
+          local.get 1
+          i32.load offset=16
+          call_indirect (type 4)
+          local.get 6
+          local.get 6
+          i64.load
+          i64.store offset=12 align=4
+          i32.const 0
+          i32.load offset=1051884
+          local.get 6
+          i32.const 12
+          i32.add
+          i32.const 0
+          i32.load offset=1051888
+          i32.load offset=20
+          call_indirect (type 4)
+          i32.const 0
+          i32.load offset=1051880
+          i32.const -1
+          i32.add
+          local.set 7
+        end
+        i32.const 0
+        local.get 7
+        i32.store offset=1051880
+        i32.const 0
+        i32.const 0
+        i32.store8 offset=1052352
+        local.get 4
+        br_if 1 (;@1;)
+      end
+      unreachable
+      unreachable
+    end
+    local.get 0
+    local.get 1
+    call $rust_panic
+    unreachable)
+  (func $rust_panic (type 4) (param i32 i32)
+    local.get 0
+    local.get 1
+    call $__rust_start_panic
+    drop
+    unreachable
+    unreachable)
+  (func $__rg_oom (type 4) (param i32 i32)
+    (local i32)
+    local.get 1
+    local.get 0
+    i32.const 0
+    i32.load offset=1051876
+    local.tee 2
+    i32.const 43
+    local.get 2
+    select
+    call_indirect (type 4)
+    unreachable
+    unreachable)
+  (func $__rust_start_panic (type 6) (param i32 i32) (result i32)
+    unreachable
+    unreachable)
+  (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5alloc17h32bf5aa7613bca1cE (type 0) (param i32 i32 i32)
+    (local i32)
+    local.get 2
+    i32.const 16
+    i32.shr_u
+    memory.grow
+    local.set 3
+    local.get 0
+    i32.const 0
+    i32.store offset=8
+    local.get 0
+    i32.const 0
+    local.get 2
+    i32.const -65536
+    i32.and
+    local.get 3
+    i32.const -1
+    i32.eq
+    local.tee 2
+    select
+    i32.store offset=4
+    local.get 0
+    i32.const 0
+    local.get 3
+    i32.const 16
+    i32.shl
+    local.get 2
+    select
+    i32.store)
+  (func $_ZN5alloc7raw_vec17capacity_overflow17ha85462faabb43c69E (type 11)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 0
+    global.set $__stack_pointer
+    local.get 0
+    i32.const 0
+    i32.store offset=24
+    local.get 0
+    i32.const 1
+    i32.store offset=12
+    local.get 0
+    i32.const 1051328
+    i32.store offset=8
+    local.get 0
+    i64.const 4
+    i64.store offset=16 align=4
+    local.get 0
+    i32.const 8
+    i32.add
+    i32.const 1051364
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E (type 4) (param i32 i32)
+    block  ;; label = @1
+      local.get 0
+      br_if 0 (;@1;)
+      call $_ZN5alloc7raw_vec17capacity_overflow17ha85462faabb43c69E
+      unreachable
+    end
+    local.get 0
+    local.get 1
+    call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
+    unreachable)
+  (func $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E (type 4) (param i32 i32)
+    local.get 1
+    local.get 0
+    call $__rust_alloc_error_handler
+    unreachable)
+  (func $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h1c3f1cbd1368fccaE (type 1) (param i32))
+  (func $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE (type 4) (param i32 i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    i32.const 1
+    i32.store16 offset=28
+    local.get 2
+    local.get 1
+    i32.store offset=24
+    local.get 2
+    local.get 0
+    i32.store offset=20
+    local.get 2
+    i32.const 1051520
+    i32.store offset=16
+    local.get 2
+    i32.const 1
+    i32.store offset=12
+    local.get 2
+    i32.const 12
+    i32.add
+    call $rust_begin_unwind
+    unreachable)
+  (func $_ZN4core5slice5index26slice_start_index_len_fail17hdf8c0aea852237a1E (type 0) (param i32 i32 i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    call $_ZN4core5slice5index29slice_start_index_len_fail_rt17h457337ef10e44172E
+    unreachable)
+  (func $_ZN4core3fmt9Formatter3pad17hbad76490c47154d2E (type 5) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.tee 3
+      local.get 0
+      i32.load offset=8
+      local.tee 4
+      i32.or
+      i32.eqz
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 4
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        local.get 2
+        i32.add
+        local.set 5
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 0
+            i32.load offset=12
+            local.tee 6
+            br_if 0 (;@4;)
+            i32.const 0
+            local.set 7
+            local.get 1
+            local.set 8
+            br 1 (;@3;)
+          end
+          i32.const 0
+          local.set 7
+          local.get 1
+          local.set 8
+          loop  ;; label = @4
+            local.get 8
+            local.tee 4
+            local.get 5
+            i32.eq
+            br_if 2 (;@2;)
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 4
+                i32.load8_s
+                local.tee 8
+                i32.const -1
+                i32.le_s
+                br_if 0 (;@6;)
+                local.get 4
+                i32.const 1
+                i32.add
+                local.set 8
+                br 1 (;@5;)
+              end
+              block  ;; label = @6
+                local.get 8
+                i32.const -32
+                i32.ge_u
+                br_if 0 (;@6;)
+                local.get 4
+                i32.const 2
+                i32.add
+                local.set 8
+                br 1 (;@5;)
+              end
+              block  ;; label = @6
+                local.get 8
+                i32.const -16
+                i32.ge_u
+                br_if 0 (;@6;)
+                local.get 4
+                i32.const 3
+                i32.add
+                local.set 8
+                br 1 (;@5;)
+              end
+              local.get 4
+              i32.load8_u offset=2
+              i32.const 63
+              i32.and
+              i32.const 6
+              i32.shl
+              local.get 4
+              i32.load8_u offset=1
+              i32.const 63
+              i32.and
+              i32.const 12
+              i32.shl
+              i32.or
+              local.get 4
+              i32.load8_u offset=3
+              i32.const 63
+              i32.and
+              i32.or
+              local.get 8
+              i32.const 255
+              i32.and
+              i32.const 18
+              i32.shl
+              i32.const 1835008
+              i32.and
+              i32.or
+              i32.const 1114112
+              i32.eq
+              br_if 3 (;@2;)
+              local.get 4
+              i32.const 4
+              i32.add
+              local.set 8
+            end
+            local.get 7
+            local.get 4
+            i32.sub
+            local.get 8
+            i32.add
+            local.set 7
+            local.get 6
+            i32.const -1
+            i32.add
+            local.tee 6
+            br_if 0 (;@4;)
+          end
+        end
+        local.get 8
+        local.get 5
+        i32.eq
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          local.get 8
+          i32.load8_s
+          local.tee 4
+          i32.const -1
+          i32.gt_s
+          br_if 0 (;@3;)
+          local.get 4
+          i32.const -32
+          i32.lt_u
+          br_if 0 (;@3;)
+          local.get 4
+          i32.const -16
+          i32.lt_u
+          br_if 0 (;@3;)
+          local.get 8
+          i32.load8_u offset=2
+          i32.const 63
+          i32.and
+          i32.const 6
+          i32.shl
+          local.get 8
+          i32.load8_u offset=1
+          i32.const 63
+          i32.and
+          i32.const 12
+          i32.shl
+          i32.or
+          local.get 8
+          i32.load8_u offset=3
+          i32.const 63
+          i32.and
+          i32.or
+          local.get 4
+          i32.const 255
+          i32.and
+          i32.const 18
+          i32.shl
+          i32.const 1835008
+          i32.and
+          i32.or
+          i32.const 1114112
+          i32.eq
+          br_if 1 (;@2;)
+        end
+        block  ;; label = @3
+          local.get 7
+          i32.eqz
+          br_if 0 (;@3;)
+          block  ;; label = @4
+            local.get 7
+            local.get 2
+            i32.lt_u
+            br_if 0 (;@4;)
+            local.get 7
+            local.get 2
+            i32.eq
+            br_if 1 (;@3;)
+            br 2 (;@2;)
+          end
+          local.get 1
+          local.get 7
+          i32.add
+          i32.load8_s
+          i32.const -64
+          i32.lt_s
+          br_if 1 (;@2;)
+        end
+        local.get 7
+        local.set 2
+      end
+      block  ;; label = @2
+        local.get 3
+        br_if 0 (;@2;)
+        local.get 0
+        i32.load offset=20
+        local.get 1
+        local.get 2
+        local.get 0
+        i32.load offset=24
+        i32.load offset=12
+        call_indirect (type 5)
+        return
+      end
+      local.get 0
+      i32.load offset=4
+      local.set 3
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 2
+          i32.const 16
+          i32.lt_u
+          br_if 0 (;@3;)
+          local.get 1
+          local.get 2
+          call $_ZN4core3str5count14do_count_chars17h66d99444d2bc554aE
+          local.set 4
+          br 1 (;@2;)
+        end
+        block  ;; label = @3
+          local.get 2
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 4
+          br 1 (;@2;)
+        end
+        local.get 2
+        i32.const 3
+        i32.and
+        local.set 6
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 2
+            i32.const 4
+            i32.ge_u
+            br_if 0 (;@4;)
+            i32.const 0
+            local.set 4
+            i32.const 0
+            local.set 7
+            br 1 (;@3;)
+          end
+          local.get 2
+          i32.const 12
+          i32.and
+          local.set 5
+          i32.const 0
+          local.set 4
+          i32.const 0
+          local.set 7
+          loop  ;; label = @4
+            local.get 4
+            local.get 1
+            local.get 7
+            i32.add
+            local.tee 8
+            i32.load8_s
+            i32.const -65
+            i32.gt_s
+            i32.add
+            local.get 8
+            i32.const 1
+            i32.add
+            i32.load8_s
+            i32.const -65
+            i32.gt_s
+            i32.add
+            local.get 8
+            i32.const 2
+            i32.add
+            i32.load8_s
+            i32.const -65
+            i32.gt_s
+            i32.add
+            local.get 8
+            i32.const 3
+            i32.add
+            i32.load8_s
+            i32.const -65
+            i32.gt_s
+            i32.add
+            local.set 4
+            local.get 5
+            local.get 7
+            i32.const 4
+            i32.add
+            local.tee 7
+            i32.ne
+            br_if 0 (;@4;)
+          end
+        end
+        local.get 6
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        local.get 7
+        i32.add
+        local.set 8
+        loop  ;; label = @3
+          local.get 4
+          local.get 8
+          i32.load8_s
+          i32.const -65
+          i32.gt_s
+          i32.add
+          local.set 4
+          local.get 8
+          i32.const 1
+          i32.add
+          local.set 8
+          local.get 6
+          i32.const -1
+          i32.add
+          local.tee 6
+          br_if 0 (;@3;)
+        end
+      end
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 3
+          local.get 4
+          i32.le_u
+          br_if 0 (;@3;)
+          local.get 3
+          local.get 4
+          i32.sub
+          local.set 5
+          i32.const 0
+          local.set 4
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 0
+                i32.load8_u offset=32
+                br_table 2 (;@4;) 0 (;@6;) 1 (;@5;) 2 (;@4;) 2 (;@4;)
+              end
+              local.get 5
+              local.set 4
+              i32.const 0
+              local.set 5
+              br 1 (;@4;)
+            end
+            local.get 5
+            i32.const 1
+            i32.shr_u
+            local.set 4
+            local.get 5
+            i32.const 1
+            i32.add
+            i32.const 1
+            i32.shr_u
+            local.set 5
+          end
+          local.get 4
+          i32.const 1
+          i32.add
+          local.set 4
+          local.get 0
+          i32.load offset=16
+          local.set 6
+          local.get 0
+          i32.load offset=24
+          local.set 8
+          local.get 0
+          i32.load offset=20
+          local.set 7
+          loop  ;; label = @4
+            local.get 4
+            i32.const -1
+            i32.add
+            local.tee 4
+            i32.eqz
+            br_if 2 (;@2;)
+            local.get 7
+            local.get 6
+            local.get 8
+            i32.load offset=16
+            call_indirect (type 6)
+            i32.eqz
+            br_if 0 (;@4;)
+          end
+          i32.const 1
+          return
+        end
+        local.get 0
+        i32.load offset=20
+        local.get 1
+        local.get 2
+        local.get 0
+        i32.load offset=24
+        i32.load offset=12
+        call_indirect (type 5)
+        return
+      end
+      i32.const 1
+      local.set 4
+      block  ;; label = @2
+        local.get 7
+        local.get 1
+        local.get 2
+        local.get 8
+        i32.load offset=12
+        call_indirect (type 5)
+        br_if 0 (;@2;)
+        i32.const 0
+        local.set 4
+        block  ;; label = @3
+          loop  ;; label = @4
+            block  ;; label = @5
+              local.get 5
+              local.get 4
+              i32.ne
+              br_if 0 (;@5;)
+              local.get 5
+              local.set 4
+              br 2 (;@3;)
+            end
+            local.get 4
+            i32.const 1
+            i32.add
+            local.set 4
+            local.get 7
+            local.get 6
+            local.get 8
+            i32.load offset=16
+            call_indirect (type 6)
+            i32.eqz
+            br_if 0 (;@4;)
+          end
+          local.get 4
+          i32.const -1
+          i32.add
+          local.set 4
+        end
+        local.get 4
+        local.get 5
+        i32.lt_u
+        local.set 4
+      end
+      local.get 4
+      return
+    end
+    local.get 0
+    i32.load offset=20
+    local.get 1
+    local.get 2
+    local.get 0
+    i32.load offset=24
+    i32.load offset=12
+    call_indirect (type 5))
+  (func $_ZN4core9panicking5panic17h3b99507adb69386aE (type 0) (param i32 i32 i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 3
+    i32.const 0
+    i32.store offset=16
+    local.get 3
+    i32.const 1
+    i32.store offset=4
+    local.get 3
+    i64.const 4
+    i64.store offset=8 align=4
+    local.get 3
+    local.get 1
+    i32.store offset=28
+    local.get 3
+    local.get 0
+    i32.store offset=24
+    local.get 3
+    local.get 3
+    i32.const 24
+    i32.add
+    i32.store
+    local.get 3
+    local.get 2
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE (type 6) (param i32 i32) (result i32)
+    local.get 0
+    i64.load32_u
+    i32.const 1
+    local.get 1
+    call $_ZN4core3fmt3num3imp7fmt_u6417haef35ab823acabf1E)
+  (func $_ZN4core3fmt5write17hbee61cd3fb7b52a3E (type 5) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 48
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 3
+    i32.const 3
+    i32.store8 offset=44
+    local.get 3
+    i32.const 32
+    i32.store offset=28
+    i32.const 0
+    local.set 4
+    local.get 3
+    i32.const 0
+    i32.store offset=40
+    local.get 3
+    local.get 1
+    i32.store offset=36
+    local.get 3
+    local.get 0
+    i32.store offset=32
+    local.get 3
+    i32.const 0
+    i32.store offset=20
+    local.get 3
+    i32.const 0
+    i32.store offset=12
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 2
+              i32.load offset=16
+              local.tee 5
+              br_if 0 (;@5;)
+              local.get 2
+              i32.load offset=12
+              local.tee 0
+              i32.eqz
+              br_if 1 (;@4;)
+              local.get 2
+              i32.load offset=8
+              local.set 1
+              local.get 0
+              i32.const 3
+              i32.shl
+              local.set 6
+              local.get 0
+              i32.const -1
+              i32.add
+              i32.const 536870911
+              i32.and
+              i32.const 1
+              i32.add
+              local.set 4
+              local.get 2
+              i32.load
+              local.set 0
+              loop  ;; label = @6
+                block  ;; label = @7
+                  local.get 0
+                  i32.const 4
+                  i32.add
+                  i32.load
+                  local.tee 7
+                  i32.eqz
+                  br_if 0 (;@7;)
+                  local.get 3
+                  i32.load offset=32
+                  local.get 0
+                  i32.load
+                  local.get 7
+                  local.get 3
+                  i32.load offset=36
+                  i32.load offset=12
+                  call_indirect (type 5)
+                  br_if 4 (;@3;)
+                end
+                local.get 1
+                i32.load
+                local.get 3
+                i32.const 12
+                i32.add
+                local.get 1
+                i32.load offset=4
+                call_indirect (type 6)
+                br_if 3 (;@3;)
+                local.get 1
+                i32.const 8
+                i32.add
+                local.set 1
+                local.get 0
+                i32.const 8
+                i32.add
+                local.set 0
+                local.get 6
+                i32.const -8
+                i32.add
+                local.tee 6
+                br_if 0 (;@6;)
+                br 2 (;@4;)
+              end
+            end
+            local.get 2
+            i32.load offset=20
+            local.tee 1
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 1
+            i32.const 5
+            i32.shl
+            local.set 8
+            local.get 1
+            i32.const -1
+            i32.add
+            i32.const 134217727
+            i32.and
+            i32.const 1
+            i32.add
+            local.set 4
+            local.get 2
+            i32.load offset=8
+            local.set 9
+            local.get 2
+            i32.load
+            local.set 0
+            i32.const 0
+            local.set 6
+            loop  ;; label = @5
+              block  ;; label = @6
+                local.get 0
+                i32.const 4
+                i32.add
+                i32.load
+                local.tee 1
+                i32.eqz
+                br_if 0 (;@6;)
+                local.get 3
+                i32.load offset=32
+                local.get 0
+                i32.load
+                local.get 1
+                local.get 3
+                i32.load offset=36
+                i32.load offset=12
+                call_indirect (type 5)
+                br_if 3 (;@3;)
+              end
+              local.get 3
+              local.get 5
+              local.get 6
+              i32.add
+              local.tee 1
+              i32.const 16
+              i32.add
+              i32.load
+              i32.store offset=28
+              local.get 3
+              local.get 1
+              i32.const 28
+              i32.add
+              i32.load8_u
+              i32.store8 offset=44
+              local.get 3
+              local.get 1
+              i32.const 24
+              i32.add
+              i32.load
+              i32.store offset=40
+              local.get 1
+              i32.const 12
+              i32.add
+              i32.load
+              local.set 7
+              i32.const 0
+              local.set 10
+              i32.const 0
+              local.set 11
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 1
+                    i32.const 8
+                    i32.add
+                    i32.load
+                    br_table 1 (;@7;) 0 (;@8;) 2 (;@6;) 1 (;@7;)
+                  end
+                  local.get 7
+                  i32.const 3
+                  i32.shl
+                  local.set 12
+                  i32.const 0
+                  local.set 11
+                  local.get 9
+                  local.get 12
+                  i32.add
+                  local.tee 12
+                  i32.load offset=4
+                  br_if 1 (;@6;)
+                  local.get 12
+                  i32.load
+                  local.set 7
+                end
+                i32.const 1
+                local.set 11
+              end
+              local.get 3
+              local.get 7
+              i32.store offset=16
+              local.get 3
+              local.get 11
+              i32.store offset=12
+              local.get 1
+              i32.const 4
+              i32.add
+              i32.load
+              local.set 7
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 1
+                    i32.load
+                    br_table 1 (;@7;) 0 (;@8;) 2 (;@6;) 1 (;@7;)
+                  end
+                  local.get 7
+                  i32.const 3
+                  i32.shl
+                  local.set 11
+                  local.get 9
+                  local.get 11
+                  i32.add
+                  local.tee 11
+                  i32.load offset=4
+                  br_if 1 (;@6;)
+                  local.get 11
+                  i32.load
+                  local.set 7
+                end
+                i32.const 1
+                local.set 10
+              end
+              local.get 3
+              local.get 7
+              i32.store offset=24
+              local.get 3
+              local.get 10
+              i32.store offset=20
+              local.get 9
+              local.get 1
+              i32.const 20
+              i32.add
+              i32.load
+              i32.const 3
+              i32.shl
+              i32.add
+              local.tee 1
+              i32.load
+              local.get 3
+              i32.const 12
+              i32.add
+              local.get 1
+              i32.load offset=4
+              call_indirect (type 6)
+              br_if 2 (;@3;)
+              local.get 0
+              i32.const 8
+              i32.add
+              local.set 0
+              local.get 8
+              local.get 6
+              i32.const 32
+              i32.add
+              local.tee 6
+              i32.ne
+              br_if 0 (;@5;)
+            end
+          end
+          local.get 4
+          local.get 2
+          i32.load offset=4
+          i32.ge_u
+          br_if 1 (;@2;)
+          local.get 3
+          i32.load offset=32
+          local.get 2
+          i32.load
+          local.get 4
+          i32.const 3
+          i32.shl
+          i32.add
+          local.tee 1
+          i32.load
+          local.get 1
+          i32.load offset=4
+          local.get 3
+          i32.load offset=36
+          i32.load offset=12
+          call_indirect (type 5)
+          i32.eqz
+          br_if 1 (;@2;)
+        end
+        i32.const 1
+        local.set 1
+        br 1 (;@1;)
+      end
+      i32.const 0
+      local.set 1
+    end
+    local.get 3
+    i32.const 48
+    i32.add
+    global.set $__stack_pointer
+    local.get 1)
+  (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h4e5a4609280a40f1E (type 4) (param i32 i32)
+    local.get 0
+    i64.const 9172487606043731407
+    i64.store offset=8
+    local.get 0
+    i64.const -8877450274954529964
+    i64.store)
+  (func $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17h235ec3ceaa677e72E (type 6) (param i32 i32) (result i32)
+    local.get 1
+    i32.load offset=20
+    i32.const 1051380
+    i32.const 11
+    local.get 1
+    i32.load offset=24
+    i32.load offset=12
+    call_indirect (type 5))
+  (func $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h81bacf94bd657e5cE (type 6) (param i32 i32) (result i32)
+    local.get 1
+    i32.load offset=20
+    i32.const 1051391
+    i32.const 14
+    local.get 1
+    i32.load offset=24
+    i32.load offset=12
+    call_indirect (type 5))
+  (func $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E (type 1) (param i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 48
+    i32.sub
+    local.tee 1
+    global.set $__stack_pointer
+    local.get 1
+    i32.const 1
+    i32.store offset=12
+    local.get 1
+    i32.const 1051424
+    i32.store offset=8
+    local.get 1
+    i64.const 1
+    i64.store offset=20 align=4
+    local.get 1
+    i32.const 58
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.get 1
+    i32.const 47
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=32
+    local.get 1
+    local.get 1
+    i32.const 32
+    i32.add
+    i32.store offset=16
+    local.get 1
+    i32.const 8
+    i32.add
+    local.get 0
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E (type 1) (param i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 48
+    i32.sub
+    local.tee 1
+    global.set $__stack_pointer
+    local.get 1
+    i32.const 1
+    i32.store offset=12
+    local.get 1
+    i32.const 1051460
+    i32.store offset=8
+    local.get 1
+    i64.const 1
+    i64.store offset=20 align=4
+    local.get 1
+    i32.const 59
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.get 1
+    i32.const 47
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=32
+    local.get 1
+    local.get 1
+    i32.const 32
+    i32.add
+    i32.store offset=16
+    local.get 1
+    i32.const 8
+    i32.add
+    local.get 0
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN4core6result13unwrap_failed17h4ed86702351a3017E (type 7) (param i32 i32 i32 i32 i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 64
+    i32.sub
+    local.tee 5
+    global.set $__stack_pointer
+    local.get 5
+    local.get 1
+    i32.store offset=12
+    local.get 5
+    local.get 0
+    i32.store offset=8
+    local.get 5
+    local.get 3
+    i32.store offset=20
+    local.get 5
+    local.get 2
+    i32.store offset=16
+    local.get 5
+    i32.const 2
+    i32.store offset=28
+    local.get 5
+    i32.const 1051540
+    i32.store offset=24
+    local.get 5
+    i64.const 2
+    i64.store offset=36 align=4
+    local.get 5
+    i32.const 60
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.get 5
+    i32.const 16
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=56
+    local.get 5
+    i32.const 61
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.get 5
+    i32.const 8
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=48
+    local.get 5
+    local.get 5
+    i32.const 48
+    i32.add
+    i32.store offset=32
+    local.get 5
+    i32.const 24
+    i32.add
+    local.get 4
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN4core6option13unwrap_failed17h0d060778de0f79e8E (type 1) (param i32)
+    i32.const 1051476
+    i32.const 43
+    local.get 0
+    call $_ZN4core9panicking5panic17h3b99507adb69386aE
+    unreachable)
+  (func $_ZN4core6option13expect_failed17h637b3c5bf9792ea8E (type 0) (param i32 i32 i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 16
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 3
+    local.get 1
+    i32.store offset=12
+    local.get 3
+    local.get 0
+    i32.store offset=8
+    local.get 3
+    i32.const 8
+    i32.add
+    local.get 2
+    call $_ZN4core9panicking13panic_display17hbd841ae85eb3dff4E
+    unreachable)
+  (func $_ZN4core9panicking13panic_display17hbd841ae85eb3dff4E (type 4) (param i32 i32)
+    (local i32)
+    global.get $__stack_pointer
+    i32.const 32
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 2
+    i32.const 1
+    i32.store offset=4
+    local.get 2
+    i32.const 1051468
+    i32.store
+    local.get 2
+    i64.const 1
+    i64.store offset=12 align=4
+    local.get 2
+    i32.const 61
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.get 0
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=24
+    local.get 2
+    local.get 2
+    i32.const 24
+    i32.add
+    i32.store offset=8
+    local.get 2
+    local.get 1
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h87ef43d072a4bed1E (type 6) (param i32 i32) (result i32)
+    local.get 1
+    local.get 0
+    i32.load
+    local.get 0
+    i32.load offset=4
+    call $_ZN4core3fmt9Formatter3pad17hbad76490c47154d2E)
+  (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h3be2bf5a24d84447E (type 6) (param i32 i32) (result i32)
+    (local i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 128
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 0
+    i32.load
+    local.set 0
+    i32.const 0
+    local.set 3
+    loop  ;; label = @1
+      local.get 2
+      local.get 3
+      i32.add
+      i32.const 127
+      i32.add
+      local.get 0
+      i32.const 15
+      i32.and
+      local.tee 4
+      i32.const 48
+      i32.or
+      local.get 4
+      i32.const 87
+      i32.add
+      local.get 4
+      i32.const 10
+      i32.lt_u
+      select
+      i32.store8
+      local.get 3
+      i32.const -1
+      i32.add
+      local.set 3
+      local.get 0
+      i32.const 16
+      i32.lt_u
+      local.set 4
+      local.get 0
+      i32.const 4
+      i32.shr_u
+      local.set 0
+      local.get 4
+      i32.eqz
+      br_if 0 (;@1;)
+    end
+    block  ;; label = @1
+      local.get 3
+      i32.const 128
+      i32.add
+      local.tee 0
+      i32.const 129
+      i32.lt_u
+      br_if 0 (;@1;)
+      local.get 0
+      i32.const 128
+      i32.const 1051584
+      call $_ZN4core5slice5index26slice_start_index_len_fail17hdf8c0aea852237a1E
+      unreachable
+    end
+    local.get 1
+    i32.const 1
+    i32.const 1051600
+    i32.const 2
+    local.get 2
+    local.get 3
+    i32.add
+    i32.const 128
+    i32.add
+    i32.const 0
+    local.get 3
+    i32.sub
+    call $_ZN4core3fmt9Formatter12pad_integral17hcbbcc5e70706fcddE
+    local.set 0
+    local.get 2
+    i32.const 128
+    i32.add
+    global.set $__stack_pointer
+    local.get 0)
+  (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7a9a11a22d9e302cE (type 6) (param i32 i32) (result i32)
+    local.get 0
+    i32.load
+    local.get 1
+    local.get 0
+    i32.load offset=4
+    i32.load offset=12
+    call_indirect (type 6))
+  (func $_ZN4core3fmt9Formatter12pad_integral17hcbbcc5e70706fcddE (type 12) (param i32 i32 i32 i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 5
+        i32.const 1
+        i32.add
+        local.set 6
+        local.get 0
+        i32.load offset=28
+        local.set 7
+        i32.const 45
+        local.set 8
+        br 1 (;@1;)
+      end
+      i32.const 43
+      i32.const 1114112
+      local.get 0
+      i32.load offset=28
+      local.tee 7
+      i32.const 1
+      i32.and
+      local.tee 1
+      select
+      local.set 8
+      local.get 1
+      local.get 5
+      i32.add
+      local.set 6
+    end
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 7
+        i32.const 4
+        i32.and
+        br_if 0 (;@2;)
+        i32.const 0
+        local.set 2
+        br 1 (;@1;)
+      end
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 3
+          i32.const 16
+          i32.lt_u
+          br_if 0 (;@3;)
+          local.get 2
+          local.get 3
+          call $_ZN4core3str5count14do_count_chars17h66d99444d2bc554aE
+          local.set 1
+          br 1 (;@2;)
+        end
+        block  ;; label = @3
+          local.get 3
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 1
+          br 1 (;@2;)
+        end
+        local.get 3
+        i32.const 3
+        i32.and
+        local.set 9
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 3
+            i32.const 4
+            i32.ge_u
+            br_if 0 (;@4;)
+            i32.const 0
+            local.set 1
+            i32.const 0
+            local.set 10
+            br 1 (;@3;)
+          end
+          local.get 3
+          i32.const 12
+          i32.and
+          local.set 11
+          i32.const 0
+          local.set 1
+          i32.const 0
+          local.set 10
+          loop  ;; label = @4
+            local.get 1
+            local.get 2
+            local.get 10
+            i32.add
+            local.tee 12
+            i32.load8_s
+            i32.const -65
+            i32.gt_s
+            i32.add
+            local.get 12
+            i32.const 1
+            i32.add
+            i32.load8_s
+            i32.const -65
+            i32.gt_s
+            i32.add
+            local.get 12
+            i32.const 2
+            i32.add
+            i32.load8_s
+            i32.const -65
+            i32.gt_s
+            i32.add
+            local.get 12
+            i32.const 3
+            i32.add
+            i32.load8_s
+            i32.const -65
+            i32.gt_s
+            i32.add
+            local.set 1
+            local.get 11
+            local.get 10
+            i32.const 4
+            i32.add
+            local.tee 10
+            i32.ne
+            br_if 0 (;@4;)
+          end
+        end
+        local.get 9
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 10
+        i32.add
+        local.set 12
+        loop  ;; label = @3
+          local.get 1
+          local.get 12
+          i32.load8_s
+          i32.const -65
+          i32.gt_s
+          i32.add
+          local.set 1
+          local.get 12
+          i32.const 1
+          i32.add
+          local.set 12
+          local.get 9
+          i32.const -1
+          i32.add
+          local.tee 9
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 1
+      local.get 6
+      i32.add
+      local.set 6
+    end
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load
+        br_if 0 (;@2;)
+        i32.const 1
+        local.set 1
+        local.get 0
+        i32.load offset=20
+        local.tee 12
+        local.get 0
+        i32.load offset=24
+        local.tee 10
+        local.get 8
+        local.get 2
+        local.get 3
+        call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E
+        br_if 1 (;@1;)
+        local.get 12
+        local.get 4
+        local.get 5
+        local.get 10
+        i32.load offset=12
+        call_indirect (type 5)
+        return
+      end
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=4
+        local.tee 9
+        local.get 6
+        i32.gt_u
+        br_if 0 (;@2;)
+        i32.const 1
+        local.set 1
+        local.get 0
+        i32.load offset=20
+        local.tee 12
+        local.get 0
+        i32.load offset=24
+        local.tee 10
+        local.get 8
+        local.get 2
+        local.get 3
+        call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E
+        br_if 1 (;@1;)
+        local.get 12
+        local.get 4
+        local.get 5
+        local.get 10
+        i32.load offset=12
+        call_indirect (type 5)
+        return
+      end
+      block  ;; label = @2
+        local.get 7
+        i32.const 8
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 0
+        i32.load offset=16
+        local.set 11
+        local.get 0
+        i32.const 48
+        i32.store offset=16
+        local.get 0
+        i32.load8_u offset=32
+        local.set 7
+        i32.const 1
+        local.set 1
+        local.get 0
+        i32.const 1
+        i32.store8 offset=32
+        local.get 0
+        i32.load offset=20
+        local.tee 12
+        local.get 0
+        i32.load offset=24
+        local.tee 10
+        local.get 8
+        local.get 2
+        local.get 3
+        call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E
+        br_if 1 (;@1;)
+        local.get 9
+        local.get 6
+        i32.sub
+        i32.const 1
+        i32.add
+        local.set 1
+        block  ;; label = @3
+          loop  ;; label = @4
+            local.get 1
+            i32.const -1
+            i32.add
+            local.tee 1
+            i32.eqz
+            br_if 1 (;@3;)
+            local.get 12
+            i32.const 48
+            local.get 10
+            i32.load offset=16
+            call_indirect (type 6)
+            i32.eqz
+            br_if 0 (;@4;)
+          end
+          i32.const 1
+          return
+        end
+        i32.const 1
+        local.set 1
+        local.get 12
+        local.get 4
+        local.get 5
+        local.get 10
+        i32.load offset=12
+        call_indirect (type 5)
+        br_if 1 (;@1;)
+        local.get 0
+        local.get 7
+        i32.store8 offset=32
+        local.get 0
+        local.get 11
+        i32.store offset=16
+        i32.const 0
+        local.set 1
+        br 1 (;@1;)
+      end
+      local.get 9
+      local.get 6
+      i32.sub
+      local.set 6
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 0
+            i32.load8_u offset=32
+            local.tee 1
+            br_table 2 (;@2;) 0 (;@4;) 1 (;@3;) 0 (;@4;) 2 (;@2;)
+          end
+          local.get 6
+          local.set 1
+          i32.const 0
+          local.set 6
+          br 1 (;@2;)
+        end
+        local.get 6
+        i32.const 1
+        i32.shr_u
+        local.set 1
+        local.get 6
+        i32.const 1
+        i32.add
+        i32.const 1
+        i32.shr_u
+        local.set 6
+      end
+      local.get 1
+      i32.const 1
+      i32.add
+      local.set 1
+      local.get 0
+      i32.load offset=16
+      local.set 9
+      local.get 0
+      i32.load offset=24
+      local.set 12
+      local.get 0
+      i32.load offset=20
+      local.set 10
+      block  ;; label = @2
+        loop  ;; label = @3
+          local.get 1
+          i32.const -1
+          i32.add
+          local.tee 1
+          i32.eqz
+          br_if 1 (;@2;)
+          local.get 10
+          local.get 9
+          local.get 12
+          i32.load offset=16
+          call_indirect (type 6)
+          i32.eqz
+          br_if 0 (;@3;)
+        end
+        i32.const 1
+        return
+      end
+      i32.const 1
+      local.set 1
+      local.get 10
+      local.get 12
+      local.get 8
+      local.get 2
+      local.get 3
+      call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E
+      br_if 0 (;@1;)
+      local.get 10
+      local.get 4
+      local.get 5
+      local.get 12
+      i32.load offset=12
+      call_indirect (type 5)
+      br_if 0 (;@1;)
+      i32.const 0
+      local.set 1
+      loop  ;; label = @2
+        block  ;; label = @3
+          local.get 6
+          local.get 1
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 6
+          local.get 6
+          i32.lt_u
+          return
+        end
+        local.get 1
+        i32.const 1
+        i32.add
+        local.set 1
+        local.get 10
+        local.get 9
+        local.get 12
+        i32.load offset=16
+        call_indirect (type 6)
+        i32.eqz
+        br_if 0 (;@2;)
+      end
+      local.get 1
+      i32.const -1
+      i32.add
+      local.get 6
+      i32.lt_u
+      return
+    end
+    local.get 1)
+  (func $_ZN4core3str5count14do_count_chars17h66d99444d2bc554aE (type 6) (param i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        local.get 0
+        i32.const 3
+        i32.add
+        i32.const -4
+        i32.and
+        local.tee 2
+        local.get 0
+        i32.sub
+        local.tee 3
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 1
+        local.get 3
+        i32.sub
+        local.tee 4
+        i32.const 4
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 4
+        i32.const 3
+        i32.and
+        local.set 5
+        i32.const 0
+        local.set 6
+        i32.const 0
+        local.set 1
+        block  ;; label = @3
+          local.get 2
+          local.get 0
+          i32.eq
+          local.tee 7
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 1
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 0
+              local.get 2
+              i32.sub
+              local.tee 8
+              i32.const -4
+              i32.le_u
+              br_if 0 (;@5;)
+              i32.const 0
+              local.set 9
+              br 1 (;@4;)
+            end
+            i32.const 0
+            local.set 9
+            loop  ;; label = @5
+              local.get 1
+              local.get 0
+              local.get 9
+              i32.add
+              local.tee 2
+              i32.load8_s
+              i32.const -65
+              i32.gt_s
+              i32.add
+              local.get 2
+              i32.const 1
+              i32.add
+              i32.load8_s
+              i32.const -65
+              i32.gt_s
+              i32.add
+              local.get 2
+              i32.const 2
+              i32.add
+              i32.load8_s
+              i32.const -65
+              i32.gt_s
+              i32.add
+              local.get 2
+              i32.const 3
+              i32.add
+              i32.load8_s
+              i32.const -65
+              i32.gt_s
+              i32.add
+              local.set 1
+              local.get 9
+              i32.const 4
+              i32.add
+              local.tee 9
+              br_if 0 (;@5;)
+            end
+          end
+          local.get 7
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 9
+          i32.add
+          local.set 2
+          loop  ;; label = @4
+            local.get 1
+            local.get 2
+            i32.load8_s
+            i32.const -65
+            i32.gt_s
+            i32.add
+            local.set 1
+            local.get 2
+            i32.const 1
+            i32.add
+            local.set 2
+            local.get 8
+            i32.const 1
+            i32.add
+            local.tee 8
+            br_if 0 (;@4;)
+          end
+        end
+        local.get 0
+        local.get 3
+        i32.add
+        local.set 9
+        block  ;; label = @3
+          local.get 5
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 9
+          local.get 4
+          i32.const -4
+          i32.and
+          i32.add
+          local.tee 2
+          i32.load8_s
+          i32.const -65
+          i32.gt_s
+          local.set 6
+          local.get 5
+          i32.const 1
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 6
+          local.get 2
+          i32.load8_s offset=1
+          i32.const -65
+          i32.gt_s
+          i32.add
+          local.set 6
+          local.get 5
+          i32.const 2
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 6
+          local.get 2
+          i32.load8_s offset=2
+          i32.const -65
+          i32.gt_s
+          i32.add
+          local.set 6
+        end
+        local.get 4
+        i32.const 2
+        i32.shr_u
+        local.set 3
+        local.get 6
+        local.get 1
+        i32.add
+        local.set 8
+        loop  ;; label = @3
+          local.get 9
+          local.set 4
+          local.get 3
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 3
+          i32.const 192
+          local.get 3
+          i32.const 192
+          i32.lt_u
+          select
+          local.tee 6
+          i32.const 3
+          i32.and
+          local.set 7
+          local.get 6
+          i32.const 2
+          i32.shl
+          local.set 5
+          i32.const 0
+          local.set 2
+          block  ;; label = @4
+            local.get 3
+            i32.const 4
+            i32.lt_u
+            br_if 0 (;@4;)
+            local.get 4
+            local.get 5
+            i32.const 1008
+            i32.and
+            i32.add
+            local.set 0
+            i32.const 0
+            local.set 2
+            local.get 4
+            local.set 1
+            loop  ;; label = @5
+              local.get 1
+              i32.load offset=12
+              local.tee 9
+              i32.const -1
+              i32.xor
+              i32.const 7
+              i32.shr_u
+              local.get 9
+              i32.const 6
+              i32.shr_u
+              i32.or
+              i32.const 16843009
+              i32.and
+              local.get 1
+              i32.load offset=8
+              local.tee 9
+              i32.const -1
+              i32.xor
+              i32.const 7
+              i32.shr_u
+              local.get 9
+              i32.const 6
+              i32.shr_u
+              i32.or
+              i32.const 16843009
+              i32.and
+              local.get 1
+              i32.load offset=4
+              local.tee 9
+              i32.const -1
+              i32.xor
+              i32.const 7
+              i32.shr_u
+              local.get 9
+              i32.const 6
+              i32.shr_u
+              i32.or
+              i32.const 16843009
+              i32.and
+              local.get 1
+              i32.load
+              local.tee 9
+              i32.const -1
+              i32.xor
+              i32.const 7
+              i32.shr_u
+              local.get 9
+              i32.const 6
+              i32.shr_u
+              i32.or
+              i32.const 16843009
+              i32.and
+              local.get 2
+              i32.add
+              i32.add
+              i32.add
+              i32.add
+              local.set 2
+              local.get 1
+              i32.const 16
+              i32.add
+              local.tee 1
+              local.get 0
+              i32.ne
+              br_if 0 (;@5;)
+            end
+          end
+          local.get 3
+          local.get 6
+          i32.sub
+          local.set 3
+          local.get 4
+          local.get 5
+          i32.add
+          local.set 9
+          local.get 2
+          i32.const 8
+          i32.shr_u
+          i32.const 16711935
+          i32.and
+          local.get 2
+          i32.const 16711935
+          i32.and
+          i32.add
+          i32.const 65537
+          i32.mul
+          i32.const 16
+          i32.shr_u
+          local.get 8
+          i32.add
+          local.set 8
+          local.get 7
+          i32.eqz
+          br_if 0 (;@3;)
+        end
+        local.get 4
+        local.get 6
+        i32.const 252
+        i32.and
+        i32.const 2
+        i32.shl
+        i32.add
+        local.tee 2
+        i32.load
+        local.tee 1
+        i32.const -1
+        i32.xor
+        i32.const 7
+        i32.shr_u
+        local.get 1
+        i32.const 6
+        i32.shr_u
+        i32.or
+        i32.const 16843009
+        i32.and
+        local.set 1
+        block  ;; label = @3
+          local.get 7
+          i32.const 1
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 2
+          i32.load offset=4
+          local.tee 9
+          i32.const -1
+          i32.xor
+          i32.const 7
+          i32.shr_u
+          local.get 9
+          i32.const 6
+          i32.shr_u
+          i32.or
+          i32.const 16843009
+          i32.and
+          local.get 1
+          i32.add
+          local.set 1
+          local.get 7
+          i32.const 2
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 2
+          i32.load offset=8
+          local.tee 2
+          i32.const -1
+          i32.xor
+          i32.const 7
+          i32.shr_u
+          local.get 2
+          i32.const 6
+          i32.shr_u
+          i32.or
+          i32.const 16843009
+          i32.and
+          local.get 1
+          i32.add
+          local.set 1
+        end
+        local.get 1
+        i32.const 8
+        i32.shr_u
+        i32.const 459007
+        i32.and
+        local.get 1
+        i32.const 16711935
+        i32.and
+        i32.add
+        i32.const 65537
+        i32.mul
+        i32.const 16
+        i32.shr_u
+        local.get 8
+        i32.add
+        return
+      end
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        i32.const 0
+        return
+      end
+      local.get 1
+      i32.const 3
+      i32.and
+      local.set 9
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.const 4
+          i32.ge_u
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 8
+          i32.const 0
+          local.set 2
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.const -4
+        i32.and
+        local.set 3
+        i32.const 0
+        local.set 8
+        i32.const 0
+        local.set 2
+        loop  ;; label = @3
+          local.get 8
+          local.get 0
+          local.get 2
+          i32.add
+          local.tee 1
+          i32.load8_s
+          i32.const -65
+          i32.gt_s
+          i32.add
+          local.get 1
+          i32.const 1
+          i32.add
+          i32.load8_s
+          i32.const -65
+          i32.gt_s
+          i32.add
+          local.get 1
+          i32.const 2
+          i32.add
+          i32.load8_s
+          i32.const -65
+          i32.gt_s
+          i32.add
+          local.get 1
+          i32.const 3
+          i32.add
+          i32.load8_s
+          i32.const -65
+          i32.gt_s
+          i32.add
+          local.set 8
+          local.get 3
+          local.get 2
+          i32.const 4
+          i32.add
+          local.tee 2
+          i32.ne
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 9
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 2
+      i32.add
+      local.set 1
+      loop  ;; label = @2
+        local.get 8
+        local.get 1
+        i32.load8_s
+        i32.const -65
+        i32.gt_s
+        i32.add
+        local.set 8
+        local.get 1
+        i32.const 1
+        i32.add
+        local.set 1
+        local.get 9
+        i32.const -1
+        i32.add
+        local.tee 9
+        br_if 0 (;@2;)
+      end
+    end
+    local.get 8)
+  (func $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E (type 13) (param i32 i32 i32 i32 i32) (result i32)
+    (local i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 2
+          i32.const 1114112
+          i32.eq
+          br_if 0 (;@3;)
+          i32.const 1
+          local.set 5
+          local.get 0
+          local.get 2
+          local.get 1
+          i32.load offset=16
+          call_indirect (type 6)
+          br_if 1 (;@2;)
+        end
+        local.get 3
+        br_if 1 (;@1;)
+        i32.const 0
+        local.set 5
+      end
+      local.get 5
+      return
+    end
+    local.get 0
+    local.get 3
+    local.get 4
+    local.get 1
+    i32.load offset=12
+    call_indirect (type 5))
+  (func $_ZN4core3fmt9Formatter9write_str17hb14ec2e1267025f3E (type 5) (param i32 i32 i32) (result i32)
+    local.get 0
+    i32.load offset=20
+    local.get 1
+    local.get 2
+    local.get 0
+    i32.load offset=24
+    i32.load offset=12
+    call_indirect (type 5))
+  (func $_ZN4core5slice5index29slice_start_index_len_fail_rt17h457337ef10e44172E (type 0) (param i32 i32 i32)
+    (local i32 i64)
+    global.get $__stack_pointer
+    i32.const 48
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    local.get 3
+    local.get 1
+    i32.store offset=4
+    local.get 3
+    local.get 0
+    i32.store
+    local.get 3
+    i32.const 2
+    i32.store offset=12
+    local.get 3
+    i32.const 1051856
+    i32.store offset=8
+    local.get 3
+    i64.const 2
+    i64.store offset=20 align=4
+    local.get 3
+    i32.const 37
+    i64.extend_i32_u
+    i64.const 32
+    i64.shl
+    local.tee 4
+    local.get 3
+    i32.const 4
+    i32.add
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=40
+    local.get 3
+    local.get 4
+    local.get 3
+    i64.extend_i32_u
+    i64.or
+    i64.store offset=32
+    local.get 3
+    local.get 3
+    i32.const 32
+    i32.add
+    i32.store offset=16
+    local.get 3
+    i32.const 8
+    i32.add
+    local.get 2
+    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
+    unreachable)
+  (func $_ZN4core3fmt3num3imp7fmt_u6417haef35ab823acabf1E (type 14) (param i64 i32 i32) (result i32)
+    (local i32 i32 i64 i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 48
+    i32.sub
+    local.tee 3
+    global.set $__stack_pointer
+    i32.const 39
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i64.const 10000
+        i64.ge_u
+        br_if 0 (;@2;)
+        local.get 0
+        local.set 5
+        br 1 (;@1;)
+      end
+      i32.const 39
+      local.set 4
+      loop  ;; label = @2
+        local.get 3
+        i32.const 9
+        i32.add
+        local.get 4
+        i32.add
+        local.tee 6
+        i32.const -4
+        i32.add
+        local.get 0
+        local.get 0
+        i64.const 10000
+        i64.div_u
+        local.tee 5
+        i64.const 10000
+        i64.mul
+        i64.sub
+        i32.wrap_i64
+        local.tee 7
+        i32.const 65535
+        i32.and
+        i32.const 100
+        i32.div_u
+        local.tee 8
+        i32.const 1
+        i32.shl
+        i32.const 1051602
+        i32.add
+        i32.load16_u align=1
+        i32.store16 align=1
+        local.get 6
+        i32.const -2
+        i32.add
+        local.get 7
+        local.get 8
+        i32.const 100
+        i32.mul
+        i32.sub
+        i32.const 65535
+        i32.and
+        i32.const 1
+        i32.shl
+        i32.const 1051602
+        i32.add
+        i32.load16_u align=1
+        i32.store16 align=1
+        local.get 4
+        i32.const -4
+        i32.add
+        local.set 4
+        local.get 0
+        i64.const 99999999
+        i64.gt_u
+        local.set 6
+        local.get 5
+        local.set 0
+        local.get 6
+        br_if 0 (;@2;)
+      end
+    end
+    block  ;; label = @1
+      local.get 5
+      i32.wrap_i64
+      local.tee 6
+      i32.const 99
+      i32.le_u
+      br_if 0 (;@1;)
+      local.get 3
+      i32.const 9
+      i32.add
+      local.get 4
+      i32.const -2
+      i32.add
+      local.tee 4
+      i32.add
+      local.get 5
+      i32.wrap_i64
+      local.tee 6
+      local.get 6
+      i32.const 65535
+      i32.and
+      i32.const 100
+      i32.div_u
+      local.tee 6
+      i32.const 100
+      i32.mul
+      i32.sub
+      i32.const 65535
+      i32.and
+      i32.const 1
+      i32.shl
+      i32.const 1051602
+      i32.add
+      i32.load16_u align=1
+      i32.store16 align=1
+    end
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 6
+        i32.const 10
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 3
+        i32.const 9
+        i32.add
+        local.get 4
+        i32.const -2
+        i32.add
+        local.tee 4
+        i32.add
+        local.get 6
+        i32.const 1
+        i32.shl
+        i32.const 1051602
+        i32.add
+        i32.load16_u align=1
+        i32.store16 align=1
+        br 1 (;@1;)
+      end
+      local.get 3
+      i32.const 9
+      i32.add
+      local.get 4
+      i32.const -1
+      i32.add
+      local.tee 4
+      i32.add
+      local.get 6
+      i32.const 48
+      i32.or
+      i32.store8
+    end
+    local.get 2
+    local.get 1
+    i32.const 1
+    i32.const 0
+    local.get 3
+    i32.const 9
+    i32.add
+    local.get 4
+    i32.add
+    i32.const 39
+    local.get 4
+    i32.sub
+    call $_ZN4core3fmt9Formatter12pad_integral17hcbbcc5e70706fcddE
+    local.set 4
+    local.get 3
+    i32.const 48
+    i32.add
+    global.set $__stack_pointer
+    local.get 4)
+  (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd504c8c64d2f0cadE (type 6) (param i32 i32) (result i32)
+    (local i32 i32 i32)
+    global.get $__stack_pointer
+    i32.const 128
+    i32.sub
+    local.tee 2
+    global.set $__stack_pointer
+    local.get 0
+    i32.load
+    local.set 0
+    i32.const 0
+    local.set 3
+    loop  ;; label = @1
+      local.get 2
+      local.get 3
+      i32.add
+      i32.const 127
+      i32.add
+      local.get 0
+      i32.const 15
+      i32.and
+      local.tee 4
+      i32.const 48
+      i32.or
+      local.get 4
+      i32.const 55
+      i32.add
+      local.get 4
+      i32.const 10
+      i32.lt_u
+      select
+      i32.store8
+      local.get 3
+      i32.const -1
+      i32.add
+      local.set 3
+      local.get 0
+      i32.const 16
+      i32.lt_u
+      local.set 4
+      local.get 0
+      i32.const 4
+      i32.shr_u
+      local.set 0
+      local.get 4
+      i32.eqz
+      br_if 0 (;@1;)
+    end
+    block  ;; label = @1
+      local.get 3
+      i32.const 128
+      i32.add
+      local.tee 0
+      i32.const 129
+      i32.lt_u
+      br_if 0 (;@1;)
+      local.get 0
+      i32.const 128
+      i32.const 1051584
+      call $_ZN4core5slice5index26slice_start_index_len_fail17hdf8c0aea852237a1E
+      unreachable
+    end
+    local.get 1
+    i32.const 1
+    i32.const 1051600
+    i32.const 2
+    local.get 2
+    local.get 3
+    i32.add
+    i32.const 128
+    i32.add
+    i32.const 0
+    local.get 3
+    i32.sub
+    call $_ZN4core3fmt9Formatter12pad_integral17hcbbcc5e70706fcddE
+    local.set 0
+    local.get 2
+    i32.const 128
+    i32.add
+    global.set $__stack_pointer
+    local.get 0)
+  (func $_ZN17compiler_builtins3mem6memcpy17he2d289fa2eb42ef2E (type 5) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 2
+        i32.const 16
+        i32.ge_u
+        br_if 0 (;@2;)
+        local.get 0
+        local.set 3
+        br 1 (;@1;)
+      end
+      local.get 0
+      i32.const 0
+      local.get 0
+      i32.sub
+      i32.const 3
+      i32.and
+      local.tee 4
+      i32.add
+      local.set 5
+      block  ;; label = @2
+        local.get 4
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 0
+        local.set 3
+        local.get 1
+        local.set 6
+        loop  ;; label = @3
+          local.get 3
+          local.get 6
+          i32.load8_u
+          i32.store8
+          local.get 6
+          i32.const 1
+          i32.add
+          local.set 6
+          local.get 3
+          i32.const 1
+          i32.add
+          local.tee 3
+          local.get 5
+          i32.lt_u
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 5
+      local.get 2
+      local.get 4
+      i32.sub
+      local.tee 7
+      i32.const -4
+      i32.and
+      local.tee 8
+      i32.add
+      local.set 3
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          local.get 4
+          i32.add
+          local.tee 9
+          i32.const 3
+          i32.and
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 8
+          i32.const 1
+          i32.lt_s
+          br_if 1 (;@2;)
+          local.get 9
+          i32.const 3
+          i32.shl
+          local.tee 6
+          i32.const 24
+          i32.and
+          local.set 2
+          local.get 9
+          i32.const -4
+          i32.and
+          local.tee 10
+          i32.const 4
+          i32.add
+          local.set 1
+          i32.const 0
+          local.get 6
+          i32.sub
+          i32.const 24
+          i32.and
+          local.set 4
+          local.get 10
+          i32.load
+          local.set 6
+          loop  ;; label = @4
+            local.get 5
+            local.get 6
+            local.get 2
+            i32.shr_u
+            local.get 1
+            i32.load
+            local.tee 6
+            local.get 4
+            i32.shl
+            i32.or
+            i32.store
+            local.get 1
+            i32.const 4
+            i32.add
+            local.set 1
+            local.get 5
+            i32.const 4
+            i32.add
+            local.tee 5
+            local.get 3
+            i32.lt_u
+            br_if 0 (;@4;)
+            br 2 (;@2;)
+          end
+        end
+        local.get 8
+        i32.const 1
+        i32.lt_s
+        br_if 0 (;@2;)
+        local.get 9
+        local.set 1
+        loop  ;; label = @3
+          local.get 5
+          local.get 1
+          i32.load
+          i32.store
+          local.get 1
+          i32.const 4
+          i32.add
+          local.set 1
+          local.get 5
+          i32.const 4
+          i32.add
+          local.tee 5
+          local.get 3
+          i32.lt_u
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 7
+      i32.const 3
+      i32.and
+      local.set 2
+      local.get 9
+      local.get 8
+      i32.add
+      local.set 1
+    end
+    block  ;; label = @1
+      local.get 2
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 3
+      local.get 2
+      i32.add
+      local.set 5
+      loop  ;; label = @2
+        local.get 3
+        local.get 1
+        i32.load8_u
+        i32.store8
+        local.get 1
+        i32.const 1
+        i32.add
+        local.set 1
+        local.get 3
+        i32.const 1
+        i32.add
+        local.tee 3
+        local.get 5
+        i32.lt_u
+        br_if 0 (;@2;)
+      end
+    end
+    local.get 0)
+  (func $_ZN17compiler_builtins3mem7memmove17h269e2e7a3fe7eb2aE (type 5) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 0
+            local.get 1
+            i32.sub
+            local.get 2
+            i32.ge_u
+            br_if 0 (;@4;)
+            local.get 1
+            local.get 2
+            i32.add
+            local.set 3
+            local.get 0
+            local.get 2
+            i32.add
+            local.set 4
+            block  ;; label = @5
+              local.get 2
+              i32.const 16
+              i32.ge_u
+              br_if 0 (;@5;)
+              local.get 0
+              local.set 5
+              br 3 (;@2;)
+            end
+            local.get 4
+            i32.const -4
+            i32.and
+            local.set 5
+            i32.const 0
+            local.get 4
+            i32.const 3
+            i32.and
+            local.tee 6
+            i32.sub
+            local.set 7
+            block  ;; label = @5
+              local.get 6
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 1
+              local.get 2
+              i32.add
+              i32.const -1
+              i32.add
+              local.set 8
+              loop  ;; label = @6
+                local.get 4
+                i32.const -1
+                i32.add
+                local.tee 4
+                local.get 8
+                i32.load8_u
+                i32.store8
+                local.get 8
+                i32.const -1
+                i32.add
+                local.set 8
+                local.get 5
+                local.get 4
+                i32.lt_u
+                br_if 0 (;@6;)
+              end
+            end
+            local.get 5
+            local.get 2
+            local.get 6
+            i32.sub
+            local.tee 9
+            i32.const -4
+            i32.and
+            local.tee 6
+            i32.sub
+            local.set 4
+            block  ;; label = @5
+              local.get 3
+              local.get 7
+              i32.add
+              local.tee 7
+              i32.const 3
+              i32.and
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 6
+              i32.const 1
+              i32.lt_s
+              br_if 2 (;@3;)
+              local.get 7
+              i32.const 3
+              i32.shl
+              local.tee 8
+              i32.const 24
+              i32.and
+              local.set 2
+              local.get 7
+              i32.const -4
+              i32.and
+              local.tee 10
+              i32.const -4
+              i32.add
+              local.set 1
+              i32.const 0
+              local.get 8
+              i32.sub
+              i32.const 24
+              i32.and
+              local.set 3
+              local.get 10
+              i32.load
+              local.set 8
+              loop  ;; label = @6
+                local.get 5
+                i32.const -4
+                i32.add
+                local.tee 5
+                local.get 8
+                local.get 3
+                i32.shl
+                local.get 1
+                i32.load
+                local.tee 8
+                local.get 2
+                i32.shr_u
+                i32.or
+                i32.store
+                local.get 1
+                i32.const -4
+                i32.add
+                local.set 1
+                local.get 4
+                local.get 5
+                i32.lt_u
+                br_if 0 (;@6;)
+                br 3 (;@3;)
+              end
+            end
+            local.get 6
+            i32.const 1
+            i32.lt_s
+            br_if 1 (;@3;)
+            local.get 9
+            local.get 1
+            i32.add
+            i32.const -4
+            i32.add
+            local.set 1
+            loop  ;; label = @5
+              local.get 5
+              i32.const -4
+              i32.add
+              local.tee 5
+              local.get 1
+              i32.load
+              i32.store
+              local.get 1
+              i32.const -4
+              i32.add
+              local.set 1
+              local.get 4
+              local.get 5
+              i32.lt_u
+              br_if 0 (;@5;)
+              br 2 (;@3;)
+            end
+          end
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 2
+              i32.const 16
+              i32.ge_u
+              br_if 0 (;@5;)
+              local.get 0
+              local.set 4
+              br 1 (;@4;)
+            end
+            local.get 0
+            i32.const 0
+            local.get 0
+            i32.sub
+            i32.const 3
+            i32.and
+            local.tee 3
+            i32.add
+            local.set 5
+            block  ;; label = @5
+              local.get 3
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 0
+              local.set 4
+              local.get 1
+              local.set 8
+              loop  ;; label = @6
+                local.get 4
+                local.get 8
+                i32.load8_u
+                i32.store8
+                local.get 8
+                i32.const 1
+                i32.add
+                local.set 8
+                local.get 4
+                i32.const 1
+                i32.add
+                local.tee 4
+                local.get 5
+                i32.lt_u
+                br_if 0 (;@6;)
+              end
+            end
+            local.get 5
+            local.get 2
+            local.get 3
+            i32.sub
+            local.tee 9
+            i32.const -4
+            i32.and
+            local.tee 7
+            i32.add
+            local.set 4
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 1
+                local.get 3
+                i32.add
+                local.tee 6
+                i32.const 3
+                i32.and
+                i32.eqz
+                br_if 0 (;@6;)
+                local.get 7
+                i32.const 1
+                i32.lt_s
+                br_if 1 (;@5;)
+                local.get 6
+                i32.const 3
+                i32.shl
+                local.tee 8
+                i32.const 24
+                i32.and
+                local.set 2
+                local.get 6
+                i32.const -4
+                i32.and
+                local.tee 10
+                i32.const 4
+                i32.add
+                local.set 1
+                i32.const 0
+                local.get 8
+                i32.sub
+                i32.const 24
+                i32.and
+                local.set 3
+                local.get 10
+                i32.load
+                local.set 8
+                loop  ;; label = @7
+                  local.get 5
+                  local.get 8
+                  local.get 2
+                  i32.shr_u
+                  local.get 1
+                  i32.load
+                  local.tee 8
+                  local.get 3
+                  i32.shl
+                  i32.or
+                  i32.store
+                  local.get 1
+                  i32.const 4
+                  i32.add
+                  local.set 1
+                  local.get 5
+                  i32.const 4
+                  i32.add
+                  local.tee 5
+                  local.get 4
+                  i32.lt_u
+                  br_if 0 (;@7;)
+                  br 2 (;@5;)
+                end
+              end
+              local.get 7
+              i32.const 1
+              i32.lt_s
+              br_if 0 (;@5;)
+              local.get 6
+              local.set 1
+              loop  ;; label = @6
+                local.get 5
+                local.get 1
+                i32.load
+                i32.store
+                local.get 1
+                i32.const 4
+                i32.add
+                local.set 1
+                local.get 5
+                i32.const 4
+                i32.add
+                local.tee 5
+                local.get 4
+                i32.lt_u
+                br_if 0 (;@6;)
+              end
+            end
+            local.get 9
+            i32.const 3
+            i32.and
+            local.set 2
+            local.get 6
+            local.get 7
+            i32.add
+            local.set 1
+          end
+          local.get 2
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 4
+          local.get 2
+          i32.add
+          local.set 5
+          loop  ;; label = @4
+            local.get 4
+            local.get 1
+            i32.load8_u
+            i32.store8
+            local.get 1
+            i32.const 1
+            i32.add
+            local.set 1
+            local.get 4
+            i32.const 1
+            i32.add
+            local.tee 4
+            local.get 5
+            i32.lt_u
+            br_if 0 (;@4;)
+            br 3 (;@1;)
+          end
+        end
+        local.get 9
+        i32.const 3
+        i32.and
+        local.tee 1
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 7
+        i32.const 0
+        local.get 6
+        i32.sub
+        i32.add
+        local.set 3
+        local.get 4
+        local.get 1
+        i32.sub
+        local.set 5
+      end
+      local.get 3
+      i32.const -1
+      i32.add
+      local.set 1
+      loop  ;; label = @2
+        local.get 4
+        i32.const -1
+        i32.add
+        local.tee 4
+        local.get 1
+        i32.load8_u
+        i32.store8
+        local.get 1
+        i32.const -1
+        i32.add
+        local.set 1
+        local.get 5
+        local.get 4
+        i32.lt_u
+        br_if 0 (;@2;)
+      end
+    end
+    local.get 0)
+  (func $_ZN17compiler_builtins3mem6memcmp17h95f992c5648d6561E (type 5) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32)
+    i32.const 0
+    local.set 3
+    block  ;; label = @1
+      local.get 2
+      i32.eqz
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        loop  ;; label = @3
+          local.get 0
+          i32.load8_u
+          local.tee 4
+          local.get 1
+          i32.load8_u
+          local.tee 5
+          i32.ne
+          br_if 1 (;@2;)
+          local.get 0
+          i32.const 1
+          i32.add
+          local.set 0
+          local.get 1
+          i32.const 1
+          i32.add
+          local.set 1
+          local.get 2
+          i32.const -1
+          i32.add
+          local.tee 2
+          i32.eqz
+          br_if 2 (;@1;)
+          br 0 (;@3;)
+        end
+      end
+      local.get 4
+      local.get 5
+      i32.sub
+      local.set 3
+    end
+    local.get 3)
+  (func $memcpy (type 5) (param i32 i32 i32) (result i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    call $_ZN17compiler_builtins3mem6memcpy17he2d289fa2eb42ef2E)
+  (func $memmove (type 5) (param i32 i32 i32) (result i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    call $_ZN17compiler_builtins3mem7memmove17h269e2e7a3fe7eb2aE)
+  (func $memcmp (type 5) (param i32 i32 i32) (result i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    call $_ZN17compiler_builtins3mem6memcmp17h95f992c5648d6561E)
+  (table (;0;) 64 64 funcref)
+  (memory (;0;) 17)
+  (global $__stack_pointer (mut i32) (i32.const 1048576))
+  (global (;1;) i32 (i32.const 1052353))
+  (global (;2;) i32 (i32.const 1052368))
+  (export "memory" (memory 0))
+  (export "ulmDispatchCaller" (func $ulmDispatchCaller))
+  (export "__data_end" (global 1))
+  (export "__heap_base" (global 2))
+  (elem (;0;) (i32.const 1) func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE $_ZN5bytes5bytes12static_clone17h8ee0bb07f5e580ccE $_ZN5bytes5bytes12owned_to_vec17hf4b7c7dcc83df6d0E $_ZN5bytes5bytes13static_to_mut17h581aa0a2fd8464aeE $_ZN5bytes5bytes16static_is_unique17h6e19e52823949186E $_ZN5bytes5bytes11static_drop17h80d4e6ae9b05ca89E $_ZN4core3ptr47drop_in_place$LT$erc20..ulm..impl_..UlmImpl$GT$17he64bf1bacb8d0b6cE $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$4log317h987612607e9e3762E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$6caller17h6e5bbf9110a580a2E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$16call_data_length17h5a8338a3b18df8f2E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$9call_data17hde8d81abbe4336aeE $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$19get_account_storage17h6b89d1f69d088ff9E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$19set_account_storage17ha7c75946c5f297f3E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE.1 $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE.2 $_ZN5bytes5bytes12static_clone17h8ee0bb07f5e580ccE.llvm.5932322697774810047 $_ZN5bytes5bytes16static_is_unique17h6e19e52823949186E.llvm.5932322697774810047 $_ZN5bytes5bytes11static_drop17h80d4e6ae9b05ca89E.llvm.5932322697774810047 $_ZN5bytes5bytes21promotable_even_clone17hb745a8cb1d939a17E $_ZN5bytes5bytes22promotable_even_to_vec17h17500ac060bde60fE $_ZN5bytes5bytes22promotable_even_to_mut17h9b26d0f7fc64fa55E $_ZN5bytes5bytes20promotable_is_unique17h020665ac6bee7cfdE $_ZN5bytes5bytes20promotable_even_drop17h1682d63eeecce9a7E $_ZN5bytes5bytes20promotable_odd_clone17hcfb701ad3f082002E $_ZN5bytes5bytes21promotable_odd_to_vec17h5d8ea33109cb924cE $_ZN5bytes5bytes21promotable_odd_to_mut17h95bc9587e8fef346E $_ZN5bytes5bytes19promotable_odd_drop17hd9893b9965f4d03eE $_ZN4core3ptr53drop_in_place$LT$core..alloc..layout..LayoutError$GT$17h61bb72a6737affc4E $_ZN69_$LT$core..alloc..layout..LayoutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h2fd7406d7dcae69dE $_ZN5bytes5bytes12shared_clone17h87a7760eba5d0abeE.llvm.5932322697774810047 $_ZN5bytes5bytes13shared_to_vec17hc3c7c24fa33ba490E.llvm.5932322697774810047 $_ZN5bytes5bytes13shared_to_mut17ha7cdfa5747aa9e90E.llvm.5932322697774810047 $_ZN5bytes5bytes16shared_is_unique17h6b20a183193c4d3aE.llvm.5932322697774810047 $_ZN5bytes5bytes11shared_drop17hf3fb21e2b6b585c5E.llvm.5932322697774810047 $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE $_ZN5bytes9bytes_mut14shared_v_clone17h1f76e68986705f75E $_ZN5bytes9bytes_mut15shared_v_to_vec17he57e9e159f74f9c2E $_ZN5bytes9bytes_mut15shared_v_to_mut17h0a28fea12aa912d6E $_ZN5bytes9bytes_mut18shared_v_is_unique17h089cb643903ffe29E $_ZN5bytes9bytes_mut13shared_v_drop17hcb5bbcb630efea93E $_ZN3std5alloc24default_alloc_error_hook17h9d6d7bb51d97ec4fE $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17he0b9c7b9b779f017E $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h932675f2c687b13fE $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17h36d97d1c4726ee61E $_ZN4core3fmt5Write9write_fmt17h5450563fbb96cb70E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h88d3cb239ded0a8bE $_ZN4core3ptr122drop_in_place$LT$$RF$alloc..boxed..Box$LT$dyn$u20$core..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17hafb4b80ed40fbfe0E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17heb1b6f3656f479feE $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17h00db27ffc0f86bc9E $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17h25e87be0acf0cba3E $_ZN4core3ptr77drop_in_place$LT$std..panicking..begin_panic_handler..FormatStringPayload$GT$17h0cdb96bb4afb8b69E $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17he725486881b42bbeE $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17ha699b76f30386534E $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17hf58ee1d6076085b1E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h9571516faba776b2E $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h81bacf94bd657e5cE $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17h235ec3ceaa677e72E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7a9a11a22d9e302cE $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h87ef43d072a4bed1E $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h1c3f1cbd1368fccaE $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h4e5a4609280a40f1E)
+  (data $.rodata (i32.const 1048576) "total_supplyallowancesTransfer(address,address,u256)src/erc20.rs4\00\10\00\0c\00\00\00/\00\00\00\18\00\00\00Approval(address,address,u256)\00\004\00\10\00\0c\00\00\00:\00\00\00\18\00\00\004\00\10\00\0c\00\00\00R\00\00\00,\00\00\004\00\10\00\0c\00\00\00\5c\00\00\00,\00\00\004\00\10\00\0c\00\00\00b\00\00\00.\00\00\00Invalid receiverInvalid senderInsufficient balanceZero addressInvalid spenderInvalid approverInsuficient allowanceValue too large to castAddition overflowSubtraction overflowUnexpected value in subtractionWrong length to decode\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes.rsrange start must not be greater than end:  <= \02\02\10\00*\00\00\00,\02\10\00\04\00\00\00\a8\01\10\00Z\00\00\00\86\01\00\00\09\00\00\00range end out of bounds: \00\00\00P\02\10\00\19\00\00\00,\02\10\00\04\00\00\00\a8\01\10\00Z\00\00\00\8c\01\00\00\09\00\00\00cannot advance past `remaining`: \00\00\00\8c\02\10\00!\00\00\00,\02\10\00\04\00\00\00\a8\01\10\00Z\00\00\00\c7\02\00\00\09\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes_mut.rs\00\00\d0\02\10\00^\00\00\00\81\04\00\00\09\00\00\00\07\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\09\00\00\00\0a\00\00\00\0b\00\00\00\0c\00\00\00\0d\00\00\00\0e\00\00\00\0f\00\00\00Buffer without function signaturedecimals()totalSupply()balanceOf(address)transfer(address,uint256)allowance(address,address)approve(address,uint256)transferFrom(address,address,uint256)mint(address,uint256)Unknown endpointsrc/erc20_dispatcher.rs\00\00K\04\10\00\17\00\00\000\00\00\00(\00\00\00K\04\10\00\17\00\00\00.\00\00\00(\00\00\00K\04\10\00\17\00\00\00,\00\00\00(\00\00\00K\04\10\00\17\00\00\00*\00\00\00(\00\00\00K\04\10\00\17\00\00\00(\00\00\00(\00\00\00K\04\10\00\17\00\00\00&\00\00\00(\00\00\00K\04\10\00\17\00\00\00$\00\00\00(\00\00\00K\04\10\00\17\00\00\00\22\00\00\00!\00\00\00K\04\10\00\17\00\00\00A\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00N\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00[\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00i\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00x\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00\87\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00\96\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00\a6\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00\b4\00\00\00\1f\00\00\00cannot advance past `remaining`:  <= \00\00\00t\05\10\00!\00\00\00\95\05\10\00\04\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes.rs\00\00\ac\05\10\00Z\00\00\00\c7\02\00\00\09\00\00\00src/storage.rs\00\00\18\06\10\00\0e\00\00\00:\00\00\001\00\00\00\18\06\10\00\0e\00\00\00>\00\00\008\00\00\00\18\06\10\00\0e\00\00\00g\00\00\00;\00\00\00call_data: buffer too small.LayoutError\00\12\00\00\00\03\00\00\00\04\00\00\00\13\00\00\00\14\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes.rs <= split_off out of bounds: \00\f2\06\10\00\19\00\00\00\ee\06\10\00\04\00\00\00\94\06\10\00Z\00\00\00\fc\01\00\00\09\00\00\00\15\00\00\00\16\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\1a\00\00\00\1b\00\00\00\1c\00\00\00\18\00\00\00\1d\00\00\00called `Result::unwrap()` on an `Err` value\00\1e\00\00\00\00\00\00\00\01\00\00\00\1f\00\00\00\94\06\10\00Z\00\00\00D\05\00\002\00\00\00\94\06\10\00Z\00\00\00R\05\00\00I\00\00\00 \00\00\00!\00\00\00\22\00\00\00#\00\00\00$\00\00\00advance out of bounds: the len is  but advancing by \c4\07\10\00\22\00\00\00\e6\07\10\00\12\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/lib.rs\08\08\10\00X\00\00\00\8a\00\00\00\05\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes_mut.rsoverflow\00\00p\08\10\00^\00\00\00\d4\02\00\008\00\00\00p\08\10\00^\00\00\00\aa\02\00\00\15\00\00\00&\00\00\00'\00\00\00(\00\00\00)\00\00\00*\00\00\00,\00\00\00\0c\00\00\00\04\00\00\00-\00\00\00.\00\00\00/\00\00\00/rust/deps/dlmalloc-0.2.6/src/dlmalloc.rsassertion failed: psize >= size + min_overhead\00$\09\10\00)\00\00\00\a8\04\00\00\09\00\00\00assertion failed: psize <= size + max_overhead\00\00$\09\10\00)\00\00\00\ae\04\00\00\0d\00\00\00memory allocation of  bytes failed\00\00\cc\09\10\00\15\00\00\00\e1\09\10\00\0d\00\00\00library/std/src/alloc.rs\00\0a\10\00\18\00\00\00b\01\00\00\09\00\00\00library/std/src/panicking.rs(\0a\10\00\1c\00\00\00\8b\02\00\00\1e\00\00\00,\00\00\00\0c\00\00\00\04\00\00\000\00\00\001\00\00\00\08\00\00\00\04\00\00\002\00\00\001\00\00\00\08\00\00\00\04\00\00\003\00\00\004\00\00\005\00\00\00\10\00\00\00\04\00\00\006\00\00\007\00\00\008\00\00\00\00\00\00\00\01\00\00\009\00\00\00capacity overflow\00\00\00\ac\0a\10\00\11\00\00\00library/alloc/src/raw_vec.rs\c8\0a\10\00\1c\00\00\00\19\00\00\00\05\00\00\00BorrowErrorBorrowMutErroralready borrowed: \00\0d\0b\10\00\12\00\00\00already mutably borrowed: \00\00(\0b\10\00\1a\00\00\00\01\00\00\00\00\00\00\00called `Option::unwrap()` on a `None` value\00>\00\00\00\00\00\00\00\01\00\00\00?\00\00\00: \00\00\01\00\00\00\00\00\00\00\90\0b\10\00\02\00\00\00library/core/src/fmt/num.rs\00\a4\0b\10\00\1b\00\00\00i\00\00\00\17\00\00\000x00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899range start index  out of range for slice of length \00\00\9a\0c\10\00\12\00\00\00\ac\0c\10\00\22\00\00\00"))

From fba7b8172ea24fc05a041ab60581d9def7140c9f Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Wed, 11 Dec 2024 18:11:39 -0500
Subject: [PATCH 03/21] improve pykwasm scripts

---
 pykwasm/pyproject.toml           |   1 +
 pykwasm/src/pykwasm/run_wasm.py  | 429 +------------------------------
 pykwasm/src/pykwasm/wasm2kore.py | 111 +++++++-
 3 files changed, 102 insertions(+), 439 deletions(-)

diff --git a/pykwasm/pyproject.toml b/pykwasm/pyproject.toml
index ec8a77ed6..3dd85e362 100644
--- a/pykwasm/pyproject.toml
+++ b/pykwasm/pyproject.toml
@@ -12,6 +12,7 @@ authors = [
 
 [tool.poetry.scripts]
 wasm = "pykwasm.run_wasm:main"
+wasm2kore = "pykwasm.wasm2kore:main"
 wasm2kast = "pykwasm.wasm2kast:main"
 kwasm = "pykwasm.scripts.kwasm:main"
 kwasm-convert = "pykwasm.scripts.convert:main"
diff --git a/pykwasm/src/pykwasm/run_wasm.py b/pykwasm/src/pykwasm/run_wasm.py
index 0d769a01d..cfc238612 100644
--- a/pykwasm/src/pykwasm/run_wasm.py
+++ b/pykwasm/src/pykwasm/run_wasm.py
@@ -25,6 +25,7 @@
 from wasm.parsers import parse_module
 
 from pykwasm import kwasm_ast as a
+from .wasm2kore import wasm2kast, PatternWriter
 
 if TYPE_CHECKING:
     from collections.abc import Iterable
@@ -139,431 +140,3 @@ def build_subst_key(key_name):
     if proc_data.returncode != 0 or debug:
         print(proc_data.stderr, file=sys.stderr)
     proc_data.check_returncode()
-
-
-class DepthChange(Enum):
-    UP = 1
-    DOWN = -1
-    PRINT = 0
-
-
-def pattern_write(pat: Pattern, output: IO[str], pretty=True) -> None:
-    """Serialize pattern to kore; used for monkey patch on Pattern object because default write function will blow the stack"""
-
-    if pretty:
-        _up, _down, _print = DepthChange.UP, DepthChange.DOWN, DepthChange.PRINT
-    else:
-        _up, _down, _print = [''] * 3
-    not_first_term = False
-    print_spacer = False
-    depth = 0
-    stack = [pat]
-
-    # TODO: fix bug with workitems order
-
-    def push(*items):
-        for item in reversed(items):
-            if isinstance(item, tuple):
-                if len(item) > 1:
-                    for subitem in reversed(item[1:]):
-                        stack.append(subitem)
-                        stack.append(',')
-                if len(item) > 0:
-                    stack.append(item[0])
-            elif isinstance(item, (str, DepthChange)):
-                stack.append(item)
-            else:
-                raise ValueError(f'Unexpected item type: {type(item)}')
-
-    while len(stack) > 0:
-        pat = stack.pop()
-        if isinstance(pat, str):
-            if print_spacer:
-                if not_first_term:
-                    output.write('\n' + depth * ' ')
-                not_first_term = True
-                print_spacer = False
-            output.write(pat)
-        elif isinstance(pat, App):
-            push(_print, pat.symbol, '{', pat.sorts, '}(', _up, pat.args, _down, ')')
-        elif isinstance(pat, Assoc):
-            push(_print, pat.kore_symbol(), '{}(', _up, pat.app, _down, ')')
-        elif isinstance(pat, MLPattern):
-            push(_print, pat.symbol(), '{', pat.sorts, '}(', pat.ctor_patterns, ')')
-        elif isinstance(pat, SortApp):
-            push(pat.name, '{', pat.sorts, '}')
-        elif isinstance(pat, DepthChange):
-            depth += pat.value
-            if pat == _print:
-                print_spacer = True
-        else:
-            pat.write(output)
-
-
-class PatternWriter:
-    def __init__(self, pat: Pattern, pretty=False):
-        self.pat = pat
-        self.pretty = pretty
-
-    def write(self, output: IO[str]):
-        if isinstance(self.pat, (App, SortApp, Assoc, MLPattern)):
-            pattern_write(self.pat, output, self.pretty)
-        else:
-            self.pat.write(output)
-
-
-def debug(pat) -> str:
-    if isinstance(pat, str):
-        return pat
-    elif isinstance(pat, tuple):
-        return [debug(item) for item in pat]
-    elif isinstance(pat, App):
-        return pat.symbol
-    elif isinstance(pat, Assoc):
-        return pat.kore_symbol()
-    elif isinstance(pat, MLPattern):
-        return pat.symbol()
-    elif isinstance(pat, SortApp):
-        return pat.name
-    elif isinstance(pat, DepthChange):
-        return pat.name
-    else:
-        return repr(pat)
-
-
-def wasm2kast(wasm_bytes: IO[bytes], filename=None) -> KInner:
-    """Returns a dictionary representing the Kast JSON."""
-    ast = parse_module(wasm_bytes)
-    return ast2kast(ast, filename=filename)
-
-
-def ast2kast(wasm_ast: Module, filename=None) -> KInner:
-    """Returns a dictionary representing the Kast JSON."""
-    types = a.defns([typ(x) for x in wasm_ast.types])
-    funcs = a.defns([func(x) for x in wasm_ast.funcs])
-    tables = a.defns([table(x) for x in wasm_ast.tables])
-    mems = a.defns([memory(x) for x in wasm_ast.mems])
-    globs = a.defns([glob(x) for x in wasm_ast.globals])
-    elems = a.defns([elem(x) for x in wasm_ast.elem])
-    datas = a.defns([data(x) for x in wasm_ast.data])
-    starts = a.defns(start(wasm_ast.start))
-    imports = a.defns([imp(x) for x in wasm_ast.imports])
-    exports = a.defns([export(x) for x in wasm_ast.exports])
-    meta = a.module_metadata(filename=filename)
-    return a.module(
-        types=types,
-        funcs=funcs,
-        tables=tables,
-        mems=mems,
-        globs=globs,
-        elem=elems,
-        data=datas,
-        start=starts,
-        imports=imports,
-        exports=exports,
-        metadata=meta,
-    )
-
-
-#########
-# Defns #
-#########
-
-
-def typ(t: FunctionType):
-    return a.type(func_type(t.params, t.results))
-
-
-def func(f: Function):
-    type = a.KInt(f.type_idx)
-    ls_list = [val_type(x) for x in f.locals]
-    locals = a.vec_type(a.val_types(ls_list))
-    body = instrs(f.body)
-    return a.func(type, locals, body)
-
-
-def table(t: Table):
-    ls = limits(t.type.limits)
-    typ = ref_type(t.type.elem_type)
-    return a.table(ls, typ)
-
-
-def memory(m: Memory):
-    ls = limits(m.type)
-    return a.memory(ls)
-
-
-def glob(g: Global):
-    t = global_type(g.type)
-    init = instrs(g.init)
-    return a.glob(t, init)
-
-
-def ref_type(t: RefType):
-    if t is addresses.FunctionAddress:
-        return a.funcref
-    if t is addresses.ExternAddress:
-        return a.externref
-    raise ValueError(f'Invalid RefType: {t}')
-
-
-def elem_mode(m: ElemMode) -> KInner:
-    if isinstance(m, ElemModeActive):
-        offset = instrs(m.offset)
-        return a.elem_active(m.table, offset)
-    if isinstance(m, ElemModeDeclarative):
-        return a.elem_declarative()
-    if isinstance(m, ElemModePassive):
-        return a.elem_passive()
-    raise ValueError(f'Unknown ElemMode: {m}')
-
-
-def elem_init(init: tuple[Iterable[BaseInstruction], ...]) -> Iterable[int | None]:
-    def expr_to_int(expr: Iterable[BaseInstruction]) -> int | None:
-        # 'expr' must be a constant expression consisting of a reference instruction
-        assert len(expr) == 1 or len(expr) == 2 and isinstance(expr[1], instructions.End), expr
-        instr = expr[0]
-
-        if isinstance(instr, instructions.RefFunc):
-            return instr.funcidx
-        if isinstance(instr, instructions.RefNull):
-            return None
-        raise ValueError(f'Invalid reference expression: {expr}')
-
-    return [expr_to_int(e) for e in init]
-
-
-def elem(e: ElementSegment):
-    typ = ref_type(e.type)
-    mode = elem_mode(e.mode)
-    init = elem_init(e.init)
-    return a.elem(typ, mode, init)
-
-
-def data(d: DataSegment):
-    offset = instrs(d.offset)
-    return a.data(d.memory_idx, offset, d.init)
-
-
-def start(s: StartFunction):
-    if s is None:
-        return []
-    return [a.start(s.function_idx)]
-
-
-def imp(i: Import):
-    mod_name = a.wasm_string(i.module_name)
-    name = a.wasm_string(i.as_name)
-    t = type(i.desc)
-    if t is TypeIdx:
-        desc = a.func_desc(i.desc)
-    elif t is GlobalType:
-        desc = a.global_desc(global_type(i.desc))
-    elif t is TableType:
-        desc = a.table_desc(limits(i.desc.limits))
-    elif t is MemoryType:
-        desc = a.memory_desc(limits(i.desc))
-    return a.imp(mod_name, name, desc)
-
-
-def export(e: Export):
-    name = a.wasm_string(e.name)
-    idx = e.desc
-    return a.export(name, idx)
-
-
-##########
-# Instrs #
-##########
-
-block_id = 0
-
-
-def instrs(iis):
-    """Turn a list of instructions into KAST."""
-    # We ignore `END`.
-    # The AST supplied by py-wasm has already parsed these and terminated the blocks.
-    # We also ignore `ELSE`.
-    # The AST supplied by py-wasm includes the statements in the else-branch as part of the `IF` instruction.
-    return a.instrs([instr(i) for i in iis if not i.opcode == BinaryOpcode.END and not i.opcode == BinaryOpcode.ELSE])
-
-
-def instr(i):
-    b = BinaryOpcode
-    global block_id
-    # TODO rewrite 'i.opcode == _' conditions as isinstance for better type-checking
-    if i.opcode == b.BLOCK:
-        cur_block_id = block_id
-        block_id += 1
-        iis = instrs(i.instructions)
-        res = vec_type(i.result_type)
-        return a.BLOCK(res, iis, a.KInt(cur_block_id))
-    if i.opcode == b.BR:
-        return a.BR(i.label_idx)
-    if i.opcode == b.BR_IF:
-        return a.BR_IF(i.label_idx)
-    if i.opcode == b.BR_TABLE:
-        return a.BR_TABLE(i.label_indices, i.default_idx)
-    if i.opcode == b.CALL:
-        return a.CALL(i.function_idx)
-    if i.opcode == b.CALL_INDIRECT:
-        return a.CALL_INDIRECT(i.type_idx)
-    if i.opcode == b.ELSE:
-        raise (ValueError('ELSE opcode: should have been filtered out.'))
-    if i.opcode == b.END:
-        raise (ValueError('End opcode: should have been filtered out.'))
-    if i.opcode == b.F32_CONST:
-        return a.F32_CONST(i.value)
-    if i.opcode == b.F64_CONST:
-        return a.F64_CONST(i.value)
-    if i.opcode == b.F32_REINTERPRET_I32:
-        raise (ValueError('Reinterpret instructions not implemented.'))
-    if i.opcode == b.F64_REINTERPRET_I64:
-        raise (ValueError('Reinterpret instructions not implemented.'))
-    if i.opcode == b.GET_GLOBAL:
-        return a.GET_GLOBAL(i.global_idx)
-    if i.opcode == b.GET_LOCAL:
-        return a.GET_LOCAL(i.local_idx)
-    if i.opcode == b.I32_CONST:
-        return a.I32_CONST(i.value)
-    if i.opcode == b.I64_CONST:
-        return a.I64_CONST(i.value)
-    if i.opcode == b.I32_REINTERPRET_F32:
-        raise (ValueError('Reinterpret instructions not implemented.'))
-    if i.opcode == b.I64_REINTERPRET_F64:
-        raise (ValueError('Reinterpret instructions not implemented.'))
-    if i.opcode == b.IF:
-        cur_block_id = block_id
-        block_id += 1
-        thens = instrs(i.instructions)
-        els = instrs(i.else_instructions)
-        res = vec_type(i.result_type)
-        return a.IF(res, thens, els, a.KInt(cur_block_id))
-    if i.opcode == b.F32_STORE:
-        return a.F32_STORE(i.memarg.offset)
-    if i.opcode == b.F64_STORE:
-        return a.F64_STORE(i.memarg.offset)
-    if i.opcode == b.I32_STORE:
-        return a.I32_STORE(i.memarg.offset)
-    if i.opcode == b.I64_STORE:
-        return a.I64_STORE(i.memarg.offset)
-    if i.opcode == b.I32_STORE16:
-        return a.I32_STORE16(i.memarg.offset)
-    if i.opcode == b.I64_STORE16:
-        return a.I64_STORE16(i.memarg.offset)
-    if i.opcode == b.I32_STORE8:
-        return a.I32_STORE8(i.memarg.offset)
-    if i.opcode == b.I64_STORE8:
-        return a.I64_STORE8(i.memarg.offset)
-    if i.opcode == b.I64_STORE32:
-        return a.I64_STORE32(i.memarg.offset)
-    if i.opcode == b.F32_LOAD:
-        return a.F32_LOAD(i.memarg.offset)
-    if i.opcode == b.F64_LOAD:
-        return a.F64_LOAD(i.memarg.offset)
-    if i.opcode == b.I32_LOAD:
-        return a.I32_LOAD(i.memarg.offset)
-    if i.opcode == b.I64_LOAD:
-        return a.I64_LOAD(i.memarg.offset)
-    if i.opcode == b.I32_LOAD16_S:
-        return a.I32_LOAD16_S(i.memarg.offset)
-    if i.opcode == b.I32_LOAD16_U:
-        return a.I32_LOAD16_U(i.memarg.offset)
-    if i.opcode == b.I64_LOAD16_S:
-        return a.I64_LOAD16_S(i.memarg.offset)
-    if i.opcode == b.I64_LOAD16_U:
-        return a.I64_LOAD16_U(i.memarg.offset)
-    if i.opcode == b.I32_LOAD8_S:
-        return a.I32_LOAD8_S(i.memarg.offset)
-    if i.opcode == b.I32_LOAD8_U:
-        return a.I32_LOAD8_U(i.memarg.offset)
-    if i.opcode == b.I64_LOAD8_S:
-        return a.I64_LOAD8_S(i.memarg.offset)
-    if i.opcode == b.I64_LOAD8_U:
-        return a.I64_LOAD8_U(i.memarg.offset)
-    if i.opcode == b.I64_LOAD32_S:
-        return a.I64_LOAD32_S(i.memarg.offset)
-    if i.opcode == b.I64_LOAD32_U:
-        return a.I64_LOAD32_U(i.memarg.offset)
-    if i.opcode == b.LOOP:
-        cur_block_id = block_id
-        block_id += 1
-        iis = instrs(i.instructions)
-        res = vec_type(i.result_type)
-        return a.LOOP(res, iis, a.KInt(cur_block_id))
-    if i.opcode == b.SET_GLOBAL:
-        return a.SET_GLOBAL(i.global_idx)
-    if i.opcode == b.SET_LOCAL:
-        return a.SET_LOCAL(i.local_idx)
-    if i.opcode == b.TEE_LOCAL:
-        return a.TEE_LOCAL(i.local_idx)
-    if isinstance(i, instructions.RefFunc):
-        return a.REF_FUNC(i.funcidx)
-    if isinstance(i, instructions.RefNull):
-        if i.reftype is addresses.FunctionAddress:
-            return a.REF_NULL('func')
-        if i.reftype is addresses.ExternAddress:
-            return a.REF_NULL('extern')
-        raise ValueError(f'Unknown heap type: {i}, {i.reftype}')
-    if isinstance(i, instructions.TableGet):
-        return a.TABLE_GET(i.tableidx)
-    if isinstance(i, instructions.TableSet):
-        return a.TABLE_SET(i.tableidx)
-    if isinstance(i, instructions.TableInit):
-        return a.TABLE_INIT(i.tableidx, i.elemidx)
-    if isinstance(i, instructions.ElemDrop):
-        return a.ELEM_DROP(i.elemidx)
-    if isinstance(i, instructions.TableCopy):
-        return a.TABLE_COPY(i.tableidx1, i.tableidx2)
-    if isinstance(i, instructions.TableGrow):
-        return a.TABLE_GROW(i.tableidx)
-    if isinstance(i, instructions.TableSize):
-        return a.TABLE_SIZE(i.tableidx)
-    if isinstance(i, instructions.TableFill):
-        return a.TABLE_FILL(i.tableidx)
-
-    # Catch all for operations without direct arguments.
-    return eval('a.' + i.opcode.name)
-
-
-########
-# Data #
-########
-
-
-def val_type(t: ValType):
-    if t == ValType.i32:
-        return a.i32
-    if t == ValType.i64:
-        return a.i64
-    if t == ValType.f32:
-        return a.f32
-    if t == ValType.f64:
-        return a.f64
-    if t == ValType.externref:
-        return a.externref
-    if t == ValType.funcref:
-        return a.funcref
-    raise ValueError(f'Unknown value type: {t}')
-
-
-def vec_type(ts: Iterable[ValType]):
-    _ts = [val_type(x) for x in ts]
-    return a.vec_type(a.val_types(_ts))
-
-
-def func_type(params, results):
-    pvec = vec_type(params)
-    rvec = vec_type(results)
-    return a.func_type(pvec, rvec)
-
-
-def limits(l: Limits):
-    return (l.min, l.max)
-
-
-def global_type(t: GlobalType):
-    vt = val_type(t.valtype)
-    if t.mut is Mutability.const:
-        return a.global_type(a.MUT_CONST, vt)
-    return a.global_type(a.MUT_VAR, vt)
diff --git a/pykwasm/src/pykwasm/wasm2kore.py b/pykwasm/src/pykwasm/wasm2kore.py
index 2b8890f20..935a7c945 100644
--- a/pykwasm/src/pykwasm/wasm2kore.py
+++ b/pykwasm/src/pykwasm/wasm2kore.py
@@ -6,9 +6,7 @@
 from pyk.kast.inner import KSort
 from pyk.ktool.krun import KRun
 
-from . import wasm2kast
-
-sys.setrecursionlimit(10**6)
+from .wasm2kast import wasm2kast
 
 def main() -> None:
     # check arg count
@@ -36,15 +34,106 @@ def main() -> None:
     # get runner
     runner = KRun(llvm_dir)
 
+    # produce kore
     top_sort = KSort('ModuleDecl')
-    config_kore = runner.kast_to_kore(module, top_sort)
-
-    print(f"Writing to {kore_file}")
-    kore_file.write_text(config_kore.text)
-    # # monkey patch kore
-    # patched_config_kore = PatternWriter(config_kore)
-    # with open(wasm_file.name + '.input.kore', e'w') as f:
-    #     patched_config_kore.write(f)
+    module_kore = runner.kast_to_kore(module, top_sort)
+
+    # monkey patch kore writer
+    module_kore = PatternWriter(module_kore)
+
+    # write kore to file
+    with open(kore_file, 'w') as f:
+        module_kore.write(f)
+
+
+class DepthChange(Enum):
+    UP = 1
+    DOWN = -1
+    PRINT = 0
+
+
+def pattern_write(pat: Pattern, output: IO[str], pretty=True) -> None:
+    """Serialize pattern to kore; used for monkey patch on Pattern object because default write function will blow the stack"""
+
+    if pretty:
+        _up, _down, _print = DepthChange.UP, DepthChange.DOWN, DepthChange.PRINT
+    else:
+        _up, _down, _print = [''] * 3
+    not_first_term = False
+    print_spacer = False
+    depth = 0
+    stack = [pat]
+
+    # TODO: fix bug with workitems order
+
+    def push(*items):
+        for item in reversed(items):
+            if isinstance(item, tuple):
+                if len(item) > 1:
+                    for subitem in reversed(item[1:]):
+                        stack.append(subitem)
+                        stack.append(',')
+                if len(item) > 0:
+                    stack.append(item[0])
+            elif isinstance(item, (str, DepthChange)):
+                stack.append(item)
+            else:
+                raise ValueError(f'Unexpected item type: {type(item)}')
+
+    while len(stack) > 0:
+        pat = stack.pop()
+        if isinstance(pat, str):
+            if print_spacer:
+                if not_first_term:
+                    output.write('\n' + depth * ' ')
+                not_first_term = True
+                print_spacer = False
+            output.write(pat)
+        elif isinstance(pat, App):
+            push(_print, pat.symbol, '{', pat.sorts, '}(', _up, pat.args, _down, ')')
+        elif isinstance(pat, Assoc):
+            push(_print, pat.kore_symbol(), '{}(', _up, pat.app, _down, ')')
+        elif isinstance(pat, MLPattern):
+            push(_print, pat.symbol(), '{', pat.sorts, '}(', pat.ctor_patterns, ')')
+        elif isinstance(pat, SortApp):
+            push(pat.name, '{', pat.sorts, '}')
+        elif isinstance(pat, DepthChange):
+            depth += pat.value
+            if pat == _print:
+                print_spacer = True
+        else:
+            pat.write(output)
+
+
+class PatternWriter:
+    def __init__(self, pat: Pattern, pretty=False):
+        self.pat = pat
+        self.pretty = pretty
+
+    def write(self, output: IO[str]):
+        if isinstance(self.pat, (App, SortApp, Assoc, MLPattern)):
+            pattern_write(self.pat, output, self.pretty)
+        else:
+            self.pat.write(output)
+
+
+def debug(pat) -> str:
+    if isinstance(pat, str):
+        return pat
+    elif isinstance(pat, tuple):
+        return [debug(item) for item in pat]
+    elif isinstance(pat, App):
+        return pat.symbol
+    elif isinstance(pat, Assoc):
+        return pat.kore_symbol()
+    elif isinstance(pat, MLPattern):
+        return pat.symbol()
+    elif isinstance(pat, SortApp):
+        return pat.name
+    elif isinstance(pat, DepthChange):
+        return pat.name
+    else:
+        return repr(pat)
 
 if __name__ == '__main__':
     main()

From 3757b4d1ef44a4a94a82dc969d3420feaea4b1b9 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Wed, 11 Dec 2024 18:34:51 -0500
Subject: [PATCH 04/21] update scripts

---
 pykwasm/pyproject.toml           |  2 ++
 pykwasm/src/pykwasm/run_wasm.py  | 34 ------------------------------
 pykwasm/src/pykwasm/wasm2kore.py | 36 ++++++++++++++++++++------------
 3 files changed, 25 insertions(+), 47 deletions(-)

diff --git a/pykwasm/pyproject.toml b/pykwasm/pyproject.toml
index 3dd85e362..83a1218a1 100644
--- a/pykwasm/pyproject.toml
+++ b/pykwasm/pyproject.toml
@@ -68,7 +68,9 @@ disallow_untyped_defs = true
 # TODO fix type errors
 exclude = [
     'src/pykwasm/wasm2kast\.py',
+    'src/pykwasm/wasm2kore\.py',
     'src/pykwasm/run_wasm\.py',
+    'src/pykwasm/deploy_contract\.py',
     'src/wasm/*',
     'src/tests/unit/test_wasm2kast\.py',
 ]
diff --git a/pykwasm/src/pykwasm/run_wasm.py b/pykwasm/src/pykwasm/run_wasm.py
index cfc238612..f15081d12 100644
--- a/pykwasm/src/pykwasm/run_wasm.py
+++ b/pykwasm/src/pykwasm/run_wasm.py
@@ -9,49 +9,15 @@
 import os
 import subprocess
 import sys
-from enum import Enum
 from io import BytesIO
 from pathlib import Path
-from typing import TYPE_CHECKING
 
 from pyk.kast.inner import KSequence, KSort, KToken, Subst
 from pyk.kast.manip import split_config_from
-from pyk.kore.syntax import App, Assoc, MLPattern, SortApp
 from pyk.ktool.krun import KRun
-from wasm import instructions
-from wasm.datatypes import GlobalType, MemoryType, Mutability, TableType, TypeIdx, ValType, addresses
-from wasm.datatypes.element_segment import ElemModeActive, ElemModeDeclarative, ElemModePassive
-from wasm.opcodes import BinaryOpcode
-from wasm.parsers import parse_module
 
-from pykwasm import kwasm_ast as a
 from .wasm2kore import wasm2kast, PatternWriter
 
-if TYPE_CHECKING:
-    from collections.abc import Iterable
-    from typing import IO
-
-    from pyk.kast import KInner
-    from pyk.kore.syntax import Pattern
-    from wasm.datatypes import (
-        DataSegment,
-        ElementSegment,
-        Export,
-        Function,
-        FunctionType,
-        Global,
-        Import,
-        Limits,
-        Memory,
-        Module,
-        RefType,
-        StartFunction,
-        Table,
-    )
-    from wasm.datatypes.element_segment import ElemMode
-    from wasm.instructions import BaseInstruction
-
-
 def main():
     # read env vars
     debug = 'DEBUG' in os.environ
diff --git a/pykwasm/src/pykwasm/wasm2kore.py b/pykwasm/src/pykwasm/wasm2kore.py
index 935a7c945..1ef72d9ea 100644
--- a/pykwasm/src/pykwasm/wasm2kore.py
+++ b/pykwasm/src/pykwasm/wasm2kore.py
@@ -1,13 +1,22 @@
+from __future__ import annotations
+from enum import Enum
 import subprocess
 import sys
 from io import BytesIO
 from pathlib import Path
+from typing import TYPE_CHECKING
 
 from pyk.kast.inner import KSort
+from pyk.kore.syntax import App, Assoc, MLPattern, SortApp
 from pyk.ktool.krun import KRun
 
 from .wasm2kast import wasm2kast
 
+if TYPE_CHECKING:
+    from typing import IO
+    # from pyk.kore.syntax import Sort
+    from pyk.kore.syntax import Pattern
+
 def main() -> None:
     # check arg count
     if len(sys.argv) < 3:
@@ -23,12 +32,12 @@ def main() -> None:
 
     # parse module as binary (with fallback to textual parser)
     try:
-        module = wasm2kast.wasm2kast(infile)
+        module = wasm2kast(infile)
     except Exception:
         proc_res = subprocess.run(['wat2wasm', wasm_file, '--output=/dev/stdout'], check=True, capture_output=True)
         infile.close()
         infile1 = BytesIO(proc_res.stdout)
-        module = wasm2kast.wasm2kast(infile1)
+        module = wasm2kast(infile1)
         infile1.close()
 
     # get runner
@@ -39,11 +48,11 @@ def main() -> None:
     module_kore = runner.kast_to_kore(module, top_sort)
 
     # monkey patch kore writer
-    module_kore = PatternWriter(module_kore)
+    module_kore_patched = PatternWriter(module_kore)
 
     # write kore to file
     with open(kore_file, 'w') as f:
-        module_kore.write(f)
+        module_kore_patched.write(f)
 
 
 class DepthChange(Enum):
@@ -52,21 +61,22 @@ class DepthChange(Enum):
     PRINT = 0
 
 
-def pattern_write(pat: Pattern, output: IO[str], pretty=True) -> None:
+def pattern_write(pat: Pattern, output: IO[str], pretty:bool=True) -> None:
     """Serialize pattern to kore; used for monkey patch on Pattern object because default write function will blow the stack"""
 
+    _up: str | DepthChange = ''
+    _down: str | DepthChange = ''
+    _print: str | DepthChange = ''
     if pretty:
         _up, _down, _print = DepthChange.UP, DepthChange.DOWN, DepthChange.PRINT
-    else:
-        _up, _down, _print = [''] * 3
     not_first_term = False
     print_spacer = False
     depth = 0
-    stack = [pat]
+    stack: list[str | Pattern | DepthChange] = [pat]
 
     # TODO: fix bug with workitems order
 
-    def push(*items):
+    def push(*items: str | Pattern | DepthChange) -> None:
         for item in reversed(items):
             if isinstance(item, tuple):
                 if len(item) > 1:
@@ -106,22 +116,22 @@ def push(*items):
 
 
 class PatternWriter:
-    def __init__(self, pat: Pattern, pretty=False):
+    def __init__(self, pat: Pattern, pretty:bool = False):
         self.pat = pat
         self.pretty = pretty
 
-    def write(self, output: IO[str]):
+    def write(self, output: IO[str]) -> None:
         if isinstance(self.pat, (App, SortApp, Assoc, MLPattern)):
             pattern_write(self.pat, output, self.pretty)
         else:
             self.pat.write(output)
 
 
-def debug(pat) -> str:
+def debug(pat: Pattern) -> str:
     if isinstance(pat, str):
         return pat
     elif isinstance(pat, tuple):
-        return [debug(item) for item in pat]
+        return ' '.join(debug(item) for item in pat)
     elif isinstance(pat, App):
         return pat.symbol
     elif isinstance(pat, Assoc):

From 8c0beb5b0b770f2778e3792e39ad7920f26df628 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Wed, 11 Dec 2024 18:35:30 -0500
Subject: [PATCH 05/21] fix sorts

---
 pykwasm/src/pykwasm/run_wasm.py  | 3 ++-
 pykwasm/src/pykwasm/wasm2kore.py | 4 +++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/pykwasm/src/pykwasm/run_wasm.py b/pykwasm/src/pykwasm/run_wasm.py
index f15081d12..6e60af7d7 100644
--- a/pykwasm/src/pykwasm/run_wasm.py
+++ b/pykwasm/src/pykwasm/run_wasm.py
@@ -16,7 +16,8 @@
 from pyk.kast.manip import split_config_from
 from pyk.ktool.krun import KRun
 
-from .wasm2kore import wasm2kast, PatternWriter
+from .wasm2kore import PatternWriter, wasm2kast
+
 
 def main():
     # read env vars
diff --git a/pykwasm/src/pykwasm/wasm2kore.py b/pykwasm/src/pykwasm/wasm2kore.py
index 1ef72d9ea..d7d6e7f6a 100644
--- a/pykwasm/src/pykwasm/wasm2kore.py
+++ b/pykwasm/src/pykwasm/wasm2kore.py
@@ -1,7 +1,8 @@
 from __future__ import annotations
-from enum import Enum
+
 import subprocess
 import sys
+from enum import Enum
 from io import BytesIO
 from pathlib import Path
 from typing import TYPE_CHECKING
@@ -14,6 +15,7 @@
 
 if TYPE_CHECKING:
     from typing import IO
+
     # from pyk.kore.syntax import Sort
     from pyk.kore.syntax import Pattern
 

From 72dc04585f417b806547be0121df514cc8894cbc Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Wed, 11 Dec 2024 18:36:11 -0500
Subject: [PATCH 06/21] add formatting

---
 pykwasm/src/pykwasm/deploy_contract.py | 17 ++++++++---------
 pykwasm/src/pykwasm/wasm2kore.py       |  6 ++++--
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/pykwasm/src/pykwasm/deploy_contract.py b/pykwasm/src/pykwasm/deploy_contract.py
index 5197b4827..eec94e6d3 100644
--- a/pykwasm/src/pykwasm/deploy_contract.py
+++ b/pykwasm/src/pykwasm/deploy_contract.py
@@ -9,20 +9,20 @@
 pk = w3.to_hex(sender.key)
 print(sender.address)
 
-tx_hash = w3.eth.send_transaction({'from': w3.eth.accounts[0],'to':sender.address,'value':1000000000000000000})
+tx_hash = w3.eth.send_transaction({'from': w3.eth.accounts[0], 'to': sender.address, 'value': 1000000000000000000})
 print('transfer eth tx hash:', tx_hash)
 w3.eth.wait_for_transaction_receipt(tx_hash)
 
 w3.middleware_onion.inject(SignAndSendRawMiddlewareBuilder.build(sender), layer=0)
 
 deploy_token_tx = {
-  'from': sender.address,
-  'data': rust_token_hex,
-  'to': '',
-  'value': 0,
-  'gas': 11000000,
-  'maxFeePerGas': 2000000000,
-  'maxPriorityFeePerGas': 1000000000,
+    'from': sender.address,
+    'data': rust_token_hex,
+    'to': '',
+    'value': 0,
+    'gas': 11000000,
+    'maxFeePerGas': 2000000000,
+    'maxPriorityFeePerGas': 1000000000,
 }
 
 tx_hash = w3.eth.send_transaction(deploy_token_tx)
@@ -30,4 +30,3 @@
 receipt = w3.eth.wait_for_transaction_receipt(tx_hash)
 print('deploy receipt:', receipt)
 token_address = receipt['contractAddress']
-
diff --git a/pykwasm/src/pykwasm/wasm2kore.py b/pykwasm/src/pykwasm/wasm2kore.py
index d7d6e7f6a..3fac90eb5 100644
--- a/pykwasm/src/pykwasm/wasm2kore.py
+++ b/pykwasm/src/pykwasm/wasm2kore.py
@@ -19,6 +19,7 @@
     # from pyk.kore.syntax import Sort
     from pyk.kore.syntax import Pattern
 
+
 def main() -> None:
     # check arg count
     if len(sys.argv) < 3:
@@ -63,7 +64,7 @@ class DepthChange(Enum):
     PRINT = 0
 
 
-def pattern_write(pat: Pattern, output: IO[str], pretty:bool=True) -> None:
+def pattern_write(pat: Pattern, output: IO[str], pretty: bool = True) -> None:
     """Serialize pattern to kore; used for monkey patch on Pattern object because default write function will blow the stack"""
 
     _up: str | DepthChange = ''
@@ -118,7 +119,7 @@ def push(*items: str | Pattern | DepthChange) -> None:
 
 
 class PatternWriter:
-    def __init__(self, pat: Pattern, pretty:bool = False):
+    def __init__(self, pat: Pattern, pretty: bool = False):
         self.pat = pat
         self.pretty = pretty
 
@@ -147,5 +148,6 @@ def debug(pat: Pattern) -> str:
     else:
         return repr(pat)
 
+
 if __name__ == '__main__':
     main()

From de51d12e9aacf521ff8d06f13533a3682eb3a152 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Thu, 12 Dec 2024 16:26:28 -0500
Subject: [PATCH 07/21] update deploy_contract script

---
 pykwasm/pyproject.toml                 |  1 +
 pykwasm/src/pykwasm/deploy_contract.py | 63 ++++++++++++++++----------
 2 files changed, 39 insertions(+), 25 deletions(-)

diff --git a/pykwasm/pyproject.toml b/pykwasm/pyproject.toml
index 83a1218a1..cfe4d8655 100644
--- a/pykwasm/pyproject.toml
+++ b/pykwasm/pyproject.toml
@@ -11,6 +11,7 @@ authors = [
 ]
 
 [tool.poetry.scripts]
+deploy = "pykwasm.deploy_contract:main"
 wasm = "pykwasm.run_wasm:main"
 wasm2kore = "pykwasm.wasm2kore:main"
 wasm2kast = "pykwasm.wasm2kast:main"
diff --git a/pykwasm/src/pykwasm/deploy_contract.py b/pykwasm/src/pykwasm/deploy_contract.py
index eec94e6d3..b28211223 100644
--- a/pykwasm/src/pykwasm/deploy_contract.py
+++ b/pykwasm/src/pykwasm/deploy_contract.py
@@ -1,32 +1,45 @@
 #!/usr/bin/python3
+from pathlib import Path
+import sys
 from web3 import Web3
 from web3.middleware import SignAndSendRawMiddlewareBuilder
 
-rust_token_hex = open('/mnt/data/pi-squared/wasm-semantics/tests/ulm/erc20/erc20.bin').read().rstrip()
+def deploy_contract(node_url, sender, contract_hex):
+    w3 = Web3(Web3.HTTPProvider('http://localhost:8545'))
+    if sender is None:
+        sender = w3.eth.account.create()
+    # fund sender acct
+    fund_tx_hash = w3.eth.send_transaction({'from': w3.eth.accounts[0], 'to': sender.address, 'value': 1000000000000000000})
+    fund_tx_receipt = w3.eth.wait_for_transaction_receipt(fund_tx_hash)
+    w3.middleware_onion.inject(SignAndSendRawMiddlewareBuilder.build(sender), layer=0)
+    # deploy txn
+    deploy_token_tx = {
+        'from': sender.address,
+        'data': contract_hex,
+        'to': '',
+        'value': 0,
+        'gas': 11000000,
+        'maxFeePerGas': 2000000000,
+        'maxPriorityFeePerGas': 1000000000,
+    }
+    deploy_tx_hash = w3.eth.send_transaction(deploy_token_tx)
+    deploy_tx_receipt = w3.eth.wait_for_transaction_receipt(deploy_tx_hash)
+    return fund_tx_receipt, deploy_tx_receipt
 
-w3 = Web3(Web3.HTTPProvider('http://localhost:8545'))
-sender = w3.eth.account.create()
-pk = w3.to_hex(sender.key)
-print(sender.address)
+USAGE="deploy_contract.py <contract_file> [node_url] [sender]"
 
-tx_hash = w3.eth.send_transaction({'from': w3.eth.accounts[0], 'to': sender.address, 'value': 1000000000000000000})
-print('transfer eth tx hash:', tx_hash)
-w3.eth.wait_for_transaction_receipt(tx_hash)
+def main():
+    args = sys.argv[1:]
+    if len(args) < 1:
+        print(USAGE)
+        sys.exit(1)
+    contract_hex = Path(args[0]).read_text()
+    node_url = 'http://localhost:8545'
+    sender = None
+    if len(args) > 2: node_url = args[1]
+    fund_receipt, deploy_receipt = deploy_contract(node_url, sender, contract_hex)
+    print(fund_receipt)
+    print(deploy_receipt)
 
-w3.middleware_onion.inject(SignAndSendRawMiddlewareBuilder.build(sender), layer=0)
-
-deploy_token_tx = {
-    'from': sender.address,
-    'data': rust_token_hex,
-    'to': '',
-    'value': 0,
-    'gas': 11000000,
-    'maxFeePerGas': 2000000000,
-    'maxPriorityFeePerGas': 1000000000,
-}
-
-tx_hash = w3.eth.send_transaction(deploy_token_tx)
-print('deploy tx hash:', tx_hash)
-receipt = w3.eth.wait_for_transaction_receipt(tx_hash)
-print('deploy receipt:', receipt)
-token_address = receipt['contractAddress']
+if __name__ == "__main__":
+    main()

From c4a407dce730424a71c5039e84b36008ab764f5c Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 11:08:22 -0500
Subject: [PATCH 08/21] add fix to deploy contract script

---
 pykwasm/src/pykwasm/deploy_contract.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pykwasm/src/pykwasm/deploy_contract.py b/pykwasm/src/pykwasm/deploy_contract.py
index b28211223..95e5ba763 100644
--- a/pykwasm/src/pykwasm/deploy_contract.py
+++ b/pykwasm/src/pykwasm/deploy_contract.py
@@ -33,7 +33,7 @@ def main():
     if len(args) < 1:
         print(USAGE)
         sys.exit(1)
-    contract_hex = Path(args[0]).read_text()
+    contract_hex = Path(args[0]).read_text().strip()
     node_url = 'http://localhost:8545'
     sender = None
     if len(args) > 2: node_url = args[1]

From 9f8d1f88cca9923f95754e3282cf95e1ba3403d9 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 17:44:26 -0500
Subject: [PATCH 09/21] fix issues in python scripts

---
 pykwasm/src/pykwasm/deploy_contract.py | 8 +++++---
 pykwasm/src/pykwasm/wasm2kore.py       | 6 +++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/pykwasm/src/pykwasm/deploy_contract.py b/pykwasm/src/pykwasm/deploy_contract.py
index 95e5ba763..e32216e8a 100644
--- a/pykwasm/src/pykwasm/deploy_contract.py
+++ b/pykwasm/src/pykwasm/deploy_contract.py
@@ -1,9 +1,11 @@
 #!/usr/bin/python3
-from pathlib import Path
 import sys
+from pathlib import Path
+
 from web3 import Web3
 from web3.middleware import SignAndSendRawMiddlewareBuilder
 
+
 def deploy_contract(node_url, sender, contract_hex):
     w3 = Web3(Web3.HTTPProvider('http://localhost:8545'))
     if sender is None:
@@ -26,7 +28,7 @@ def deploy_contract(node_url, sender, contract_hex):
     deploy_tx_receipt = w3.eth.wait_for_transaction_receipt(deploy_tx_hash)
     return fund_tx_receipt, deploy_tx_receipt
 
-USAGE="deploy_contract.py <contract_file> [node_url] [sender]"
+USAGE='deploy_contract.py <contract_file> [node_url] [sender]'
 
 def main():
     args = sys.argv[1:]
@@ -41,5 +43,5 @@ def main():
     print(fund_receipt)
     print(deploy_receipt)
 
-if __name__ == "__main__":
+if __name__ == '__main__':
     main()
diff --git a/pykwasm/src/pykwasm/wasm2kore.py b/pykwasm/src/pykwasm/wasm2kore.py
index 3fac90eb5..bd56a5aad 100644
--- a/pykwasm/src/pykwasm/wasm2kore.py
+++ b/pykwasm/src/pykwasm/wasm2kore.py
@@ -22,10 +22,10 @@
 
 def main() -> None:
     # check arg count
-    if len(sys.argv) < 3:
-        print('usage: wasm2kore <wasm_file> <output_kore_file>')
-        sys.exit(1)
     args = sys.argv[1:]
+    if len(args) < 3:
+        print('usage: wasm2kore <llvm_dir> <wasm_file> <output_kore_file>')
+        sys.exit(1)
 
     # parse fixed args
     llvm_dir = Path(args[0])

From 9b7652b3e42ddc049fd13d1c15bca6b4d4cd467f Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 17:57:41 -0500
Subject: [PATCH 10/21] improve README

---
 README.md | 38 +++++++++++++++++++++-----------------
 1 file changed, 21 insertions(+), 17 deletions(-)

diff --git a/README.md b/README.md
index 1768746c2..aee48c1bf 100644
--- a/README.md
+++ b/README.md
@@ -196,9 +196,7 @@ poetry -C pykwasm run wasm ./build/wasm pykwasm/src/tests/integration/binary/bas
 To execute the Wasm VM remotely, you need to build the ULM by running:
 
 ```sh
-
 CXX=clang++-16 make ulm-wasm ulm-contract-compiler ulm-build -j8
-
 ```
 
 Then, you can start the ULM locally and load the Wasm VM into it by running:
@@ -208,27 +206,33 @@ Then, you can start the ULM locally and load the Wasm VM into it by running:
 ./scripts/ulm-load-lang ./build/lib/libwasm.so
 ```
 
-Compile the contract:
-```sh
+As an example, to deploy a Wasm contract, you can do the following:
 
-pushd tests/ulm/erc20/
-cargo build --target=wasm32-unknown-unknown --release
-cp target/wasm32-unknown-unknown/release/erc20.wasm ../
-popd
+1.  Install the python scripts:
 
-poetry -C pykwasm install
-poetry -C pykwasm run python3 -m pykwasm.wasm2kore -- build/wasm/ tests/ulm/erc20/erc20.wasm tests/ulm/erc20/erc20.kore
-scripts/compile-contract tests/ulm/erc20/erc20.kore > tests/ulm/erc20/erc20.bin
+    ```sh
+    poetry -C pykwasm install
+    ```
 
-```
+2.  Compile the contract:
 
-Then, you can invoke Wasm programs by doing the following:
+    ```sh
+    # compile Rust to Wasm
+    pushd tests/ulm/erc20/
+    cargo build --target=wasm32-unknown-unknown --release
+    cp target/wasm32-unknown-unknown/release/erc20.wasm ./
+    popd
+    # convert the Wasm to Kore
+    poetry -C pykwasm run wasm2kore build/wasm tests/ulm/erc20/erc20.wasm tests/ulm/erc20/erc20.kore
+    # convert the Kore to binary
+    scripts/compile-contract tests/ulm/erc20/erc20.kore > tests/ulm/erc20/erc20.bin
+    ```
 
-```sh
-poetry -C pykwasm run python3 -m pykwasm.deploy_contract
+3.  Deploy the compiled Wasm contract:
 
-TODO: More instructions
-```
+    ```sh
+    poetry -C pykwasm run deploy tests/ulm/erc20/erc20.bin
+    ```
 
 Resources
 ---------

From 320fda40104f11d9c713e099969fad23fb9c16bd Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 17:58:22 -0500
Subject: [PATCH 11/21] update README further

---
 README.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/README.md b/README.md
index aee48c1bf..fa74af57c 100644
--- a/README.md
+++ b/README.md
@@ -234,6 +234,10 @@ As an example, to deploy a Wasm contract, you can do the following:
     poetry -C pykwasm run deploy tests/ulm/erc20/erc20.bin
     ```
 
+To invoke a deployed Wasm contract, do the following:
+
+**TODO:** add instructions.
+
 Resources
 ---------
 

From 9b954593d244847cd8cc12c8d8b7de068e585e30 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 18:00:00 -0500
Subject: [PATCH 12/21] remove files to be committed in a separate PR

---
 tests/ulm/erc20/.gitignore |     3 -
 tests/ulm/erc20/erc20.wast | 24883 -----------------------------------
 2 files changed, 24886 deletions(-)
 delete mode 100644 tests/ulm/erc20/.gitignore

diff --git a/tests/ulm/erc20/.gitignore b/tests/ulm/erc20/.gitignore
deleted file mode 100644
index e2ebf2345..000000000
--- a/tests/ulm/erc20/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.bin
-*.kore
-*.wasm
\ No newline at end of file
diff --git a/tests/ulm/erc20/erc20.wast b/tests/ulm/erc20/erc20.wast
index 820a04dd0..e69de29bb 100644
--- a/tests/ulm/erc20/erc20.wast
+++ b/tests/ulm/erc20/erc20.wast
@@ -1,24883 +0,0 @@
-(module $erc20.wasm
-  (type (;0;) (func (param i32 i32 i32)))
-  (type (;1;) (func (param i32)))
-  (type (;2;) (func (param i32 i32 i32 i32)))
-  (type (;3;) (func (param i32 i32 i32 i32 i32 i32)))
-  (type (;4;) (func (param i32 i32)))
-  (type (;5;) (func (param i32 i32 i32) (result i32)))
-  (type (;6;) (func (param i32 i32) (result i32)))
-  (type (;7;) (func (param i32 i32 i32 i32 i32)))
-  (type (;8;) (func (result i32)))
-  (type (;9;) (func (param i32 i32 i32 i32) (result i32)))
-  (type (;10;) (func (param i32) (result i32)))
-  (type (;11;) (func))
-  (type (;12;) (func (param i32 i32 i32 i32 i32 i32) (result i32)))
-  (type (;13;) (func (param i32 i32 i32 i32 i32) (result i32)))
-  (type (;14;) (func (param i64 i32 i32) (result i32)))
-  (import "env" "fail" (func $fail (type 4)))
-  (import "env" "Log3" (func $Log3 (type 7)))
-  (import "env" "Caller" (func $Caller (type 1)))
-  (import "env" "CallDataLength" (func $CallDataLength (type 8)))
-  (import "env" "CallData" (func $CallData (type 1)))
-  (import "env" "GetAccountStorage" (func $GetAccountStorage (type 4)))
-  (import "env" "SetAccountStorage" (func $SetAccountStorage (type 4)))
-  (import "env" "setOutput" (func $setOutput (type 4)))
-  (import "env" "keccakHash" (func $keccakHash (type 0)))
-  (func $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE (type 4) (param i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 1
-        i32.load offset=8
-        i32.const 32
-        i32.ne
-        br_if 0 (;@2;)
-        local.get 1
-        i32.load offset=4
-        local.tee 2
-        i32.load8_u offset=31
-        local.set 3
-        local.get 2
-        i32.load8_u offset=30
-        local.set 4
-        local.get 2
-        i32.load8_u offset=29
-        local.set 5
-        local.get 2
-        i32.load8_u offset=28
-        local.set 6
-        local.get 2
-        i32.load8_u offset=27
-        local.set 7
-        local.get 2
-        i32.load8_u offset=26
-        local.set 8
-        local.get 2
-        i32.load8_u offset=25
-        local.set 9
-        local.get 2
-        i32.load8_u offset=24
-        local.set 10
-        local.get 2
-        i32.load8_u offset=23
-        local.set 11
-        local.get 2
-        i32.load8_u offset=22
-        local.set 12
-        local.get 2
-        i32.load8_u offset=21
-        local.set 13
-        local.get 2
-        i32.load8_u offset=20
-        local.set 14
-        local.get 2
-        i32.load8_u offset=19
-        local.set 15
-        local.get 2
-        i32.load8_u offset=18
-        local.set 16
-        local.get 2
-        i32.load8_u offset=17
-        local.set 17
-        local.get 2
-        i32.load8_u offset=16
-        local.set 18
-        local.get 2
-        i32.load8_u offset=15
-        local.set 19
-        local.get 2
-        i32.load8_u offset=14
-        local.set 20
-        local.get 2
-        i32.load8_u offset=13
-        local.set 21
-        local.get 2
-        i32.load8_u offset=12
-        local.set 22
-        local.get 2
-        i32.load8_u offset=11
-        local.set 23
-        local.get 2
-        i32.load8_u offset=10
-        local.set 24
-        local.get 2
-        i32.load8_u offset=9
-        local.set 25
-        local.get 2
-        i32.load8_u offset=8
-        local.set 26
-        local.get 2
-        i32.load8_u offset=7
-        local.set 27
-        local.get 2
-        i32.load8_u offset=6
-        local.set 28
-        local.get 2
-        i32.load8_u offset=5
-        local.set 29
-        local.get 2
-        i32.load8_u offset=4
-        local.set 30
-        local.get 2
-        i32.load8_u offset=3
-        local.set 31
-        local.get 2
-        i32.load8_u offset=2
-        local.set 32
-        local.get 2
-        i32.load8_u offset=1
-        local.set 33
-        local.get 2
-        i32.load8_u
-        local.set 34
-        local.get 1
-        i32.const 12
-        i32.add
-        local.get 2
-        i32.const 32
-        local.get 1
-        i32.load
-        i32.load offset=16
-        call_indirect (type 0)
-        local.get 23
-        local.get 24
-        local.get 25
-        local.get 26
-        local.get 27
-        local.get 28
-        local.get 29
-        local.get 30
-        local.get 31
-        local.get 32
-        local.get 33
-        local.get 34
-        i32.or
-        i32.or
-        i32.or
-        i32.or
-        i32.or
-        i32.or
-        i32.or
-        i32.or
-        i32.or
-        i32.or
-        i32.or
-        i32.eqz
-        br_if 1 (;@1;)
-        i32.const 1048866
-        i32.const 23
-        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-        unreachable
-      end
-      i32.const 1048957
-      i32.const 22
-      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-      unreachable
-    end
-    local.get 0
-    local.get 22
-    i32.store8 offset=19
-    local.get 0
-    local.get 21
-    i32.store8 offset=18
-    local.get 0
-    local.get 20
-    i32.store8 offset=17
-    local.get 0
-    local.get 19
-    i32.store8 offset=16
-    local.get 0
-    local.get 18
-    i32.store8 offset=15
-    local.get 0
-    local.get 17
-    i32.store8 offset=14
-    local.get 0
-    local.get 16
-    i32.store8 offset=13
-    local.get 0
-    local.get 15
-    i32.store8 offset=12
-    local.get 0
-    local.get 14
-    i32.store8 offset=11
-    local.get 0
-    local.get 5
-    i32.store8 offset=2
-    local.get 0
-    local.get 4
-    i32.store8 offset=1
-    local.get 0
-    local.get 3
-    i32.store8
-    local.get 0
-    local.get 12
-    i32.const 16
-    i32.shl
-    local.get 13
-    i32.const 24
-    i32.shl
-    i32.or
-    local.get 11
-    i32.const 8
-    i32.shl
-    i32.or
-    local.get 10
-    i32.or
-    i32.store offset=7 align=1
-    local.get 0
-    local.get 8
-    i32.const 16
-    i32.shl
-    local.get 9
-    i32.const 24
-    i32.shl
-    i32.or
-    local.get 6
-    i32.or
-    local.get 7
-    i32.const 8
-    i32.shl
-    i32.or
-    i32.store offset=3 align=1)
-  (func $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E (type 4) (param i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
-    block  ;; label = @1
-      local.get 1
-      i32.load offset=8
-      i32.const 32
-      i32.ne
-      br_if 0 (;@1;)
-      local.get 1
-      i32.load offset=4
-      local.tee 2
-      i32.load8_u offset=31
-      local.set 3
-      local.get 2
-      i32.load8_u offset=30
-      local.set 4
-      local.get 2
-      i32.load8_u offset=29
-      local.set 5
-      local.get 2
-      i32.load8_u offset=28
-      local.set 6
-      local.get 2
-      i32.load8_u offset=27
-      local.set 7
-      local.get 2
-      i32.load8_u offset=26
-      local.set 8
-      local.get 2
-      i32.load8_u offset=25
-      local.set 9
-      local.get 2
-      i32.load8_u offset=24
-      local.set 10
-      local.get 2
-      i32.load8_u offset=23
-      local.set 11
-      local.get 2
-      i32.load8_u offset=22
-      local.set 12
-      local.get 2
-      i32.load8_u offset=21
-      local.set 13
-      local.get 2
-      i32.load8_u offset=20
-      local.set 14
-      local.get 2
-      i32.load8_u offset=19
-      local.set 15
-      local.get 2
-      i32.load8_u offset=18
-      local.set 16
-      local.get 2
-      i32.load8_u offset=17
-      local.set 17
-      local.get 2
-      i32.load8_u offset=16
-      local.set 18
-      local.get 2
-      i32.load8_u offset=15
-      local.set 19
-      local.get 2
-      i32.load8_u offset=14
-      local.set 20
-      local.get 2
-      i32.load8_u offset=13
-      local.set 21
-      local.get 2
-      i32.load8_u offset=12
-      local.set 22
-      local.get 2
-      i32.load8_u offset=11
-      local.set 23
-      local.get 2
-      i32.load8_u offset=10
-      local.set 24
-      local.get 2
-      i32.load8_u offset=9
-      local.set 25
-      local.get 2
-      i32.load8_u offset=8
-      local.set 26
-      local.get 2
-      i32.load8_u offset=7
-      local.set 27
-      local.get 2
-      i32.load8_u offset=6
-      local.set 28
-      local.get 2
-      i32.load8_u offset=5
-      local.set 29
-      local.get 2
-      i32.load8_u offset=4
-      local.set 30
-      local.get 2
-      i32.load8_u offset=3
-      local.set 31
-      local.get 2
-      i32.load8_u offset=2
-      local.set 32
-      local.get 2
-      i32.load8_u offset=1
-      local.set 33
-      local.get 0
-      local.get 2
-      i32.load8_u
-      i32.store8 offset=31
-      local.get 0
-      local.get 33
-      i32.store8 offset=30
-      local.get 0
-      local.get 32
-      i32.store8 offset=29
-      local.get 0
-      local.get 31
-      i32.store8 offset=28
-      local.get 0
-      local.get 30
-      i32.store8 offset=27
-      local.get 0
-      local.get 29
-      i32.store8 offset=26
-      local.get 0
-      local.get 28
-      i32.store8 offset=25
-      local.get 0
-      local.get 27
-      i32.store8 offset=24
-      local.get 0
-      local.get 26
-      i32.store8 offset=23
-      local.get 0
-      local.get 25
-      i32.store8 offset=22
-      local.get 0
-      local.get 24
-      i32.store8 offset=21
-      local.get 0
-      local.get 23
-      i32.store8 offset=20
-      local.get 0
-      local.get 22
-      i32.store8 offset=19
-      local.get 0
-      local.get 21
-      i32.store8 offset=18
-      local.get 0
-      local.get 20
-      i32.store8 offset=17
-      local.get 0
-      local.get 19
-      i32.store8 offset=16
-      local.get 0
-      local.get 18
-      i32.store8 offset=15
-      local.get 0
-      local.get 17
-      i32.store8 offset=14
-      local.get 0
-      local.get 16
-      i32.store8 offset=13
-      local.get 0
-      local.get 15
-      i32.store8 offset=12
-      local.get 0
-      local.get 14
-      i32.store8 offset=11
-      local.get 0
-      local.get 13
-      i32.store8 offset=10
-      local.get 0
-      local.get 12
-      i32.store8 offset=9
-      local.get 0
-      local.get 11
-      i32.store8 offset=8
-      local.get 0
-      local.get 10
-      i32.store8 offset=7
-      local.get 0
-      local.get 9
-      i32.store8 offset=6
-      local.get 0
-      local.get 8
-      i32.store8 offset=5
-      local.get 0
-      local.get 7
-      i32.store8 offset=4
-      local.get 0
-      local.get 6
-      i32.store8 offset=3
-      local.get 0
-      local.get 5
-      i32.store8 offset=2
-      local.get 0
-      local.get 4
-      i32.store8 offset=1
-      local.get 0
-      local.get 3
-      i32.store8
-      local.get 1
-      i32.const 12
-      i32.add
-      local.get 2
-      i32.const 32
-      local.get 1
-      i32.load
-      i32.load offset=16
-      call_indirect (type 0)
-      return
-    end
-    i32.const 1048957
-    i32.const 22
-    call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-    unreachable)
-  (func $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154 (type 0) (param i32 i32 i32)
-    (local i32 i32)
-    global.get $__stack_pointer
-    i32.const 64
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    local.get 1
-    local.get 1
-    i32.load
-    i32.const 1
-    i32.add
-    local.tee 4
-    i32.store
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 4
-        i32.eqz
-        br_if 0 (;@2;)
-        i32.const 0
-        i32.load8_u offset=1051873
-        drop
-        i32.const 12
-        i32.const 1
-        call $__rust_alloc
-        local.tee 4
-        i32.eqz
-        br_if 1 (;@1;)
-        local.get 4
-        i32.const 8
-        i32.add
-        i32.const 0
-        i32.load offset=1048584 align=1
-        i32.store align=1
-        local.get 4
-        i32.const 0
-        i64.load offset=1048576 align=1
-        i64.store align=1
-        local.get 3
-        i32.const 12
-        i32.store offset=28
-        local.get 3
-        local.get 4
-        i32.store offset=24
-        local.get 3
-        i32.const 12
-        i32.store offset=20
-        local.get 3
-        i32.const 32
-        i32.add
-        i32.const 8
-        i32.add
-        i32.const 0
-        i32.store
-        local.get 3
-        i64.const 17179869184
-        i64.store offset=32 align=4
-        local.get 3
-        i32.const 44
-        i32.add
-        local.get 3
-        i32.const 20
-        i32.add
-        call $_ZN67_$LT$alloc..string..String$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h1e4106a43390e251E
-        local.get 3
-        i32.const 32
-        i32.add
-        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-        local.get 3
-        i32.load offset=36
-        local.tee 4
-        local.get 3
-        i64.load offset=44 align=4
-        i64.store align=4
-        local.get 4
-        i32.const 8
-        i32.add
-        local.get 3
-        i32.const 44
-        i32.add
-        i32.const 8
-        i32.add
-        i64.load align=4
-        i64.store align=4
-        local.get 4
-        i32.const 16
-        i32.add
-        local.get 3
-        i32.const 44
-        i32.add
-        i32.const 16
-        i32.add
-        i32.load
-        i32.store
-        local.get 3
-        i32.const 8
-        i32.add
-        i32.const 1
-        i32.store
-        local.get 3
-        local.get 2
-        i32.store offset=16
-        local.get 3
-        local.get 1
-        i32.store offset=12
-        local.get 3
-        local.get 3
-        i64.load offset=32 align=4
-        i64.store
-        local.get 0
-        local.get 3
-        call $_ZN5erc207storage42SingleChunkStorageBuilder$LT$ValueType$GT$5build17hf8294c03859672afE
-        block  ;; label = @3
-          local.get 3
-          i32.load offset=20
-          local.tee 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 3
-          i32.load offset=24
-          local.get 1
-          i32.const 1
-          call $__rust_dealloc
-        end
-        local.get 3
-        i32.const 64
-        i32.add
-        global.set $__stack_pointer
-        return
-      end
-      unreachable
-      unreachable
-    end
-    i32.const 1
-    i32.const 12
-    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-    unreachable)
-  (func $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154 (type 2) (param i32 i32 i32 i32)
-    (local i32 i32)
-    global.get $__stack_pointer
-    i32.const 80
-    i32.sub
-    local.tee 4
-    global.set $__stack_pointer
-    local.get 1
-    local.get 1
-    i32.load
-    i32.const 1
-    i32.add
-    local.tee 5
-    i32.store
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 5
-        i32.eqz
-        br_if 0 (;@2;)
-        i32.const 0
-        i32.load8_u offset=1051873
-        drop
-        i32.const 8
-        i32.const 1
-        call $__rust_alloc
-        local.tee 5
-        i32.eqz
-        br_if 1 (;@1;)
-        local.get 5
-        i64.const 8315161612741534050
-        i64.store align=1
-        local.get 4
-        i32.const 8
-        i32.store offset=40
-        local.get 4
-        local.get 5
-        i32.store offset=36
-        local.get 4
-        i32.const 8
-        i32.store offset=32
-        local.get 4
-        i32.const 44
-        i32.add
-        i32.const 8
-        i32.add
-        i32.const 0
-        i32.store
-        local.get 4
-        i64.const 17179869184
-        i64.store offset=44 align=4
-        local.get 4
-        i32.const 56
-        i32.add
-        local.get 4
-        i32.const 32
-        i32.add
-        call $_ZN67_$LT$alloc..string..String$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h1e4106a43390e251E
-        local.get 4
-        i32.const 44
-        i32.add
-        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-        local.get 4
-        i32.load offset=48
-        local.tee 5
-        local.get 4
-        i64.load offset=56 align=4
-        i64.store align=4
-        local.get 5
-        i32.const 16
-        i32.add
-        local.get 4
-        i32.const 56
-        i32.add
-        i32.const 16
-        i32.add
-        i32.load
-        i32.store
-        local.get 5
-        i32.const 8
-        i32.add
-        local.get 4
-        i32.const 56
-        i32.add
-        i32.const 8
-        i32.add
-        i64.load align=4
-        i64.store align=4
-        local.get 4
-        i32.const 8
-        i32.add
-        i32.const 8
-        i32.add
-        i32.const 1
-        i32.store
-        local.get 4
-        local.get 1
-        i32.store offset=20
-        local.get 4
-        local.get 2
-        i32.store offset=24
-        local.get 4
-        local.get 4
-        i64.load offset=44 align=4
-        i64.store offset=8
-        block  ;; label = @3
-          local.get 4
-          i32.load offset=32
-          local.tee 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 4
-          i32.load offset=36
-          local.get 1
-          i32.const 1
-          call $__rust_dealloc
-        end
-        local.get 4
-        i32.const 56
-        i32.add
-        local.get 3
-        call $_ZN69_$LT$erc20..address..Address$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h8008c8716bd1bbd7E
-        block  ;; label = @3
-          local.get 4
-          i32.load offset=16
-          local.tee 1
-          local.get 4
-          i32.load offset=8
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 4
-          i32.const 8
-          i32.add
-          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-        end
-        local.get 4
-        i32.load offset=12
-        local.get 1
-        i32.const 20
-        i32.mul
-        i32.add
-        local.tee 5
-        local.get 4
-        i64.load offset=56 align=4
-        i64.store align=4
-        local.get 5
-        i32.const 16
-        i32.add
-        local.get 4
-        i32.const 56
-        i32.add
-        i32.const 16
-        i32.add
-        local.tee 3
-        i32.load
-        i32.store
-        local.get 5
-        i32.const 8
-        i32.add
-        local.get 4
-        i32.const 56
-        i32.add
-        i32.const 8
-        i32.add
-        local.tee 5
-        i64.load align=4
-        i64.store align=4
-        local.get 4
-        i32.const 8
-        i32.add
-        i32.const 8
-        i32.add
-        local.tee 2
-        local.get 1
-        i32.const 1
-        i32.add
-        i32.store
-        local.get 3
-        local.get 4
-        i32.const 8
-        i32.add
-        i32.const 16
-        i32.add
-        i32.load
-        i32.store
-        local.get 5
-        local.get 2
-        i64.load
-        i64.store
-        local.get 4
-        local.get 4
-        i64.load offset=8
-        i64.store offset=56
-        local.get 0
-        local.get 4
-        i32.const 56
-        i32.add
-        call $_ZN5erc207storage42SingleChunkStorageBuilder$LT$ValueType$GT$5build17hf8294c03859672afE
-        local.get 4
-        i32.const 80
-        i32.add
-        global.set $__stack_pointer
-        return
-      end
-      unreachable
-      unreachable
-    end
-    i32.const 1
-    i32.const 8
-    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-    unreachable)
-  (func $_ZN5erc205erc205Erc2012s_allowances17hef5933103b313fd4E.llvm.12425491971175694154 (type 7) (param i32 i32 i32 i32 i32)
-    (local i32 i32)
-    global.get $__stack_pointer
-    i32.const 80
-    i32.sub
-    local.tee 5
-    global.set $__stack_pointer
-    local.get 1
-    local.get 1
-    i32.load
-    i32.const 1
-    i32.add
-    local.tee 6
-    i32.store
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 6
-        i32.eqz
-        br_if 0 (;@2;)
-        i32.const 0
-        i32.load8_u offset=1051873
-        drop
-        i32.const 10
-        i32.const 1
-        call $__rust_alloc
-        local.tee 6
-        i32.eqz
-        br_if 1 (;@1;)
-        local.get 6
-        i32.const 8
-        i32.add
-        i32.const 0
-        i32.load16_u offset=1048596 align=1
-        i32.store16 align=1
-        local.get 6
-        i32.const 0
-        i64.load offset=1048588 align=1
-        i64.store align=1
-        local.get 5
-        i32.const 10
-        i32.store offset=40
-        local.get 5
-        local.get 6
-        i32.store offset=36
-        local.get 5
-        i32.const 10
-        i32.store offset=32
-        local.get 5
-        i32.const 44
-        i32.add
-        i32.const 8
-        i32.add
-        i32.const 0
-        i32.store
-        local.get 5
-        i64.const 17179869184
-        i64.store offset=44 align=4
-        local.get 5
-        i32.const 56
-        i32.add
-        local.get 5
-        i32.const 32
-        i32.add
-        call $_ZN67_$LT$alloc..string..String$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h1e4106a43390e251E
-        local.get 5
-        i32.const 44
-        i32.add
-        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-        local.get 5
-        i32.load offset=48
-        local.tee 6
-        local.get 5
-        i64.load offset=56 align=4
-        i64.store align=4
-        local.get 6
-        i32.const 16
-        i32.add
-        local.get 5
-        i32.const 56
-        i32.add
-        i32.const 16
-        i32.add
-        i32.load
-        i32.store
-        local.get 6
-        i32.const 8
-        i32.add
-        local.get 5
-        i32.const 56
-        i32.add
-        i32.const 8
-        i32.add
-        i64.load align=4
-        i64.store align=4
-        local.get 5
-        i32.const 8
-        i32.add
-        i32.const 8
-        i32.add
-        i32.const 1
-        i32.store
-        local.get 5
-        local.get 1
-        i32.store offset=20
-        local.get 5
-        local.get 2
-        i32.store offset=24
-        local.get 5
-        local.get 5
-        i64.load offset=44 align=4
-        i64.store offset=8
-        block  ;; label = @3
-          local.get 5
-          i32.load offset=32
-          local.tee 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 5
-          i32.load offset=36
-          local.get 1
-          i32.const 1
-          call $__rust_dealloc
-        end
-        local.get 5
-        i32.const 56
-        i32.add
-        local.get 3
-        call $_ZN69_$LT$erc20..address..Address$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h8008c8716bd1bbd7E
-        block  ;; label = @3
-          local.get 5
-          i32.load offset=16
-          local.tee 1
-          local.get 5
-          i32.load offset=8
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 5
-          i32.const 8
-          i32.add
-          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-        end
-        local.get 5
-        i32.load offset=12
-        local.get 1
-        i32.const 20
-        i32.mul
-        i32.add
-        local.tee 6
-        local.get 5
-        i64.load offset=56 align=4
-        i64.store align=4
-        local.get 6
-        i32.const 16
-        i32.add
-        local.get 5
-        i32.const 56
-        i32.add
-        i32.const 16
-        i32.add
-        local.tee 3
-        i32.load
-        i32.store
-        local.get 6
-        i32.const 8
-        i32.add
-        local.get 5
-        i32.const 56
-        i32.add
-        i32.const 8
-        i32.add
-        local.tee 6
-        i64.load align=4
-        i64.store align=4
-        local.get 5
-        local.get 1
-        i32.const 1
-        i32.add
-        local.tee 2
-        i32.store offset=16
-        local.get 5
-        i32.const 56
-        i32.add
-        local.get 4
-        call $_ZN69_$LT$erc20..address..Address$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h8008c8716bd1bbd7E
-        block  ;; label = @3
-          local.get 2
-          local.get 5
-          i32.load offset=8
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 5
-          i32.const 8
-          i32.add
-          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-        end
-        local.get 5
-        i32.load offset=12
-        local.get 2
-        i32.const 20
-        i32.mul
-        i32.add
-        local.tee 2
-        local.get 5
-        i64.load offset=56 align=4
-        i64.store align=4
-        local.get 2
-        i32.const 16
-        i32.add
-        local.get 3
-        i32.load
-        i32.store
-        local.get 2
-        i32.const 8
-        i32.add
-        local.get 6
-        i64.load align=4
-        i64.store align=4
-        local.get 5
-        i32.const 8
-        i32.add
-        i32.const 8
-        i32.add
-        local.tee 2
-        local.get 1
-        i32.const 2
-        i32.add
-        i32.store
-        local.get 3
-        local.get 5
-        i32.const 8
-        i32.add
-        i32.const 16
-        i32.add
-        i32.load
-        i32.store
-        local.get 6
-        local.get 2
-        i64.load
-        i64.store
-        local.get 5
-        local.get 5
-        i64.load offset=8
-        i64.store offset=56
-        local.get 0
-        local.get 5
-        i32.const 56
-        i32.add
-        call $_ZN5erc207storage42SingleChunkStorageBuilder$LT$ValueType$GT$5build17hf8294c03859672afE
-        local.get 5
-        i32.const 80
-        i32.add
-        global.set $__stack_pointer
-        return
-      end
-      unreachable
-      unreachable
-    end
-    i32.const 1
-    i32.const 10
-    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-    unreachable)
-  (func $_ZN5erc205erc205Erc2012total_supply17hfe7aaedf3a1c67e9E (type 4) (param i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 112
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    i32.const 8
-    i32.add
-    local.get 1
-    i32.load
-    local.get 1
-    i32.load offset=4
-    call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
-    block  ;; label = @1
-      local.get 2
-      i32.load offset=8
-      local.tee 3
-      local.get 2
-      i32.load offset=12
-      local.tee 4
-      i32.load offset=8
-      local.tee 5
-      i32.const 4
-      local.get 5
-      i32.const 4
-      i32.gt_u
-      select
-      local.tee 6
-      i32.const -1
-      i32.add
-      i32.const -8
-      i32.and
-      i32.add
-      i32.const 8
-      i32.add
-      local.tee 1
-      i32.load
-      local.tee 7
-      i32.const 2147483646
-      i32.gt_u
-      br_if 0 (;@1;)
-      local.get 1
-      local.get 7
-      i32.const 1
-      i32.add
-      i32.store
-      local.get 1
-      local.get 5
-      i32.const -1
-      i32.add
-      local.tee 8
-      i32.const -4
-      i32.and
-      i32.add
-      i32.const 4
-      i32.add
-      local.tee 7
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 4
-      i32.const 28
-      i32.add
-      i32.load
-      local.set 9
-      local.get 2
-      i32.const 48
-      i32.add
-      i32.const 24
-      i32.add
-      local.get 2
-      i32.const 40
-      i32.add
-      i64.load align=4
-      i64.store
-      local.get 2
-      i32.const 48
-      i32.add
-      i32.const 16
-      i32.add
-      local.get 2
-      i32.const 8
-      i32.add
-      i32.const 24
-      i32.add
-      i64.load align=4
-      i64.store
-      local.get 2
-      i32.const 48
-      i32.add
-      i32.const 8
-      i32.add
-      local.get 2
-      i32.const 8
-      i32.add
-      i32.const 16
-      i32.add
-      i64.load align=4
-      i64.store
-      local.get 2
-      local.get 2
-      i64.load offset=16 align=4
-      i64.store offset=48
-      local.get 2
-      i32.const 80
-      i32.add
-      i32.const 24
-      i32.add
-      local.tee 10
-      i64.const 0
-      i64.store
-      local.get 2
-      i32.const 80
-      i32.add
-      i32.const 16
-      i32.add
-      local.tee 11
-      i64.const 0
-      i64.store
-      local.get 2
-      i32.const 80
-      i32.add
-      i32.const 8
-      i32.add
-      local.tee 12
-      i64.const 0
-      i64.store
-      local.get 2
-      i64.const 0
-      i64.store offset=80
-      local.get 7
-      local.get 2
-      i32.const 48
-      i32.add
-      local.get 2
-      i32.const 80
-      i32.add
-      local.get 9
-      call_indirect (type 0)
-      local.get 0
-      i32.const 24
-      i32.add
-      local.get 10
-      i64.load
-      i64.store align=1
-      local.get 0
-      i32.const 16
-      i32.add
-      local.get 11
-      i64.load
-      i64.store align=1
-      local.get 0
-      i32.const 8
-      i32.add
-      local.get 12
-      i64.load
-      i64.store align=1
-      local.get 0
-      local.get 2
-      i64.load offset=80
-      i64.store align=1
-      local.get 1
-      local.get 1
-      i32.load
-      i32.const -1
-      i32.add
-      i32.store
-      local.get 3
-      local.get 3
-      i32.load
-      i32.const -1
-      i32.add
-      local.tee 1
-      i32.store
-      block  ;; label = @2
-        local.get 1
-        br_if 0 (;@2;)
-        local.get 7
-        local.get 4
-        i32.load
-        call_indirect (type 1)
-        local.get 3
-        i32.const 4
-        i32.add
-        local.tee 1
-        local.get 1
-        i32.load
-        i32.const -1
-        i32.add
-        local.tee 1
-        i32.store
-        local.get 1
-        br_if 0 (;@2;)
-        local.get 6
-        local.get 6
-        local.get 4
-        i32.load offset=4
-        local.get 8
-        i32.add
-        i32.const 0
-        local.get 5
-        i32.sub
-        i32.and
-        i32.add
-        i32.const 3
-        i32.add
-        i32.const 0
-        local.get 6
-        i32.sub
-        local.tee 1
-        i32.and
-        i32.add
-        i32.const 7
-        i32.add
-        local.get 1
-        i32.and
-        local.tee 1
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 3
-        local.get 1
-        local.get 6
-        call $__rust_dealloc
-      end
-      local.get 2
-      i32.const 112
-      i32.add
-      global.set $__stack_pointer
-      return
-    end
-    i32.const 1050168
-    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-    unreachable)
-  (func $_ZN5erc205erc205Erc2010balance_of17h30b9a5b4c7c2e770E (type 0) (param i32 i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 112
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    local.get 3
-    i32.const 8
-    i32.add
-    local.get 1
-    i32.load
-    local.get 1
-    i32.load offset=4
-    local.get 2
-    call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
-    block  ;; label = @1
-      local.get 3
-      i32.load offset=8
-      local.tee 2
-      local.get 3
-      i32.load offset=12
-      local.tee 4
-      i32.load offset=8
-      local.tee 5
-      i32.const 4
-      local.get 5
-      i32.const 4
-      i32.gt_u
-      select
-      local.tee 6
-      i32.const -1
-      i32.add
-      i32.const -8
-      i32.and
-      i32.add
-      i32.const 8
-      i32.add
-      local.tee 1
-      i32.load
-      local.tee 7
-      i32.const 2147483646
-      i32.gt_u
-      br_if 0 (;@1;)
-      local.get 1
-      local.get 7
-      i32.const 1
-      i32.add
-      i32.store
-      local.get 1
-      local.get 5
-      i32.const -1
-      i32.add
-      local.tee 8
-      i32.const -4
-      i32.and
-      i32.add
-      i32.const 4
-      i32.add
-      local.tee 7
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 4
-      i32.const 28
-      i32.add
-      i32.load
-      local.set 9
-      local.get 3
-      i32.const 48
-      i32.add
-      i32.const 24
-      i32.add
-      local.get 3
-      i32.const 40
-      i32.add
-      i64.load align=4
-      i64.store
-      local.get 3
-      i32.const 48
-      i32.add
-      i32.const 16
-      i32.add
-      local.get 3
-      i32.const 8
-      i32.add
-      i32.const 24
-      i32.add
-      i64.load align=4
-      i64.store
-      local.get 3
-      i32.const 48
-      i32.add
-      i32.const 8
-      i32.add
-      local.get 3
-      i32.const 8
-      i32.add
-      i32.const 16
-      i32.add
-      i64.load align=4
-      i64.store
-      local.get 3
-      local.get 3
-      i64.load offset=16 align=4
-      i64.store offset=48
-      local.get 3
-      i32.const 80
-      i32.add
-      i32.const 24
-      i32.add
-      local.tee 10
-      i64.const 0
-      i64.store
-      local.get 3
-      i32.const 80
-      i32.add
-      i32.const 16
-      i32.add
-      local.tee 11
-      i64.const 0
-      i64.store
-      local.get 3
-      i32.const 80
-      i32.add
-      i32.const 8
-      i32.add
-      local.tee 12
-      i64.const 0
-      i64.store
-      local.get 3
-      i64.const 0
-      i64.store offset=80
-      local.get 7
-      local.get 3
-      i32.const 48
-      i32.add
-      local.get 3
-      i32.const 80
-      i32.add
-      local.get 9
-      call_indirect (type 0)
-      local.get 0
-      i32.const 24
-      i32.add
-      local.get 10
-      i64.load
-      i64.store align=1
-      local.get 0
-      i32.const 16
-      i32.add
-      local.get 11
-      i64.load
-      i64.store align=1
-      local.get 0
-      i32.const 8
-      i32.add
-      local.get 12
-      i64.load
-      i64.store align=1
-      local.get 0
-      local.get 3
-      i64.load offset=80
-      i64.store align=1
-      local.get 1
-      local.get 1
-      i32.load
-      i32.const -1
-      i32.add
-      i32.store
-      local.get 2
-      local.get 2
-      i32.load
-      i32.const -1
-      i32.add
-      local.tee 1
-      i32.store
-      block  ;; label = @2
-        local.get 1
-        br_if 0 (;@2;)
-        local.get 7
-        local.get 4
-        i32.load
-        call_indirect (type 1)
-        local.get 2
-        i32.const 4
-        i32.add
-        local.tee 1
-        local.get 1
-        i32.load
-        i32.const -1
-        i32.add
-        local.tee 1
-        i32.store
-        local.get 1
-        br_if 0 (;@2;)
-        local.get 6
-        local.get 6
-        local.get 4
-        i32.load offset=4
-        local.get 8
-        i32.add
-        i32.const 0
-        local.get 5
-        i32.sub
-        i32.and
-        i32.add
-        i32.const 3
-        i32.add
-        i32.const 0
-        local.get 6
-        i32.sub
-        local.tee 1
-        i32.and
-        i32.add
-        i32.const 7
-        i32.add
-        local.get 1
-        i32.and
-        local.tee 1
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 1
-        local.get 6
-        call $__rust_dealloc
-      end
-      local.get 3
-      i32.const 112
-      i32.add
-      global.set $__stack_pointer
-      return
-    end
-    i32.const 1050168
-    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-    unreachable)
-  (func $_ZN5erc205erc205Erc209_transfer17h2686357d78aa1243E.llvm.12425491971175694154 (type 7) (param i32 i32 i32 i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i64 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 208
-    i32.sub
-    local.tee 5
-    global.set $__stack_pointer
-    local.get 5
-    i32.const 192
-    i32.add
-    local.tee 6
-    i32.const 0
-    i32.store
-    local.get 5
-    i32.const 184
-    i32.add
-    local.tee 7
-    i64.const 0
-    i64.store
-    local.get 5
-    i64.const 0
-    i64.store offset=176
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 2
-        local.get 5
-        i32.const 176
-        i32.add
-        call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
-        i32.const 255
-        i32.and
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 6
-        i32.const 0
-        i32.store
-        local.get 7
-        i64.const 0
-        i64.store
-        local.get 5
-        i64.const 0
-        i64.store offset=176
-        block  ;; label = @3
-          local.get 3
-          local.get 5
-          i32.const 176
-          i32.add
-          call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
-          i32.const 255
-          i32.and
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 0
-          local.get 1
-          local.get 2
-          local.get 3
-          local.get 4
-          call $_ZN5erc205erc205Erc207_update17he4e974dae5007c46E.llvm.12425491971175694154
-          local.get 5
-          i32.const 0
-          i32.store offset=12
-          local.get 5
-          i64.const 17179869184
-          i64.store offset=4 align=4
-          local.get 5
-          i32.const 176
-          i32.add
-          local.get 4
-          call $_ZN69_$LT$erc20..balance..Balance$u20$as$u20$erc20..encoder..Encodable$GT$6encode17hede0d9f51024b58fE
-          local.get 5
-          i32.const 4
-          i32.add
-          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-          local.get 5
-          i32.load offset=8
-          local.tee 4
-          local.get 5
-          i64.load offset=176 align=4
-          i64.store align=4
-          local.get 4
-          i32.const 8
-          i32.add
-          local.get 5
-          i32.const 176
-          i32.add
-          i32.const 8
-          i32.add
-          i64.load align=4
-          i64.store align=4
-          local.get 4
-          i32.const 16
-          i32.add
-          local.get 5
-          i32.const 176
-          i32.add
-          i32.const 16
-          i32.add
-          i32.load
-          i32.store
-          local.get 5
-          i32.const 1
-          i32.store offset=12
-          local.get 0
-          local.get 1
-          i32.load offset=8
-          local.tee 4
-          i32.const 4
-          local.get 4
-          i32.const 4
-          i32.gt_u
-          select
-          i32.const -1
-          i32.add
-          i32.const -8
-          i32.and
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 6
-          i32.load
-          local.tee 0
-          i32.const 2147483646
-          i32.gt_u
-          br_if 2 (;@1;)
-          local.get 6
-          local.get 0
-          i32.const 1
-          i32.add
-          i32.store
-          local.get 6
-          local.get 4
-          i32.const -1
-          i32.add
-          i32.const -4
-          i32.and
-          i32.add
-          i32.const 4
-          i32.add
-          local.tee 8
-          i32.eqz
-          br_if 2 (;@1;)
-          i32.const 0
-          local.set 4
-          local.get 5
-          i32.const 161
-          i32.add
-          local.tee 9
-          i32.const 0
-          i32.store align=1
-          local.get 5
-          i32.const 144
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 7
-          local.get 2
-          i32.const 19
-          i32.add
-          i32.load8_u
-          i32.store8
-          local.get 5
-          i64.const 0
-          i64.store offset=153 align=1
-          local.get 5
-          i32.const 176
-          i32.add
-          i32.const 13
-          i32.add
-          local.tee 10
-          local.get 5
-          i32.const 144
-          i32.add
-          i32.const 13
-          i32.add
-          local.tee 11
-          i64.load align=1
-          i64.store align=1
-          local.get 5
-          i32.const 176
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 0
-          local.get 7
-          i64.load
-          i64.store
-          local.get 5
-          i32.const 16
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 12
-          local.get 0
-          i64.load
-          i64.store
-          local.get 5
-          i32.const 16
-          i32.add
-          i32.const 13
-          i32.add
-          local.tee 13
-          local.get 10
-          i64.load align=1
-          i64.store align=1
-          local.get 5
-          local.get 2
-          i64.load offset=11 align=1
-          i64.store offset=16
-          local.get 2
-          i64.load offset=3 align=1
-          local.set 14
-          local.get 9
-          i32.const 0
-          i32.store align=1
-          local.get 7
-          local.get 3
-          i32.const 19
-          i32.add
-          i32.load8_u
-          i32.store8
-          local.get 5
-          i64.const 0
-          i64.store offset=153 align=1
-          local.get 10
-          local.get 11
-          i64.load align=1
-          i64.store align=1
-          local.get 0
-          local.get 7
-          i64.load
-          i64.store
-          local.get 5
-          i32.const 40
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 11
-          local.get 0
-          i64.load
-          i64.store
-          local.get 5
-          i32.const 40
-          i32.add
-          i32.const 13
-          i32.add
-          local.tee 15
-          local.get 10
-          i64.load align=1
-          i64.store align=1
-          local.get 5
-          local.get 3
-          i64.load offset=11 align=1
-          i64.store offset=40
-          local.get 3
-          i64.load offset=3 align=1
-          local.set 16
-          local.get 5
-          i32.const 64
-          i32.add
-          local.get 5
-          i32.const 4
-          i32.add
-          call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-          local.get 5
-          i32.const 144
-          i32.add
-          i32.const 1048598
-          i32.const 30
-          call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-          local.get 1
-          i32.const 40
-          i32.add
-          i32.load
-          local.set 17
-          local.get 5
-          i32.load offset=152
-          local.set 7
-          local.get 5
-          i32.load offset=148
-          local.set 10
-          local.get 5
-          i32.const 176
-          i32.add
-          i32.const 24
-          i32.add
-          local.tee 9
-          i64.const 0
-          i64.store
-          local.get 5
-          i32.const 176
-          i32.add
-          i32.const 16
-          i32.add
-          local.tee 18
-          i64.const 0
-          i64.store
-          local.get 0
-          i64.const 0
-          i64.store
-          local.get 5
-          i64.const 0
-          i64.store offset=176
-          local.get 8
-          local.get 10
-          local.get 7
-          local.get 5
-          i32.const 176
-          i32.add
-          local.get 17
-          call_indirect (type 2)
-          local.get 5
-          i32.const 80
-          i32.add
-          i32.const 24
-          i32.add
-          local.tee 17
-          local.get 9
-          i64.load
-          i64.store
-          local.get 5
-          i32.const 80
-          i32.add
-          i32.const 16
-          i32.add
-          local.tee 19
-          local.get 18
-          i64.load
-          i64.store
-          local.get 5
-          i32.const 80
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 18
-          local.get 0
-          i64.load
-          i64.store
-          local.get 5
-          local.get 5
-          i64.load offset=176
-          i64.store offset=80
-          local.get 5
-          i32.const 144
-          i32.add
-          i32.const 12
-          i32.add
-          local.get 10
-          local.get 7
-          local.get 5
-          i32.load offset=144
-          i32.load offset=16
-          call_indirect (type 0)
-          local.get 5
-          i32.const 112
-          i32.add
-          i32.const 24
-          i32.add
-          local.get 17
-          i64.load
-          i64.store
-          local.get 5
-          i32.const 112
-          i32.add
-          i32.const 16
-          i32.add
-          local.get 19
-          i64.load
-          i64.store
-          local.get 5
-          i32.const 112
-          i32.add
-          i32.const 8
-          i32.add
-          local.get 18
-          i64.load
-          i64.store
-          local.get 5
-          local.get 5
-          i64.load offset=80
-          i64.store offset=112
-          local.get 5
-          i32.const 144
-          i32.add
-          i32.const 19
-          i32.add
-          local.get 12
-          i64.load
-          i64.store align=1
-          local.get 5
-          i32.const 144
-          i32.add
-          i32.const 24
-          i32.add
-          local.get 13
-          i64.load align=1
-          i64.store align=1
-          local.get 5
-          i32.const 144
-          i32.add
-          i32.const 2
-          i32.add
-          local.get 2
-          i32.const 2
-          i32.add
-          i32.load8_u
-          i32.store8
-          local.get 5
-          local.get 14
-          i64.store offset=147 align=1
-          local.get 5
-          local.get 5
-          i64.load offset=16
-          i64.store offset=155 align=1
-          local.get 5
-          local.get 2
-          i32.load16_u align=1
-          i32.store16 offset=144
-          local.get 5
-          i32.const 176
-          i32.add
-          i32.const 2
-          i32.add
-          local.get 3
-          i32.const 2
-          i32.add
-          i32.load8_u
-          i32.store8
-          local.get 5
-          local.get 16
-          i64.store offset=179 align=1
-          local.get 5
-          local.get 3
-          i32.load16_u align=1
-          i32.store16 offset=176
-          local.get 5
-          i32.const 176
-          i32.add
-          i32.const 19
-          i32.add
-          local.get 11
-          i64.load
-          i64.store align=1
-          local.get 9
-          local.get 15
-          i64.load align=1
-          i64.store align=1
-          local.get 5
-          local.get 5
-          i64.load offset=40
-          i64.store offset=187 align=1
-          local.get 8
-          local.get 5
-          i32.const 112
-          i32.add
-          local.get 5
-          i32.const 144
-          i32.add
-          local.get 5
-          i32.const 176
-          i32.add
-          local.get 5
-          i32.load offset=68
-          local.tee 2
-          local.get 5
-          i32.load offset=72
-          local.tee 3
-          local.get 1
-          i32.load offset=12
-          call_indirect (type 3)
-          local.get 5
-          i32.const 64
-          i32.add
-          i32.const 12
-          i32.add
-          local.get 2
-          local.get 3
-          local.get 5
-          i32.load offset=64
-          i32.load offset=16
-          call_indirect (type 0)
-          block  ;; label = @4
-            local.get 5
-            i32.load offset=12
-            local.tee 2
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 5
-            i32.load offset=8
-            local.set 0
-            local.get 2
-            i32.const 1
-            i32.and
-            local.set 1
-            block  ;; label = @5
-              local.get 2
-              i32.const 1
-              i32.eq
-              br_if 0 (;@5;)
-              local.get 2
-              i32.const -2
-              i32.and
-              local.set 3
-              i32.const 0
-              local.set 4
-              local.get 0
-              local.set 2
-              loop  ;; label = @6
-                local.get 2
-                i32.const 16
-                i32.add
-                local.get 2
-                i32.const 8
-                i32.add
-                i32.load
-                local.get 2
-                i32.const 12
-                i32.add
-                i32.load
-                local.get 2
-                i32.const 4
-                i32.add
-                i32.load
-                i32.load offset=16
-                call_indirect (type 0)
-                local.get 2
-                i32.const 36
-                i32.add
-                local.get 2
-                i32.const 28
-                i32.add
-                i32.load
-                local.get 2
-                i32.const 32
-                i32.add
-                i32.load
-                local.get 2
-                i32.const 24
-                i32.add
-                i32.load
-                i32.load offset=16
-                call_indirect (type 0)
-                local.get 2
-                i32.const 40
-                i32.add
-                local.set 2
-                local.get 3
-                local.get 4
-                i32.const 2
-                i32.add
-                local.tee 4
-                i32.ne
-                br_if 0 (;@6;)
-              end
-            end
-            local.get 1
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 0
-            local.get 4
-            i32.const 20
-            i32.mul
-            i32.add
-            local.tee 2
-            i32.const 16
-            i32.add
-            local.get 2
-            i32.load offset=8
-            local.get 2
-            i32.load offset=12
-            local.get 2
-            i32.load offset=4
-            i32.load offset=16
-            call_indirect (type 0)
-          end
-          block  ;; label = @4
-            local.get 5
-            i32.load offset=4
-            local.tee 2
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 5
-            i32.load offset=8
-            local.get 2
-            i32.const 20
-            i32.mul
-            i32.const 4
-            call $__rust_dealloc
-          end
-          local.get 6
-          local.get 6
-          i32.load
-          i32.const -1
-          i32.add
-          i32.store
-          local.get 5
-          i32.const 208
-          i32.add
-          global.set $__stack_pointer
-          return
-        end
-        i32.const 1048752
-        i32.const 16
-        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-        unreachable
-      end
-      i32.const 1048768
-      i32.const 14
-      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-      unreachable
-    end
-    i32.const 1048640
-    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-    unreachable)
-  (func $_ZN5erc205erc205Erc209allowance17h75c7fcb584df1022E (type 2) (param i32 i32 i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 112
-    i32.sub
-    local.tee 4
-    global.set $__stack_pointer
-    local.get 4
-    i32.const 8
-    i32.add
-    local.get 1
-    i32.load
-    local.get 1
-    i32.load offset=4
-    local.get 2
-    local.get 3
-    call $_ZN5erc205erc205Erc2012s_allowances17hef5933103b313fd4E.llvm.12425491971175694154
-    block  ;; label = @1
-      local.get 4
-      i32.load offset=8
-      local.tee 3
-      local.get 4
-      i32.load offset=12
-      local.tee 5
-      i32.load offset=8
-      local.tee 2
-      i32.const 4
-      local.get 2
-      i32.const 4
-      i32.gt_u
-      select
-      local.tee 6
-      i32.const -1
-      i32.add
-      i32.const -8
-      i32.and
-      i32.add
-      i32.const 8
-      i32.add
-      local.tee 1
-      i32.load
-      local.tee 7
-      i32.const 2147483646
-      i32.gt_u
-      br_if 0 (;@1;)
-      local.get 1
-      local.get 7
-      i32.const 1
-      i32.add
-      i32.store
-      local.get 1
-      local.get 2
-      i32.const -1
-      i32.add
-      local.tee 8
-      i32.const -4
-      i32.and
-      i32.add
-      i32.const 4
-      i32.add
-      local.tee 7
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 5
-      i32.const 28
-      i32.add
-      i32.load
-      local.set 9
-      local.get 4
-      i32.const 48
-      i32.add
-      i32.const 24
-      i32.add
-      local.get 4
-      i32.const 40
-      i32.add
-      i64.load align=4
-      i64.store
-      local.get 4
-      i32.const 48
-      i32.add
-      i32.const 16
-      i32.add
-      local.get 4
-      i32.const 8
-      i32.add
-      i32.const 24
-      i32.add
-      i64.load align=4
-      i64.store
-      local.get 4
-      i32.const 48
-      i32.add
-      i32.const 8
-      i32.add
-      local.get 4
-      i32.const 8
-      i32.add
-      i32.const 16
-      i32.add
-      i64.load align=4
-      i64.store
-      local.get 4
-      local.get 4
-      i64.load offset=16 align=4
-      i64.store offset=48
-      local.get 4
-      i32.const 80
-      i32.add
-      i32.const 24
-      i32.add
-      local.tee 10
-      i64.const 0
-      i64.store
-      local.get 4
-      i32.const 80
-      i32.add
-      i32.const 16
-      i32.add
-      local.tee 11
-      i64.const 0
-      i64.store
-      local.get 4
-      i32.const 80
-      i32.add
-      i32.const 8
-      i32.add
-      local.tee 12
-      i64.const 0
-      i64.store
-      local.get 4
-      i64.const 0
-      i64.store offset=80
-      local.get 7
-      local.get 4
-      i32.const 48
-      i32.add
-      local.get 4
-      i32.const 80
-      i32.add
-      local.get 9
-      call_indirect (type 0)
-      local.get 0
-      i32.const 24
-      i32.add
-      local.get 10
-      i64.load
-      i64.store align=1
-      local.get 0
-      i32.const 16
-      i32.add
-      local.get 11
-      i64.load
-      i64.store align=1
-      local.get 0
-      i32.const 8
-      i32.add
-      local.get 12
-      i64.load
-      i64.store align=1
-      local.get 0
-      local.get 4
-      i64.load offset=80
-      i64.store align=1
-      local.get 1
-      local.get 1
-      i32.load
-      i32.const -1
-      i32.add
-      i32.store
-      local.get 3
-      local.get 3
-      i32.load
-      i32.const -1
-      i32.add
-      local.tee 1
-      i32.store
-      block  ;; label = @2
-        local.get 1
-        br_if 0 (;@2;)
-        local.get 7
-        local.get 5
-        i32.load
-        call_indirect (type 1)
-        local.get 3
-        i32.const 4
-        i32.add
-        local.tee 1
-        local.get 1
-        i32.load
-        i32.const -1
-        i32.add
-        local.tee 1
-        i32.store
-        local.get 1
-        br_if 0 (;@2;)
-        local.get 6
-        local.get 6
-        local.get 5
-        i32.load offset=4
-        local.get 8
-        i32.add
-        i32.const 0
-        local.get 2
-        i32.sub
-        i32.and
-        i32.add
-        i32.const 3
-        i32.add
-        i32.const 0
-        local.get 6
-        i32.sub
-        local.tee 1
-        i32.and
-        i32.add
-        i32.const 7
-        i32.add
-        local.get 1
-        i32.and
-        local.tee 1
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 3
-        local.get 1
-        local.get 6
-        call $__rust_dealloc
-      end
-      local.get 4
-      i32.const 112
-      i32.add
-      global.set $__stack_pointer
-      return
-    end
-    i32.const 1050168
-    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-    unreachable)
-  (func $_ZN5erc205erc205Erc208_approve17h53bfc76d7c1fe7cfE.llvm.12425491971175694154 (type 3) (param i32 i32 i32 i32 i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i64 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 224
-    i32.sub
-    local.tee 6
-    global.set $__stack_pointer
-    local.get 6
-    i32.const 8
-    i32.add
-    i32.const 16
-    i32.add
-    local.tee 7
-    i32.const 0
-    i32.store
-    local.get 6
-    i32.const 16
-    i32.add
-    local.tee 8
-    i64.const 0
-    i64.store
-    local.get 6
-    i64.const 0
-    i64.store offset=8
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 2
-            local.get 6
-            i32.const 8
-            i32.add
-            call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
-            i32.const 255
-            i32.and
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 7
-            i32.const 0
-            i32.store
-            local.get 8
-            i64.const 0
-            i64.store
-            local.get 6
-            i64.const 0
-            i64.store offset=8
-            local.get 3
-            local.get 6
-            i32.const 8
-            i32.add
-            call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
-            i32.const 255
-            i32.and
-            i32.eqz
-            br_if 2 (;@2;)
-            local.get 6
-            i32.const 8
-            i32.add
-            local.get 0
-            local.get 1
-            local.get 2
-            local.get 3
-            call $_ZN5erc205erc205Erc2012s_allowances17hef5933103b313fd4E.llvm.12425491971175694154
-            local.get 6
-            i32.load offset=8
-            local.tee 8
-            local.get 6
-            i32.load offset=12
-            local.tee 9
-            i32.load offset=8
-            local.tee 10
-            i32.const 4
-            local.get 10
-            i32.const 4
-            i32.gt_u
-            select
-            local.tee 11
-            i32.const -1
-            i32.add
-            i32.const -8
-            i32.and
-            i32.add
-            i32.const 8
-            i32.add
-            local.tee 7
-            i32.load
-            br_if 1 (;@3;)
-            local.get 7
-            i32.const -1
-            i32.store
-            local.get 7
-            local.get 10
-            i32.const -1
-            i32.add
-            local.tee 12
-            i32.const -4
-            i32.and
-            i32.add
-            i32.const 4
-            i32.add
-            local.tee 13
-            i32.eqz
-            br_if 1 (;@3;)
-            local.get 9
-            i32.const 32
-            i32.add
-            i32.load
-            local.set 14
-            local.get 6
-            i32.const 160
-            i32.add
-            i32.const 24
-            i32.add
-            local.get 6
-            i32.const 8
-            i32.add
-            i32.const 32
-            i32.add
-            i64.load align=4
-            i64.store
-            local.get 6
-            i32.const 160
-            i32.add
-            i32.const 16
-            i32.add
-            local.get 6
-            i32.const 8
-            i32.add
-            i32.const 24
-            i32.add
-            i64.load align=4
-            i64.store
-            local.get 6
-            i32.const 160
-            i32.add
-            i32.const 8
-            i32.add
-            local.get 6
-            i32.const 8
-            i32.add
-            i32.const 16
-            i32.add
-            i64.load align=4
-            i64.store
-            local.get 6
-            local.get 6
-            i64.load offset=16 align=4
-            i64.store offset=160
-            local.get 6
-            i32.const 192
-            i32.add
-            i32.const 24
-            i32.add
-            local.get 4
-            i32.const 24
-            i32.add
-            i64.load align=1
-            i64.store
-            local.get 6
-            i32.const 192
-            i32.add
-            i32.const 16
-            i32.add
-            local.get 4
-            i32.const 16
-            i32.add
-            i64.load align=1
-            i64.store
-            local.get 6
-            i32.const 192
-            i32.add
-            i32.const 8
-            i32.add
-            local.get 4
-            i32.const 8
-            i32.add
-            i64.load align=1
-            i64.store
-            local.get 6
-            local.get 4
-            i64.load align=1
-            i64.store offset=192
-            local.get 13
-            local.get 6
-            i32.const 160
-            i32.add
-            local.get 6
-            i32.const 192
-            i32.add
-            local.get 14
-            call_indirect (type 0)
-            local.get 7
-            local.get 7
-            i32.load
-            i32.const 1
-            i32.add
-            i32.store
-            local.get 8
-            local.get 8
-            i32.load
-            i32.const -1
-            i32.add
-            local.tee 7
-            i32.store
-            block  ;; label = @5
-              local.get 7
-              br_if 0 (;@5;)
-              local.get 13
-              local.get 9
-              i32.load
-              call_indirect (type 1)
-              local.get 8
-              i32.const 4
-              i32.add
-              local.tee 7
-              local.get 7
-              i32.load
-              i32.const -1
-              i32.add
-              local.tee 7
-              i32.store
-              local.get 7
-              br_if 0 (;@5;)
-              local.get 11
-              local.get 11
-              local.get 9
-              i32.load offset=4
-              local.get 12
-              i32.add
-              i32.const 0
-              local.get 10
-              i32.sub
-              i32.and
-              i32.add
-              i32.const 3
-              i32.add
-              i32.const 0
-              local.get 11
-              i32.sub
-              local.tee 7
-              i32.and
-              i32.add
-              i32.const 7
-              i32.add
-              local.get 7
-              i32.and
-              local.tee 7
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 8
-              local.get 7
-              local.get 11
-              call $__rust_dealloc
-            end
-            block  ;; label = @5
-              local.get 5
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 6
-              i32.const 0
-              i32.store offset=60
-              local.get 6
-              i64.const 17179869184
-              i64.store offset=52 align=4
-              local.get 6
-              i32.const 8
-              i32.add
-              local.get 4
-              call $_ZN69_$LT$erc20..balance..Balance$u20$as$u20$erc20..encoder..Encodable$GT$6encode17hede0d9f51024b58fE
-              local.get 6
-              i32.const 52
-              i32.add
-              call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-              local.get 6
-              i32.load offset=56
-              local.tee 4
-              local.get 6
-              i64.load offset=8 align=4
-              i64.store align=4
-              local.get 4
-              i32.const 8
-              i32.add
-              local.get 6
-              i32.const 8
-              i32.add
-              i32.const 8
-              i32.add
-              i64.load align=4
-              i64.store align=4
-              local.get 4
-              i32.const 16
-              i32.add
-              local.get 6
-              i32.const 8
-              i32.add
-              i32.const 16
-              i32.add
-              i32.load
-              i32.store
-              local.get 6
-              i32.const 1
-              i32.store offset=60
-              local.get 0
-              local.get 1
-              i32.load offset=8
-              local.tee 4
-              i32.const 4
-              local.get 4
-              i32.const 4
-              i32.gt_u
-              select
-              i32.const -1
-              i32.add
-              i32.const -8
-              i32.and
-              i32.add
-              i32.const 8
-              i32.add
-              local.tee 8
-              i32.load
-              local.tee 7
-              i32.const 2147483646
-              i32.gt_u
-              br_if 4 (;@1;)
-              local.get 8
-              local.get 7
-              i32.const 1
-              i32.add
-              i32.store
-              local.get 8
-              local.get 4
-              i32.const -1
-              i32.add
-              i32.const -4
-              i32.and
-              i32.add
-              i32.const 4
-              i32.add
-              local.tee 0
-              i32.eqz
-              br_if 4 (;@1;)
-              i32.const 0
-              local.set 4
-              local.get 6
-              i32.const 209
-              i32.add
-              local.tee 13
-              i32.const 0
-              i32.store align=1
-              local.get 6
-              i32.const 192
-              i32.add
-              i32.const 8
-              i32.add
-              local.tee 10
-              local.get 2
-              i32.const 19
-              i32.add
-              i32.load8_u
-              i32.store8
-              local.get 6
-              i64.const 0
-              i64.store offset=201 align=1
-              local.get 6
-              i32.const 8
-              i32.add
-              i32.const 13
-              i32.add
-              local.tee 9
-              local.get 6
-              i32.const 192
-              i32.add
-              i32.const 13
-              i32.add
-              local.tee 5
-              i64.load align=1
-              i64.store align=1
-              local.get 6
-              i32.const 8
-              i32.add
-              i32.const 8
-              i32.add
-              local.tee 7
-              local.get 10
-              i64.load
-              i64.store
-              local.get 6
-              i32.const 64
-              i32.add
-              i32.const 8
-              i32.add
-              local.tee 14
-              local.get 7
-              i64.load
-              i64.store
-              local.get 6
-              i32.const 64
-              i32.add
-              i32.const 13
-              i32.add
-              local.tee 11
-              local.get 9
-              i64.load align=1
-              i64.store align=1
-              local.get 6
-              local.get 2
-              i64.load offset=11 align=1
-              i64.store offset=64
-              local.get 2
-              i64.load offset=3 align=1
-              local.set 15
-              local.get 13
-              i32.const 0
-              i32.store align=1
-              local.get 10
-              local.get 3
-              i32.const 19
-              i32.add
-              i32.load8_u
-              i32.store8
-              local.get 6
-              i64.const 0
-              i64.store offset=201 align=1
-              local.get 9
-              local.get 5
-              i64.load align=1
-              i64.store align=1
-              local.get 7
-              local.get 10
-              i64.load
-              i64.store
-              local.get 6
-              i32.const 88
-              i32.add
-              i32.const 8
-              i32.add
-              local.tee 5
-              local.get 7
-              i64.load
-              i64.store
-              local.get 6
-              i32.const 88
-              i32.add
-              i32.const 13
-              i32.add
-              local.tee 12
-              local.get 9
-              i64.load align=1
-              i64.store align=1
-              local.get 6
-              local.get 3
-              i64.load offset=11 align=1
-              i64.store offset=88
-              local.get 3
-              i64.load offset=3 align=1
-              local.set 16
-              local.get 6
-              i32.const 112
-              i32.add
-              local.get 6
-              i32.const 52
-              i32.add
-              call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-              local.get 6
-              i32.const 192
-              i32.add
-              i32.const 1048656
-              i32.const 30
-              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-              local.get 1
-              i32.const 40
-              i32.add
-              i32.load
-              local.set 17
-              local.get 6
-              i32.load offset=200
-              local.set 10
-              local.get 6
-              i32.load offset=196
-              local.set 9
-              local.get 6
-              i32.const 8
-              i32.add
-              i32.const 24
-              i32.add
-              local.tee 13
-              i64.const 0
-              i64.store
-              local.get 6
-              i32.const 8
-              i32.add
-              i32.const 16
-              i32.add
-              local.tee 18
-              i64.const 0
-              i64.store
-              local.get 7
-              i64.const 0
-              i64.store
-              local.get 6
-              i64.const 0
-              i64.store offset=8
-              local.get 0
-              local.get 9
-              local.get 10
-              local.get 6
-              i32.const 8
-              i32.add
-              local.get 17
-              call_indirect (type 2)
-              local.get 6
-              i32.const 128
-              i32.add
-              i32.const 24
-              i32.add
-              local.tee 17
-              local.get 13
-              i64.load
-              i64.store
-              local.get 6
-              i32.const 128
-              i32.add
-              i32.const 16
-              i32.add
-              local.tee 19
-              local.get 18
-              i64.load
-              i64.store
-              local.get 6
-              i32.const 128
-              i32.add
-              i32.const 8
-              i32.add
-              local.tee 18
-              local.get 7
-              i64.load
-              i64.store
-              local.get 6
-              local.get 6
-              i64.load offset=8
-              i64.store offset=128
-              local.get 6
-              i32.const 192
-              i32.add
-              i32.const 12
-              i32.add
-              local.get 9
-              local.get 10
-              local.get 6
-              i32.load offset=192
-              i32.load offset=16
-              call_indirect (type 0)
-              local.get 6
-              i32.const 160
-              i32.add
-              i32.const 24
-              i32.add
-              local.get 17
-              i64.load
-              i64.store
-              local.get 6
-              i32.const 160
-              i32.add
-              i32.const 16
-              i32.add
-              local.get 19
-              i64.load
-              i64.store
-              local.get 6
-              i32.const 160
-              i32.add
-              i32.const 8
-              i32.add
-              local.get 18
-              i64.load
-              i64.store
-              local.get 6
-              local.get 6
-              i64.load offset=128
-              i64.store offset=160
-              local.get 6
-              i32.const 192
-              i32.add
-              i32.const 19
-              i32.add
-              local.get 14
-              i64.load
-              i64.store align=1
-              local.get 6
-              i32.const 192
-              i32.add
-              i32.const 24
-              i32.add
-              local.get 11
-              i64.load align=1
-              i64.store align=1
-              local.get 6
-              i32.const 192
-              i32.add
-              i32.const 2
-              i32.add
-              local.get 2
-              i32.const 2
-              i32.add
-              i32.load8_u
-              i32.store8
-              local.get 6
-              local.get 15
-              i64.store offset=195 align=1
-              local.get 6
-              local.get 6
-              i64.load offset=64
-              i64.store offset=203 align=1
-              local.get 6
-              local.get 2
-              i32.load16_u align=1
-              i32.store16 offset=192
-              local.get 6
-              i32.const 8
-              i32.add
-              i32.const 2
-              i32.add
-              local.get 3
-              i32.const 2
-              i32.add
-              i32.load8_u
-              i32.store8
-              local.get 6
-              local.get 16
-              i64.store offset=11 align=1
-              local.get 6
-              local.get 3
-              i32.load16_u align=1
-              i32.store16 offset=8
-              local.get 6
-              i32.const 8
-              i32.add
-              i32.const 19
-              i32.add
-              local.get 5
-              i64.load
-              i64.store align=1
-              local.get 13
-              local.get 12
-              i64.load align=1
-              i64.store align=1
-              local.get 6
-              local.get 6
-              i64.load offset=88
-              i64.store offset=19 align=1
-              local.get 0
-              local.get 6
-              i32.const 160
-              i32.add
-              local.get 6
-              i32.const 192
-              i32.add
-              local.get 6
-              i32.const 8
-              i32.add
-              local.get 6
-              i32.load offset=116
-              local.tee 2
-              local.get 6
-              i32.load offset=120
-              local.tee 3
-              local.get 1
-              i32.load offset=12
-              call_indirect (type 3)
-              local.get 6
-              i32.const 112
-              i32.add
-              i32.const 12
-              i32.add
-              local.get 2
-              local.get 3
-              local.get 6
-              i32.load offset=112
-              i32.load offset=16
-              call_indirect (type 0)
-              block  ;; label = @6
-                local.get 6
-                i32.load offset=60
-                local.tee 2
-                i32.eqz
-                br_if 0 (;@6;)
-                local.get 6
-                i32.load offset=56
-                local.set 7
-                local.get 2
-                i32.const 1
-                i32.and
-                local.set 1
-                block  ;; label = @7
-                  local.get 2
-                  i32.const 1
-                  i32.eq
-                  br_if 0 (;@7;)
-                  local.get 2
-                  i32.const -2
-                  i32.and
-                  local.set 3
-                  i32.const 0
-                  local.set 4
-                  local.get 7
-                  local.set 2
-                  loop  ;; label = @8
-                    local.get 2
-                    i32.const 16
-                    i32.add
-                    local.get 2
-                    i32.const 8
-                    i32.add
-                    i32.load
-                    local.get 2
-                    i32.const 12
-                    i32.add
-                    i32.load
-                    local.get 2
-                    i32.const 4
-                    i32.add
-                    i32.load
-                    i32.load offset=16
-                    call_indirect (type 0)
-                    local.get 2
-                    i32.const 36
-                    i32.add
-                    local.get 2
-                    i32.const 28
-                    i32.add
-                    i32.load
-                    local.get 2
-                    i32.const 32
-                    i32.add
-                    i32.load
-                    local.get 2
-                    i32.const 24
-                    i32.add
-                    i32.load
-                    i32.load offset=16
-                    call_indirect (type 0)
-                    local.get 2
-                    i32.const 40
-                    i32.add
-                    local.set 2
-                    local.get 3
-                    local.get 4
-                    i32.const 2
-                    i32.add
-                    local.tee 4
-                    i32.ne
-                    br_if 0 (;@8;)
-                  end
-                end
-                local.get 1
-                i32.eqz
-                br_if 0 (;@6;)
-                local.get 7
-                local.get 4
-                i32.const 20
-                i32.mul
-                i32.add
-                local.tee 2
-                i32.const 16
-                i32.add
-                local.get 2
-                i32.load offset=8
-                local.get 2
-                i32.load offset=12
-                local.get 2
-                i32.load offset=4
-                i32.load offset=16
-                call_indirect (type 0)
-              end
-              block  ;; label = @6
-                local.get 6
-                i32.load offset=52
-                local.tee 2
-                i32.eqz
-                br_if 0 (;@6;)
-                local.get 6
-                i32.load offset=56
-                local.get 2
-                i32.const 20
-                i32.mul
-                i32.const 4
-                call $__rust_dealloc
-              end
-              local.get 8
-              local.get 8
-              i32.load
-              i32.const -1
-              i32.add
-              i32.store
-            end
-            local.get 6
-            i32.const 224
-            i32.add
-            global.set $__stack_pointer
-            return
-          end
-          i32.const 1048829
-          i32.const 16
-          call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-          unreachable
-        end
-        i32.const 1050152
-        call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-        unreachable
-      end
-      i32.const 1048814
-      i32.const 15
-      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-      unreachable
-    end
-    i32.const 1048688
-    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-    unreachable)
-  (func $_ZN5erc205erc205Erc2013transfer_from17hafd5c8a9b635bbc8E (type 9) (param i32 i32 i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 160
-    i32.sub
-    local.tee 4
-    global.set $__stack_pointer
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 0
-              i32.load
-              local.tee 5
-              local.get 0
-              i32.load offset=4
-              local.tee 6
-              i32.load offset=8
-              local.tee 7
-              i32.const 4
-              local.get 7
-              i32.const 4
-              i32.gt_u
-              select
-              i32.const -1
-              i32.add
-              i32.const -8
-              i32.and
-              i32.add
-              i32.const 8
-              i32.add
-              local.tee 8
-              i32.load
-              local.tee 9
-              i32.const 2147483646
-              i32.gt_u
-              br_if 0 (;@5;)
-              local.get 8
-              local.get 9
-              i32.const 1
-              i32.add
-              i32.store
-              local.get 8
-              local.get 7
-              i32.const -1
-              i32.add
-              i32.const -4
-              i32.and
-              i32.add
-              i32.const 4
-              i32.add
-              local.tee 10
-              i32.eqz
-              br_if 0 (;@5;)
-              i32.const 0
-              local.set 7
-              local.get 4
-              i32.const 128
-              i32.add
-              i32.const 16
-              i32.add
-              local.tee 9
-              i32.const 0
-              i32.store
-              local.get 4
-              i32.const 128
-              i32.add
-              i32.const 8
-              i32.add
-              local.tee 11
-              i64.const 0
-              i64.store
-              local.get 4
-              i64.const 0
-              i64.store offset=128
-              local.get 10
-              local.get 4
-              i32.const 128
-              i32.add
-              local.get 6
-              i32.load offset=16
-              call_indirect (type 4)
-              local.get 4
-              i32.const 8
-              i32.add
-              i32.const 16
-              i32.add
-              local.get 9
-              i32.load
-              i32.store
-              local.get 4
-              i32.const 8
-              i32.add
-              i32.const 8
-              i32.add
-              local.get 11
-              i64.load
-              i64.store
-              local.get 4
-              local.get 4
-              i64.load offset=128
-              i64.store offset=8
-              local.get 8
-              local.get 8
-              i32.load
-              i32.const -1
-              i32.add
-              i32.store
-              local.get 4
-              i32.const 32
-              i32.add
-              local.get 0
-              local.get 1
-              local.get 4
-              i32.const 8
-              i32.add
-              call $_ZN5erc205erc205Erc209allowance17h75c7fcb584df1022E
-              local.get 3
-              local.get 4
-              i32.const 32
-              i32.add
-              call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h99129b72a1377b56E
-              i32.const -1
-              i32.add
-              i32.const 255
-              i32.and
-              i32.const 1
-              i32.le_u
-              br_if 1 (;@4;)
-              local.get 4
-              i32.const 96
-              i32.add
-              i32.const 24
-              i32.add
-              local.get 4
-              i32.const 32
-              i32.add
-              i32.const 24
-              i32.add
-              i64.load align=1
-              i64.store
-              local.get 4
-              i32.const 96
-              i32.add
-              i32.const 16
-              i32.add
-              local.get 4
-              i32.const 32
-              i32.add
-              i32.const 16
-              i32.add
-              i64.load align=1
-              i64.store
-              local.get 4
-              i32.const 96
-              i32.add
-              i32.const 8
-              i32.add
-              local.get 4
-              i32.const 32
-              i32.add
-              i32.const 8
-              i32.add
-              i64.load align=1
-              i64.store
-              local.get 4
-              local.get 4
-              i64.load offset=32 align=1
-              i64.store offset=96
-              local.get 4
-              i32.const 128
-              i32.add
-              i32.const 24
-              i32.add
-              i64.const 0
-              i64.store
-              local.get 9
-              i64.const 0
-              i64.store
-              local.get 11
-              i64.const 0
-              i64.store
-              local.get 4
-              i64.const 0
-              i64.store offset=128
-              i32.const 0
-              local.set 8
-              loop  ;; label = @6
-                local.get 4
-                i32.const 96
-                i32.add
-                local.get 8
-                i32.add
-                i32.load8_u
-                local.tee 0
-                i32.const 256
-                i32.or
-                local.get 0
-                local.get 7
-                local.get 3
-                local.get 8
-                i32.add
-                i32.load8_u
-                i32.add
-                local.tee 9
-                i32.const 65535
-                i32.and
-                local.tee 11
-                local.get 0
-                i32.gt_u
-                local.tee 7
-                select
-                local.tee 10
-                local.get 11
-                i32.lt_u
-                br_if 4 (;@2;)
-                local.get 10
-                local.get 9
-                i32.sub
-                local.tee 11
-                i32.const 65535
-                i32.and
-                i32.const 256
-                i32.ge_u
-                br_if 5 (;@1;)
-                local.get 4
-                i32.const 128
-                i32.add
-                local.get 8
-                i32.add
-                local.get 11
-                i32.store8
-                local.get 8
-                i32.const 1
-                i32.add
-                local.tee 11
-                local.set 8
-                local.get 11
-                i32.const 32
-                i32.ne
-                br_if 0 (;@6;)
-              end
-              local.get 9
-              i32.const 65535
-              i32.and
-              local.get 0
-              i32.gt_u
-              br_if 2 (;@3;)
-              local.get 4
-              i32.const 64
-              i32.add
-              i32.const 24
-              i32.add
-              local.get 4
-              i32.const 128
-              i32.add
-              i32.const 24
-              i32.add
-              i64.load
-              i64.store
-              local.get 4
-              i32.const 64
-              i32.add
-              i32.const 16
-              i32.add
-              local.get 4
-              i32.const 128
-              i32.add
-              i32.const 16
-              i32.add
-              i64.load
-              i64.store
-              local.get 4
-              i32.const 64
-              i32.add
-              i32.const 8
-              i32.add
-              local.get 4
-              i32.const 128
-              i32.add
-              i32.const 8
-              i32.add
-              i64.load
-              i64.store
-              local.get 4
-              local.get 4
-              i64.load offset=128
-              i64.store offset=64
-              local.get 5
-              local.get 6
-              local.get 1
-              local.get 4
-              i32.const 8
-              i32.add
-              local.get 4
-              i32.const 64
-              i32.add
-              i32.const 0
-              call $_ZN5erc205erc205Erc208_approve17h53bfc76d7c1fe7cfE.llvm.12425491971175694154
-              local.get 5
-              local.get 6
-              local.get 1
-              local.get 2
-              local.get 3
-              call $_ZN5erc205erc205Erc209_transfer17h2686357d78aa1243E.llvm.12425491971175694154
-              local.get 4
-              i32.const 160
-              i32.add
-              global.set $__stack_pointer
-              i32.const 1
-              return
-            end
-            i32.const 1048736
-            call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-            unreachable
-          end
-          i32.const 1048845
-          i32.const 21
-          call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-          unreachable
-        end
-        i32.const 1048906
-        i32.const 20
-        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-        unreachable
-      end
-      i32.const 1048926
-      i32.const 31
-      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-      unreachable
-    end
-    i32.const 1048926
-    i32.const 31
-    call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-    unreachable)
-  (func $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h99129b72a1377b56E (type 6) (param i32 i32) (result i32)
-    (local i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 0
-        i32.load8_u offset=31
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=31
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        i32.const 1
-        local.set 4
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=30
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=30
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=29
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=29
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=28
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=28
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=27
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=27
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=26
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=26
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=25
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=25
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=24
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=24
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=23
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=23
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=22
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=22
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=21
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=21
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=20
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=20
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=19
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=19
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=18
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=18
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=17
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=17
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=16
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=16
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=15
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=15
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=14
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=14
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=13
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=13
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=12
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=12
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=11
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=11
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=10
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=10
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=9
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=9
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=8
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=8
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=7
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=7
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=6
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=6
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=5
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=5
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=4
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=4
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=3
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=3
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=2
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=2
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=1
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=1
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        i32.const 255
-        local.set 4
-        local.get 0
-        i32.load8_u
-        local.tee 0
-        local.get 1
-        i32.load8_u
-        local.tee 1
-        i32.lt_u
-        br_if 1 (;@1;)
-        local.get 0
-        local.get 1
-        i32.gt_u
-        return
-      end
-      i32.const 255
-      local.set 4
-    end
-    local.get 4)
-  (func $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE (type 6) (param i32 i32) (result i32)
-    (local i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 0
-        i32.load8_u offset=19
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=19
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        i32.const 1
-        local.set 4
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=18
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=18
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=17
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=17
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=16
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=16
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=15
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=15
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=14
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=14
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=13
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=13
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=12
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=12
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=11
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=11
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=10
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=10
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=9
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=9
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=8
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=8
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=7
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=7
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=6
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=6
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=5
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=5
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=4
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=4
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=3
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=3
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=2
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=2
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load8_u offset=1
-        local.tee 2
-        local.get 1
-        i32.load8_u offset=1
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 1 (;@1;)
-        i32.const 255
-        local.set 4
-        local.get 0
-        i32.load8_u
-        local.tee 0
-        local.get 1
-        i32.load8_u
-        local.tee 1
-        i32.lt_u
-        br_if 1 (;@1;)
-        local.get 0
-        local.get 1
-        i32.gt_u
-        return
-      end
-      i32.const 255
-      local.set 4
-    end
-    local.get 4)
-  (func $_ZN5erc205erc205Erc207_update17he4e974dae5007c46E.llvm.12425491971175694154 (type 7) (param i32 i32 i32 i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 240
-    i32.sub
-    local.tee 5
-    global.set $__stack_pointer
-    local.get 5
-    i32.const 152
-    i32.add
-    i32.const 0
-    i32.store
-    local.get 5
-    i32.const 136
-    i32.add
-    i32.const 8
-    i32.add
-    i64.const 0
-    i64.store
-    local.get 5
-    i64.const 0
-    i64.store offset=136
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                block  ;; label = @7
-                  block  ;; label = @8
-                    block  ;; label = @9
-                      block  ;; label = @10
-                        block  ;; label = @11
-                          block  ;; label = @12
-                            block  ;; label = @13
-                              block  ;; label = @14
-                                block  ;; label = @15
-                                  block  ;; label = @16
-                                    block  ;; label = @17
-                                      block  ;; label = @18
-                                        block  ;; label = @19
-                                          block  ;; label = @20
-                                            local.get 2
-                                            local.get 5
-                                            i32.const 136
-                                            i32.add
-                                            call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
-                                            i32.const 255
-                                            i32.and
-                                            i32.eqz
-                                            br_if 0 (;@20;)
-                                            local.get 5
-                                            i32.const 136
-                                            i32.add
-                                            local.get 0
-                                            local.get 1
-                                            local.get 2
-                                            call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
-                                            local.get 5
-                                            i32.load offset=136
-                                            local.tee 6
-                                            local.get 5
-                                            i32.load offset=140
-                                            local.tee 7
-                                            i32.load offset=8
-                                            local.tee 8
-                                            i32.const 4
-                                            local.get 8
-                                            i32.const 4
-                                            i32.gt_u
-                                            select
-                                            local.tee 9
-                                            i32.const -1
-                                            i32.add
-                                            i32.const -8
-                                            i32.and
-                                            i32.add
-                                            i32.const 8
-                                            i32.add
-                                            local.tee 10
-                                            i32.load
-                                            local.tee 11
-                                            i32.const 2147483646
-                                            i32.gt_u
-                                            br_if 3 (;@17;)
-                                            local.get 10
-                                            local.get 11
-                                            i32.const 1
-                                            i32.add
-                                            i32.store
-                                            local.get 10
-                                            local.get 8
-                                            i32.const -1
-                                            i32.add
-                                            local.tee 12
-                                            i32.const -4
-                                            i32.and
-                                            i32.add
-                                            i32.const 4
-                                            i32.add
-                                            local.tee 11
-                                            i32.eqz
-                                            br_if 3 (;@17;)
-                                            local.get 7
-                                            i32.const 28
-                                            i32.add
-                                            i32.load
-                                            local.set 13
-                                            local.get 5
-                                            i32.const 208
-                                            i32.add
-                                            i32.const 24
-                                            i32.add
-                                            local.get 5
-                                            i32.const 168
-                                            i32.add
-                                            i64.load align=4
-                                            i64.store
-                                            local.get 5
-                                            i32.const 208
-                                            i32.add
-                                            i32.const 16
-                                            i32.add
-                                            local.get 5
-                                            i32.const 136
-                                            i32.add
-                                            i32.const 24
-                                            i32.add
-                                            i64.load align=4
-                                            i64.store
-                                            local.get 5
-                                            i32.const 208
-                                            i32.add
-                                            i32.const 8
-                                            i32.add
-                                            local.get 5
-                                            i32.const 136
-                                            i32.add
-                                            i32.const 16
-                                            i32.add
-                                            i64.load align=4
-                                            i64.store
-                                            local.get 5
-                                            local.get 5
-                                            i64.load offset=144 align=4
-                                            i64.store offset=208
-                                            local.get 5
-                                            i32.const 32
-                                            i32.add
-                                            i32.const 24
-                                            i32.add
-                                            local.tee 14
-                                            i64.const 0
-                                            i64.store
-                                            local.get 5
-                                            i32.const 32
-                                            i32.add
-                                            i32.const 16
-                                            i32.add
-                                            local.tee 15
-                                            i64.const 0
-                                            i64.store
-                                            local.get 5
-                                            i32.const 32
-                                            i32.add
-                                            i32.const 8
-                                            i32.add
-                                            local.tee 16
-                                            i64.const 0
-                                            i64.store
-                                            local.get 5
-                                            i64.const 0
-                                            i64.store offset=32
-                                            local.get 11
-                                            local.get 5
-                                            i32.const 208
-                                            i32.add
-                                            local.get 5
-                                            i32.const 32
-                                            i32.add
-                                            local.get 13
-                                            call_indirect (type 0)
-                                            local.get 5
-                                            i32.const 24
-                                            i32.add
-                                            local.get 14
-                                            i64.load
-                                            i64.store
-                                            local.get 5
-                                            i32.const 16
-                                            i32.add
-                                            local.get 15
-                                            i64.load
-                                            i64.store
-                                            local.get 5
-                                            i32.const 8
-                                            i32.add
-                                            local.get 16
-                                            i64.load
-                                            i64.store
-                                            local.get 5
-                                            local.get 5
-                                            i64.load offset=32
-                                            i64.store
-                                            local.get 10
-                                            local.get 10
-                                            i32.load
-                                            i32.const -1
-                                            i32.add
-                                            i32.store
-                                            local.get 6
-                                            local.get 6
-                                            i32.load
-                                            i32.const -1
-                                            i32.add
-                                            local.tee 10
-                                            i32.store
-                                            block  ;; label = @21
-                                              local.get 10
-                                              br_if 0 (;@21;)
-                                              local.get 11
-                                              local.get 7
-                                              i32.load
-                                              call_indirect (type 1)
-                                              local.get 6
-                                              i32.const 4
-                                              i32.add
-                                              local.tee 10
-                                              local.get 10
-                                              i32.load
-                                              i32.const -1
-                                              i32.add
-                                              local.tee 10
-                                              i32.store
-                                              local.get 10
-                                              br_if 0 (;@21;)
-                                              local.get 9
-                                              local.get 9
-                                              local.get 7
-                                              i32.load offset=4
-                                              local.get 12
-                                              i32.add
-                                              i32.const 0
-                                              local.get 8
-                                              i32.sub
-                                              i32.and
-                                              i32.add
-                                              i32.const 3
-                                              i32.add
-                                              i32.const 0
-                                              local.get 9
-                                              i32.sub
-                                              local.tee 10
-                                              i32.and
-                                              i32.add
-                                              i32.const 7
-                                              i32.add
-                                              local.get 10
-                                              i32.and
-                                              local.tee 10
-                                              i32.eqz
-                                              br_if 0 (;@21;)
-                                              local.get 6
-                                              local.get 10
-                                              local.get 9
-                                              call $__rust_dealloc
-                                            end
-                                            local.get 4
-                                            local.get 5
-                                            call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h99129b72a1377b56E
-                                            i32.const -1
-                                            i32.add
-                                            i32.const 255
-                                            i32.and
-                                            i32.const 2
-                                            i32.ge_u
-                                            br_if 1 (;@19;)
-                                            i32.const 1048782
-                                            i32.const 20
-                                            call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-                                            unreachable
-                                          end
-                                          local.get 5
-                                          i32.const 32
-                                          i32.add
-                                          local.get 0
-                                          local.get 1
-                                          call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
-                                          local.get 5
-                                          i32.const 136
-                                          i32.add
-                                          local.get 0
-                                          local.get 1
-                                          call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
-                                          local.get 5
-                                          i32.load offset=136
-                                          local.tee 11
-                                          local.get 5
-                                          i32.load offset=140
-                                          local.tee 14
-                                          i32.load offset=8
-                                          local.tee 13
-                                          i32.const 4
-                                          local.get 13
-                                          i32.const 4
-                                          i32.gt_u
-                                          select
-                                          local.tee 9
-                                          i32.const -1
-                                          i32.add
-                                          i32.const -8
-                                          i32.and
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.tee 2
-                                          i32.load
-                                          local.tee 10
-                                          i32.const 2147483646
-                                          i32.gt_u
-                                          br_if 3 (;@16;)
-                                          local.get 2
-                                          local.get 10
-                                          i32.const 1
-                                          i32.add
-                                          i32.store
-                                          local.get 2
-                                          local.get 13
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 17
-                                          i32.const -4
-                                          i32.and
-                                          i32.add
-                                          i32.const 4
-                                          i32.add
-                                          local.tee 15
-                                          i32.eqz
-                                          br_if 3 (;@16;)
-                                          local.get 14
-                                          i32.const 28
-                                          i32.add
-                                          i32.load
-                                          local.set 7
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 5
-                                          i32.const 136
-                                          i32.add
-                                          i32.const 32
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 5
-                                          i32.const 136
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 5
-                                          i32.const 136
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=144 align=4
-                                          i64.store offset=176
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.tee 10
-                                          i64.const 0
-                                          i64.store
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.tee 6
-                                          i64.const 0
-                                          i64.store
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.tee 8
-                                          i64.const 0
-                                          i64.store
-                                          local.get 5
-                                          i64.const 0
-                                          i64.store offset=208
-                                          local.get 15
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          local.get 7
-                                          call_indirect (type 0)
-                                          local.get 5
-                                          i32.const 104
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 10
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 104
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 6
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 104
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 8
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=208
-                                          i64.store offset=104
-                                          local.get 2
-                                          local.get 2
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          i32.store
-                                          local.get 10
-                                          i64.const 0
-                                          i64.store
-                                          local.get 6
-                                          i64.const 0
-                                          i64.store
-                                          local.get 8
-                                          i64.const 0
-                                          i64.store
-                                          local.get 5
-                                          i64.const 0
-                                          i64.store offset=208
-                                          i32.const 0
-                                          local.set 10
-                                          i32.const -32
-                                          local.set 2
-                                          loop  ;; label = @20
-                                            local.get 5
-                                            i32.const 208
-                                            i32.add
-                                            local.get 2
-                                            i32.add
-                                            local.tee 6
-                                            i32.const 32
-                                            i32.add
-                                            local.get 10
-                                            local.get 5
-                                            i32.const 104
-                                            i32.add
-                                            local.get 2
-                                            i32.add
-                                            local.tee 8
-                                            i32.const 32
-                                            i32.add
-                                            i32.load8_u
-                                            i32.add
-                                            local.get 4
-                                            local.get 2
-                                            i32.add
-                                            local.tee 10
-                                            i32.const 32
-                                            i32.add
-                                            i32.load8_u
-                                            i32.add
-                                            local.tee 7
-                                            i32.store8
-                                            local.get 6
-                                            i32.const 33
-                                            i32.add
-                                            local.get 7
-                                            i32.const 65280
-                                            i32.and
-                                            i32.const 8
-                                            i32.shr_u
-                                            local.get 8
-                                            i32.const 33
-                                            i32.add
-                                            i32.load8_u
-                                            i32.add
-                                            local.get 10
-                                            i32.const 33
-                                            i32.add
-                                            i32.load8_u
-                                            i32.add
-                                            local.tee 6
-                                            i32.store8
-                                            local.get 6
-                                            i32.const 8
-                                            i32.shr_u
-                                            local.set 10
-                                            local.get 2
-                                            i32.const 2
-                                            i32.add
-                                            local.tee 2
-                                            br_if 0 (;@20;)
-                                          end
-                                          local.get 6
-                                          i32.const 256
-                                          i32.ge_u
-                                          br_if 4 (;@15;)
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=208
-                                          i64.store offset=72
-                                          local.get 5
-                                          i32.load offset=32
-                                          local.tee 10
-                                          local.get 5
-                                          i32.load offset=36
-                                          local.tee 8
-                                          i32.load offset=8
-                                          local.tee 6
-                                          i32.const 4
-                                          local.get 6
-                                          i32.const 4
-                                          i32.gt_u
-                                          select
-                                          local.tee 12
-                                          i32.const -1
-                                          i32.add
-                                          i32.const -8
-                                          i32.and
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.tee 2
-                                          i32.load
-                                          br_if 5 (;@14;)
-                                          local.get 2
-                                          i32.const -1
-                                          i32.store
-                                          local.get 2
-                                          local.get 6
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 18
-                                          i32.const -4
-                                          i32.and
-                                          i32.add
-                                          i32.const 4
-                                          i32.add
-                                          local.tee 7
-                                          i32.eqz
-                                          br_if 5 (;@14;)
-                                          local.get 8
-                                          i32.const 32
-                                          i32.add
-                                          i32.load
-                                          local.set 16
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 5
-                                          i32.const 32
-                                          i32.add
-                                          i32.const 32
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 5
-                                          i32.const 32
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 5
-                                          i32.const 32
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=40 align=4
-                                          i64.store offset=176
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=72
-                                          i64.store offset=208
-                                          local.get 7
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          local.get 16
-                                          call_indirect (type 0)
-                                          local.get 2
-                                          local.get 2
-                                          i32.load
-                                          i32.const 1
-                                          i32.add
-                                          i32.store
-                                          local.get 11
-                                          local.get 11
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 2
-                                          i32.store
-                                          block  ;; label = @20
-                                            local.get 2
-                                            br_if 0 (;@20;)
-                                            local.get 15
-                                            local.get 14
-                                            i32.load
-                                            call_indirect (type 1)
-                                            local.get 11
-                                            i32.const 4
-                                            i32.add
-                                            local.tee 2
-                                            local.get 2
-                                            i32.load
-                                            i32.const -1
-                                            i32.add
-                                            local.tee 2
-                                            i32.store
-                                            local.get 2
-                                            br_if 0 (;@20;)
-                                            local.get 9
-                                            local.get 9
-                                            local.get 14
-                                            i32.load offset=4
-                                            local.get 17
-                                            i32.add
-                                            i32.const 0
-                                            local.get 13
-                                            i32.sub
-                                            i32.and
-                                            i32.add
-                                            i32.const 3
-                                            i32.add
-                                            i32.const 0
-                                            local.get 9
-                                            i32.sub
-                                            local.tee 2
-                                            i32.and
-                                            i32.add
-                                            i32.const 7
-                                            i32.add
-                                            local.get 2
-                                            i32.and
-                                            local.tee 2
-                                            i32.eqz
-                                            br_if 0 (;@20;)
-                                            local.get 11
-                                            local.get 2
-                                            local.get 9
-                                            call $__rust_dealloc
-                                          end
-                                          local.get 10
-                                          local.get 10
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 2
-                                          i32.store
-                                          local.get 2
-                                          br_if 1 (;@18;)
-                                          local.get 7
-                                          local.get 8
-                                          i32.load
-                                          call_indirect (type 1)
-                                          local.get 10
-                                          i32.const 4
-                                          i32.add
-                                          local.tee 2
-                                          local.get 2
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 2
-                                          i32.store
-                                          local.get 2
-                                          br_if 1 (;@18;)
-                                          local.get 12
-                                          local.get 12
-                                          local.get 8
-                                          i32.load offset=4
-                                          local.get 18
-                                          i32.add
-                                          i32.const 0
-                                          local.get 6
-                                          i32.sub
-                                          i32.and
-                                          i32.add
-                                          i32.const 3
-                                          i32.add
-                                          i32.const 0
-                                          local.get 12
-                                          i32.sub
-                                          local.tee 2
-                                          i32.and
-                                          i32.add
-                                          i32.const 7
-                                          i32.add
-                                          local.get 2
-                                          i32.and
-                                          local.tee 2
-                                          i32.eqz
-                                          br_if 1 (;@18;)
-                                          local.get 10
-                                          local.get 2
-                                          local.get 12
-                                          call $__rust_dealloc
-                                          br 1 (;@18;)
-                                        end
-                                        local.get 5
-                                        i32.const 32
-                                        i32.add
-                                        local.get 0
-                                        local.get 1
-                                        local.get 2
-                                        call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
-                                        local.get 5
-                                        i32.const 136
-                                        i32.add
-                                        local.get 0
-                                        local.get 1
-                                        local.get 2
-                                        call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
-                                        local.get 5
-                                        i32.load offset=136
-                                        local.tee 13
-                                        local.get 5
-                                        i32.load offset=140
-                                        local.tee 15
-                                        i32.load offset=8
-                                        local.tee 14
-                                        i32.const 4
-                                        local.get 14
-                                        i32.const 4
-                                        i32.gt_u
-                                        select
-                                        local.tee 9
-                                        i32.const -1
-                                        i32.add
-                                        i32.const -8
-                                        i32.and
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.tee 2
-                                        i32.load
-                                        local.tee 10
-                                        i32.const 2147483646
-                                        i32.gt_u
-                                        br_if 5 (;@13;)
-                                        local.get 2
-                                        local.get 10
-                                        i32.const 1
-                                        i32.add
-                                        i32.store
-                                        local.get 2
-                                        local.get 14
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 17
-                                        i32.const -4
-                                        i32.and
-                                        i32.add
-                                        i32.const 4
-                                        i32.add
-                                        local.tee 16
-                                        i32.eqz
-                                        br_if 5 (;@13;)
-                                        local.get 15
-                                        i32.const 28
-                                        i32.add
-                                        i32.load
-                                        local.set 7
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 5
-                                        i32.const 136
-                                        i32.add
-                                        i32.const 32
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 5
-                                        i32.const 136
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 5
-                                        i32.const 136
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=144 align=4
-                                        i64.store offset=176
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.tee 10
-                                        i64.const 0
-                                        i64.store
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.tee 6
-                                        i64.const 0
-                                        i64.store
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.tee 8
-                                        i64.const 0
-                                        i64.store
-                                        local.get 5
-                                        i64.const 0
-                                        i64.store offset=208
-                                        local.get 16
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        local.get 7
-                                        call_indirect (type 0)
-                                        local.get 5
-                                        i32.const 104
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 10
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 104
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 6
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 104
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 8
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=208
-                                        i64.store offset=104
-                                        local.get 2
-                                        local.get 2
-                                        i32.load
-                                        i32.const -1
-                                        i32.add
-                                        i32.store
-                                        local.get 10
-                                        i64.const 0
-                                        i64.store
-                                        local.get 6
-                                        i64.const 0
-                                        i64.store
-                                        local.get 8
-                                        i64.const 0
-                                        i64.store
-                                        local.get 5
-                                        i64.const 0
-                                        i64.store offset=208
-                                        i32.const 0
-                                        local.set 6
-                                        i32.const 0
-                                        local.set 2
-                                        loop  ;; label = @19
-                                          local.get 5
-                                          i32.const 104
-                                          i32.add
-                                          local.get 2
-                                          i32.add
-                                          i32.load8_u
-                                          local.tee 10
-                                          i32.const 256
-                                          i32.or
-                                          local.get 10
-                                          local.get 6
-                                          local.get 4
-                                          local.get 2
-                                          i32.add
-                                          i32.load8_u
-                                          i32.add
-                                          local.tee 8
-                                          i32.const 65535
-                                          i32.and
-                                          local.tee 7
-                                          local.get 10
-                                          i32.gt_u
-                                          local.tee 6
-                                          select
-                                          local.tee 11
-                                          local.get 7
-                                          i32.lt_u
-                                          br_if 8 (;@11;)
-                                          local.get 11
-                                          local.get 8
-                                          i32.sub
-                                          local.tee 7
-                                          i32.const 65535
-                                          i32.and
-                                          i32.const 256
-                                          i32.ge_u
-                                          br_if 9 (;@10;)
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          local.get 2
-                                          i32.add
-                                          local.get 7
-                                          i32.store8
-                                          local.get 2
-                                          i32.const 1
-                                          i32.add
-                                          local.tee 7
-                                          local.set 2
-                                          local.get 7
-                                          i32.const 32
-                                          i32.ne
-                                          br_if 0 (;@19;)
-                                        end
-                                        local.get 8
-                                        i32.const 65535
-                                        i32.and
-                                        local.get 10
-                                        i32.gt_u
-                                        br_if 6 (;@12;)
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=208
-                                        i64.store offset=72
-                                        local.get 5
-                                        i32.load offset=32
-                                        local.tee 10
-                                        local.get 5
-                                        i32.load offset=36
-                                        local.tee 8
-                                        i32.load offset=8
-                                        local.tee 6
-                                        i32.const 4
-                                        local.get 6
-                                        i32.const 4
-                                        i32.gt_u
-                                        select
-                                        local.tee 12
-                                        i32.const -1
-                                        i32.add
-                                        i32.const -8
-                                        i32.and
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.tee 2
-                                        i32.load
-                                        br_if 9 (;@9;)
-                                        local.get 2
-                                        i32.const -1
-                                        i32.store
-                                        local.get 2
-                                        local.get 6
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 18
-                                        i32.const -4
-                                        i32.and
-                                        i32.add
-                                        i32.const 4
-                                        i32.add
-                                        local.tee 7
-                                        i32.eqz
-                                        br_if 9 (;@9;)
-                                        local.get 8
-                                        i32.const 32
-                                        i32.add
-                                        i32.load
-                                        local.set 11
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 5
-                                        i32.const 32
-                                        i32.add
-                                        i32.const 32
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 5
-                                        i32.const 32
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 5
-                                        i32.const 32
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=40 align=4
-                                        i64.store offset=176
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=72
-                                        i64.store offset=208
-                                        local.get 7
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        local.get 11
-                                        call_indirect (type 0)
-                                        local.get 2
-                                        local.get 2
-                                        i32.load
-                                        i32.const 1
-                                        i32.add
-                                        i32.store
-                                        local.get 13
-                                        local.get 13
-                                        i32.load
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 2
-                                        i32.store
-                                        block  ;; label = @19
-                                          local.get 2
-                                          br_if 0 (;@19;)
-                                          local.get 16
-                                          local.get 15
-                                          i32.load
-                                          call_indirect (type 1)
-                                          local.get 13
-                                          i32.const 4
-                                          i32.add
-                                          local.tee 2
-                                          local.get 2
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 2
-                                          i32.store
-                                          local.get 2
-                                          br_if 0 (;@19;)
-                                          local.get 9
-                                          local.get 9
-                                          local.get 15
-                                          i32.load offset=4
-                                          local.get 17
-                                          i32.add
-                                          i32.const 0
-                                          local.get 14
-                                          i32.sub
-                                          i32.and
-                                          i32.add
-                                          i32.const 3
-                                          i32.add
-                                          i32.const 0
-                                          local.get 9
-                                          i32.sub
-                                          local.tee 2
-                                          i32.and
-                                          i32.add
-                                          i32.const 7
-                                          i32.add
-                                          local.get 2
-                                          i32.and
-                                          local.tee 2
-                                          i32.eqz
-                                          br_if 0 (;@19;)
-                                          local.get 13
-                                          local.get 2
-                                          local.get 9
-                                          call $__rust_dealloc
-                                        end
-                                        local.get 10
-                                        local.get 10
-                                        i32.load
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 2
-                                        i32.store
-                                        local.get 2
-                                        br_if 0 (;@18;)
-                                        local.get 7
-                                        local.get 8
-                                        i32.load
-                                        call_indirect (type 1)
-                                        local.get 10
-                                        i32.const 4
-                                        i32.add
-                                        local.tee 2
-                                        local.get 2
-                                        i32.load
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 2
-                                        i32.store
-                                        local.get 2
-                                        br_if 0 (;@18;)
-                                        local.get 12
-                                        local.get 12
-                                        local.get 8
-                                        i32.load offset=4
-                                        local.get 18
-                                        i32.add
-                                        i32.const 0
-                                        local.get 6
-                                        i32.sub
-                                        i32.and
-                                        i32.add
-                                        i32.const 3
-                                        i32.add
-                                        i32.const 0
-                                        local.get 12
-                                        i32.sub
-                                        local.tee 2
-                                        i32.and
-                                        i32.add
-                                        i32.const 7
-                                        i32.add
-                                        local.get 2
-                                        i32.and
-                                        local.tee 2
-                                        i32.eqz
-                                        br_if 0 (;@18;)
-                                        local.get 10
-                                        local.get 2
-                                        local.get 12
-                                        call $__rust_dealloc
-                                      end
-                                      local.get 5
-                                      i32.const 152
-                                      i32.add
-                                      i32.const 0
-                                      i32.store
-                                      local.get 5
-                                      i32.const 136
-                                      i32.add
-                                      i32.const 8
-                                      i32.add
-                                      i64.const 0
-                                      i64.store
-                                      local.get 5
-                                      i64.const 0
-                                      i64.store offset=136
-                                      block  ;; label = @18
-                                        block  ;; label = @19
-                                          local.get 3
-                                          local.get 5
-                                          i32.const 136
-                                          i32.add
-                                          call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
-                                          i32.const 255
-                                          i32.and
-                                          i32.eqz
-                                          br_if 0 (;@19;)
-                                          local.get 5
-                                          i32.const 32
-                                          i32.add
-                                          local.get 0
-                                          local.get 1
-                                          local.get 3
-                                          call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
-                                          local.get 5
-                                          i32.const 136
-                                          i32.add
-                                          local.get 0
-                                          local.get 1
-                                          local.get 3
-                                          call $_ZN5erc205erc205Erc2010s_balances17hea469c0e6047b92cE.llvm.12425491971175694154
-                                          local.get 5
-                                          i32.load offset=136
-                                          local.tee 11
-                                          local.get 5
-                                          i32.load offset=140
-                                          local.tee 0
-                                          i32.load offset=8
-                                          local.tee 1
-                                          i32.const 4
-                                          local.get 1
-                                          i32.const 4
-                                          i32.gt_u
-                                          select
-                                          local.tee 13
-                                          i32.const -1
-                                          i32.add
-                                          i32.const -8
-                                          i32.and
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.tee 2
-                                          i32.load
-                                          local.tee 10
-                                          i32.const 2147483646
-                                          i32.gt_u
-                                          br_if 11 (;@8;)
-                                          local.get 2
-                                          local.get 10
-                                          i32.const 1
-                                          i32.add
-                                          i32.store
-                                          local.get 2
-                                          local.get 1
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 15
-                                          i32.const -4
-                                          i32.and
-                                          i32.add
-                                          i32.const 4
-                                          i32.add
-                                          local.tee 3
-                                          i32.eqz
-                                          br_if 11 (;@8;)
-                                          local.get 0
-                                          i32.const 28
-                                          i32.add
-                                          i32.load
-                                          local.set 7
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 5
-                                          i32.const 136
-                                          i32.add
-                                          i32.const 32
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 5
-                                          i32.const 136
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 5
-                                          i32.const 136
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=144 align=4
-                                          i64.store offset=176
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.tee 10
-                                          i64.const 0
-                                          i64.store
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.tee 6
-                                          i64.const 0
-                                          i64.store
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.tee 8
-                                          i64.const 0
-                                          i64.store
-                                          local.get 5
-                                          i64.const 0
-                                          i64.store offset=208
-                                          local.get 3
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          local.get 7
-                                          call_indirect (type 0)
-                                          local.get 5
-                                          i32.const 104
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 10
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 104
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 6
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 104
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 8
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=208
-                                          i64.store offset=104
-                                          local.get 2
-                                          local.get 2
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          i32.store
-                                          local.get 10
-                                          i64.const 0
-                                          i64.store
-                                          local.get 6
-                                          i64.const 0
-                                          i64.store
-                                          local.get 8
-                                          i64.const 0
-                                          i64.store
-                                          local.get 5
-                                          i64.const 0
-                                          i64.store offset=208
-                                          i32.const 0
-                                          local.set 10
-                                          i32.const -32
-                                          local.set 2
-                                          loop  ;; label = @20
-                                            local.get 5
-                                            i32.const 208
-                                            i32.add
-                                            local.get 2
-                                            i32.add
-                                            local.tee 6
-                                            i32.const 32
-                                            i32.add
-                                            local.get 10
-                                            local.get 5
-                                            i32.const 104
-                                            i32.add
-                                            local.get 2
-                                            i32.add
-                                            local.tee 8
-                                            i32.const 32
-                                            i32.add
-                                            i32.load8_u
-                                            i32.add
-                                            local.get 4
-                                            local.get 2
-                                            i32.add
-                                            local.tee 10
-                                            i32.const 32
-                                            i32.add
-                                            i32.load8_u
-                                            i32.add
-                                            local.tee 7
-                                            i32.store8
-                                            local.get 6
-                                            i32.const 33
-                                            i32.add
-                                            local.get 7
-                                            i32.const 65280
-                                            i32.and
-                                            i32.const 8
-                                            i32.shr_u
-                                            local.get 8
-                                            i32.const 33
-                                            i32.add
-                                            i32.load8_u
-                                            i32.add
-                                            local.get 10
-                                            i32.const 33
-                                            i32.add
-                                            i32.load8_u
-                                            i32.add
-                                            local.tee 6
-                                            i32.store8
-                                            local.get 6
-                                            i32.const 8
-                                            i32.shr_u
-                                            local.set 10
-                                            local.get 2
-                                            i32.const 2
-                                            i32.add
-                                            local.tee 2
-                                            br_if 0 (;@20;)
-                                          end
-                                          local.get 6
-                                          i32.const 256
-                                          i32.ge_u
-                                          br_if 12 (;@7;)
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=208
-                                          i64.store offset=72
-                                          local.get 5
-                                          i32.load offset=32
-                                          local.tee 4
-                                          local.get 5
-                                          i32.load offset=36
-                                          local.tee 6
-                                          i32.load offset=8
-                                          local.tee 10
-                                          i32.const 4
-                                          local.get 10
-                                          i32.const 4
-                                          i32.gt_u
-                                          select
-                                          local.tee 14
-                                          i32.const -1
-                                          i32.add
-                                          i32.const -8
-                                          i32.and
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.tee 2
-                                          i32.load
-                                          br_if 13 (;@6;)
-                                          local.get 2
-                                          i32.const -1
-                                          i32.store
-                                          local.get 2
-                                          local.get 10
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 16
-                                          i32.const -4
-                                          i32.and
-                                          i32.add
-                                          i32.const 4
-                                          i32.add
-                                          local.tee 8
-                                          i32.eqz
-                                          br_if 13 (;@6;)
-                                          local.get 6
-                                          i32.const 32
-                                          i32.add
-                                          i32.load
-                                          local.set 7
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 5
-                                          i32.const 32
-                                          i32.add
-                                          i32.const 32
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 5
-                                          i32.const 32
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 5
-                                          i32.const 32
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          i64.load align=4
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=40 align=4
-                                          i64.store offset=176
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 24
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 16
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          local.get 5
-                                          i32.const 72
-                                          i32.add
-                                          i32.const 8
-                                          i32.add
-                                          i64.load
-                                          i64.store
-                                          local.get 5
-                                          local.get 5
-                                          i64.load offset=72
-                                          i64.store offset=208
-                                          local.get 8
-                                          local.get 5
-                                          i32.const 176
-                                          i32.add
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          local.get 7
-                                          call_indirect (type 0)
-                                          local.get 2
-                                          local.get 2
-                                          i32.load
-                                          i32.const 1
-                                          i32.add
-                                          i32.store
-                                          local.get 11
-                                          local.get 11
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 2
-                                          i32.store
-                                          block  ;; label = @20
-                                            local.get 2
-                                            br_if 0 (;@20;)
-                                            local.get 3
-                                            local.get 0
-                                            i32.load
-                                            call_indirect (type 1)
-                                            local.get 11
-                                            i32.const 4
-                                            i32.add
-                                            local.tee 2
-                                            local.get 2
-                                            i32.load
-                                            i32.const -1
-                                            i32.add
-                                            local.tee 2
-                                            i32.store
-                                            local.get 2
-                                            br_if 0 (;@20;)
-                                            local.get 13
-                                            local.get 13
-                                            local.get 0
-                                            i32.load offset=4
-                                            local.get 15
-                                            i32.add
-                                            i32.const 0
-                                            local.get 1
-                                            i32.sub
-                                            i32.and
-                                            i32.add
-                                            i32.const 3
-                                            i32.add
-                                            i32.const 0
-                                            local.get 13
-                                            i32.sub
-                                            local.tee 2
-                                            i32.and
-                                            i32.add
-                                            i32.const 7
-                                            i32.add
-                                            local.get 2
-                                            i32.and
-                                            local.tee 2
-                                            i32.eqz
-                                            br_if 0 (;@20;)
-                                            local.get 11
-                                            local.get 2
-                                            local.get 13
-                                            call $__rust_dealloc
-                                          end
-                                          local.get 4
-                                          local.get 4
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 2
-                                          i32.store
-                                          local.get 2
-                                          br_if 1 (;@18;)
-                                          local.get 8
-                                          local.get 6
-                                          i32.load
-                                          call_indirect (type 1)
-                                          local.get 4
-                                          i32.const 4
-                                          i32.add
-                                          local.tee 2
-                                          local.get 2
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 2
-                                          i32.store
-                                          local.get 2
-                                          br_if 1 (;@18;)
-                                          local.get 14
-                                          local.get 14
-                                          local.get 6
-                                          i32.load offset=4
-                                          local.get 16
-                                          i32.add
-                                          i32.const 0
-                                          local.get 10
-                                          i32.sub
-                                          i32.and
-                                          i32.add
-                                          i32.const 3
-                                          i32.add
-                                          i32.const 0
-                                          local.get 14
-                                          i32.sub
-                                          local.tee 2
-                                          i32.and
-                                          i32.add
-                                          i32.const 7
-                                          i32.add
-                                          local.get 2
-                                          i32.and
-                                          local.tee 2
-                                          i32.eqz
-                                          br_if 1 (;@18;)
-                                          local.get 4
-                                          local.get 2
-                                          local.get 14
-                                          call $__rust_dealloc
-                                          br 1 (;@18;)
-                                        end
-                                        local.get 5
-                                        i32.const 32
-                                        i32.add
-                                        local.get 0
-                                        local.get 1
-                                        call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
-                                        local.get 5
-                                        i32.const 136
-                                        i32.add
-                                        local.get 0
-                                        local.get 1
-                                        call $_ZN5erc205erc205Erc2014s_total_supply17h44fc1020c977cc50E.llvm.12425491971175694154
-                                        local.get 5
-                                        i32.load offset=136
-                                        local.tee 1
-                                        local.get 5
-                                        i32.load offset=140
-                                        local.tee 3
-                                        i32.load offset=8
-                                        local.tee 0
-                                        i32.const 4
-                                        local.get 0
-                                        i32.const 4
-                                        i32.gt_u
-                                        select
-                                        local.tee 14
-                                        i32.const -1
-                                        i32.add
-                                        i32.const -8
-                                        i32.and
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.tee 2
-                                        i32.load
-                                        local.tee 10
-                                        i32.const 2147483646
-                                        i32.gt_u
-                                        br_if 13 (;@5;)
-                                        local.get 2
-                                        local.get 10
-                                        i32.const 1
-                                        i32.add
-                                        i32.store
-                                        local.get 2
-                                        local.get 0
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 15
-                                        i32.const -4
-                                        i32.and
-                                        i32.add
-                                        i32.const 4
-                                        i32.add
-                                        local.tee 13
-                                        i32.eqz
-                                        br_if 13 (;@5;)
-                                        local.get 3
-                                        i32.const 28
-                                        i32.add
-                                        i32.load
-                                        local.set 7
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 5
-                                        i32.const 136
-                                        i32.add
-                                        i32.const 32
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 5
-                                        i32.const 136
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 5
-                                        i32.const 136
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=144 align=4
-                                        i64.store offset=176
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.tee 10
-                                        i64.const 0
-                                        i64.store
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.tee 6
-                                        i64.const 0
-                                        i64.store
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.tee 8
-                                        i64.const 0
-                                        i64.store
-                                        local.get 5
-                                        i64.const 0
-                                        i64.store offset=208
-                                        local.get 13
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        local.get 7
-                                        call_indirect (type 0)
-                                        local.get 5
-                                        i32.const 104
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 10
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 104
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 6
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 104
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 8
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=208
-                                        i64.store offset=104
-                                        local.get 2
-                                        local.get 2
-                                        i32.load
-                                        i32.const -1
-                                        i32.add
-                                        i32.store
-                                        local.get 10
-                                        i64.const 0
-                                        i64.store
-                                        local.get 6
-                                        i64.const 0
-                                        i64.store
-                                        local.get 8
-                                        i64.const 0
-                                        i64.store
-                                        local.get 5
-                                        i64.const 0
-                                        i64.store offset=208
-                                        i32.const 0
-                                        local.set 6
-                                        i32.const 0
-                                        local.set 2
-                                        loop  ;; label = @19
-                                          local.get 5
-                                          i32.const 104
-                                          i32.add
-                                          local.get 2
-                                          i32.add
-                                          i32.load8_u
-                                          local.tee 10
-                                          i32.const 256
-                                          i32.or
-                                          local.get 10
-                                          local.get 6
-                                          local.get 4
-                                          local.get 2
-                                          i32.add
-                                          i32.load8_u
-                                          i32.add
-                                          local.tee 8
-                                          i32.const 65535
-                                          i32.and
-                                          local.tee 7
-                                          local.get 10
-                                          i32.gt_u
-                                          local.tee 6
-                                          select
-                                          local.tee 11
-                                          local.get 7
-                                          i32.lt_u
-                                          br_if 16 (;@3;)
-                                          local.get 11
-                                          local.get 8
-                                          i32.sub
-                                          local.tee 7
-                                          i32.const 65535
-                                          i32.and
-                                          i32.const 256
-                                          i32.ge_u
-                                          br_if 17 (;@2;)
-                                          local.get 5
-                                          i32.const 208
-                                          i32.add
-                                          local.get 2
-                                          i32.add
-                                          local.get 7
-                                          i32.store8
-                                          local.get 2
-                                          i32.const 1
-                                          i32.add
-                                          local.tee 7
-                                          local.set 2
-                                          local.get 7
-                                          i32.const 32
-                                          i32.ne
-                                          br_if 0 (;@19;)
-                                        end
-                                        local.get 8
-                                        i32.const 65535
-                                        i32.and
-                                        local.get 10
-                                        i32.gt_u
-                                        br_if 14 (;@4;)
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=208
-                                        i64.store offset=72
-                                        local.get 5
-                                        i32.load offset=32
-                                        local.tee 4
-                                        local.get 5
-                                        i32.load offset=36
-                                        local.tee 6
-                                        i32.load offset=8
-                                        local.tee 10
-                                        i32.const 4
-                                        local.get 10
-                                        i32.const 4
-                                        i32.gt_u
-                                        select
-                                        local.tee 11
-                                        i32.const -1
-                                        i32.add
-                                        i32.const -8
-                                        i32.and
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.tee 2
-                                        i32.load
-                                        br_if 17 (;@1;)
-                                        local.get 2
-                                        i32.const -1
-                                        i32.store
-                                        local.get 2
-                                        local.get 10
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 16
-                                        i32.const -4
-                                        i32.and
-                                        i32.add
-                                        i32.const 4
-                                        i32.add
-                                        local.tee 8
-                                        i32.eqz
-                                        br_if 17 (;@1;)
-                                        local.get 6
-                                        i32.const 32
-                                        i32.add
-                                        i32.load
-                                        local.set 7
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 5
-                                        i32.const 32
-                                        i32.add
-                                        i32.const 32
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 5
-                                        i32.const 32
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 5
-                                        i32.const 32
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        i64.load align=4
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=40 align=4
-                                        i64.store offset=176
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 24
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 16
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        local.get 5
-                                        i32.const 72
-                                        i32.add
-                                        i32.const 8
-                                        i32.add
-                                        i64.load
-                                        i64.store
-                                        local.get 5
-                                        local.get 5
-                                        i64.load offset=72
-                                        i64.store offset=208
-                                        local.get 8
-                                        local.get 5
-                                        i32.const 176
-                                        i32.add
-                                        local.get 5
-                                        i32.const 208
-                                        i32.add
-                                        local.get 7
-                                        call_indirect (type 0)
-                                        local.get 2
-                                        local.get 2
-                                        i32.load
-                                        i32.const 1
-                                        i32.add
-                                        i32.store
-                                        local.get 1
-                                        local.get 1
-                                        i32.load
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 2
-                                        i32.store
-                                        block  ;; label = @19
-                                          local.get 2
-                                          br_if 0 (;@19;)
-                                          local.get 13
-                                          local.get 3
-                                          i32.load
-                                          call_indirect (type 1)
-                                          local.get 1
-                                          i32.const 4
-                                          i32.add
-                                          local.tee 2
-                                          local.get 2
-                                          i32.load
-                                          i32.const -1
-                                          i32.add
-                                          local.tee 2
-                                          i32.store
-                                          local.get 2
-                                          br_if 0 (;@19;)
-                                          local.get 14
-                                          local.get 14
-                                          local.get 3
-                                          i32.load offset=4
-                                          local.get 15
-                                          i32.add
-                                          i32.const 0
-                                          local.get 0
-                                          i32.sub
-                                          i32.and
-                                          i32.add
-                                          i32.const 3
-                                          i32.add
-                                          i32.const 0
-                                          local.get 14
-                                          i32.sub
-                                          local.tee 2
-                                          i32.and
-                                          i32.add
-                                          i32.const 7
-                                          i32.add
-                                          local.get 2
-                                          i32.and
-                                          local.tee 2
-                                          i32.eqz
-                                          br_if 0 (;@19;)
-                                          local.get 1
-                                          local.get 2
-                                          local.get 14
-                                          call $__rust_dealloc
-                                        end
-                                        local.get 4
-                                        local.get 4
-                                        i32.load
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 2
-                                        i32.store
-                                        local.get 2
-                                        br_if 0 (;@18;)
-                                        local.get 8
-                                        local.get 6
-                                        i32.load
-                                        call_indirect (type 1)
-                                        local.get 4
-                                        i32.const 4
-                                        i32.add
-                                        local.tee 2
-                                        local.get 2
-                                        i32.load
-                                        i32.const -1
-                                        i32.add
-                                        local.tee 2
-                                        i32.store
-                                        local.get 2
-                                        br_if 0 (;@18;)
-                                        local.get 11
-                                        local.get 11
-                                        local.get 6
-                                        i32.load offset=4
-                                        local.get 16
-                                        i32.add
-                                        i32.const 0
-                                        local.get 10
-                                        i32.sub
-                                        i32.and
-                                        i32.add
-                                        i32.const 3
-                                        i32.add
-                                        i32.const 0
-                                        local.get 11
-                                        i32.sub
-                                        local.tee 2
-                                        i32.and
-                                        i32.add
-                                        i32.const 7
-                                        i32.add
-                                        local.get 2
-                                        i32.and
-                                        local.tee 2
-                                        i32.eqz
-                                        br_if 0 (;@18;)
-                                        local.get 4
-                                        local.get 2
-                                        local.get 11
-                                        call $__rust_dealloc
-                                      end
-                                      local.get 5
-                                      i32.const 240
-                                      i32.add
-                                      global.set $__stack_pointer
-                                      return
-                                    end
-                                    i32.const 1050168
-                                    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                                    unreachable
-                                  end
-                                  i32.const 1050168
-                                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                                  unreachable
-                                end
-                                i32.const 1048889
-                                i32.const 17
-                                call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-                                unreachable
-                              end
-                              i32.const 1050152
-                              call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-                              unreachable
-                            end
-                            i32.const 1050168
-                            call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                            unreachable
-                          end
-                          i32.const 1048906
-                          i32.const 20
-                          call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-                          unreachable
-                        end
-                        i32.const 1048926
-                        i32.const 31
-                        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-                        unreachable
-                      end
-                      i32.const 1048926
-                      i32.const 31
-                      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-                      unreachable
-                    end
-                    i32.const 1050152
-                    call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-                    unreachable
-                  end
-                  i32.const 1050168
-                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                  unreachable
-                end
-                i32.const 1048889
-                i32.const 17
-                call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-                unreachable
-              end
-              i32.const 1050152
-              call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-              unreachable
-            end
-            i32.const 1050168
-            call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-            unreachable
-          end
-          i32.const 1048906
-          i32.const 20
-          call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-          unreachable
-        end
-        i32.const 1048926
-        i32.const 31
-        call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-        unreachable
-      end
-      i32.const 1048926
-      i32.const 31
-      call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-      unreachable
-    end
-    i32.const 1050152
-    call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-    unreachable)
-  (func $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E (type 4) (param i32 i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    local.get 1
-    i32.load8_u offset=31
-    i32.store8
-    local.get 2
-    local.get 1
-    i32.load8_u offset=30
-    i32.store8 offset=1
-    local.get 2
-    local.get 1
-    i32.load8_u offset=29
-    i32.store8 offset=2
-    local.get 2
-    local.get 1
-    i32.load8_u offset=28
-    i32.store8 offset=3
-    local.get 2
-    local.get 1
-    i32.load8_u offset=27
-    i32.store8 offset=4
-    local.get 2
-    local.get 1
-    i32.load8_u offset=26
-    i32.store8 offset=5
-    local.get 2
-    local.get 1
-    i32.load8_u offset=25
-    i32.store8 offset=6
-    local.get 2
-    local.get 1
-    i32.load8_u offset=24
-    i32.store8 offset=7
-    local.get 2
-    local.get 1
-    i32.load8_u offset=23
-    i32.store8 offset=8
-    local.get 2
-    local.get 1
-    i32.load8_u offset=22
-    i32.store8 offset=9
-    local.get 2
-    local.get 1
-    i32.load8_u offset=21
-    i32.store8 offset=10
-    local.get 2
-    local.get 1
-    i32.load8_u offset=20
-    i32.store8 offset=11
-    local.get 2
-    local.get 1
-    i32.load8_u offset=19
-    i32.store8 offset=12
-    local.get 2
-    local.get 1
-    i32.load8_u offset=18
-    i32.store8 offset=13
-    local.get 2
-    local.get 1
-    i32.load8_u offset=17
-    i32.store8 offset=14
-    local.get 2
-    local.get 1
-    i32.load8_u offset=16
-    i32.store8 offset=15
-    local.get 2
-    local.get 1
-    i32.load8_u offset=15
-    i32.store8 offset=16
-    local.get 2
-    local.get 1
-    i32.load8_u offset=14
-    i32.store8 offset=17
-    local.get 2
-    local.get 1
-    i32.load8_u offset=13
-    i32.store8 offset=18
-    local.get 2
-    local.get 1
-    i32.load8_u offset=12
-    i32.store8 offset=19
-    local.get 2
-    local.get 1
-    i32.load8_u offset=11
-    i32.store8 offset=20
-    local.get 2
-    local.get 1
-    i32.load8_u offset=10
-    i32.store8 offset=21
-    local.get 2
-    local.get 1
-    i32.load8_u offset=9
-    i32.store8 offset=22
-    local.get 2
-    local.get 1
-    i32.load8_u offset=8
-    i32.store8 offset=23
-    local.get 2
-    local.get 1
-    i32.load8_u offset=7
-    i32.store8 offset=24
-    local.get 2
-    local.get 1
-    i32.load8_u offset=6
-    i32.store8 offset=25
-    local.get 2
-    local.get 1
-    i32.load8_u offset=5
-    i32.store8 offset=26
-    local.get 2
-    local.get 1
-    i32.load8_u offset=4
-    i32.store8 offset=27
-    local.get 2
-    local.get 1
-    i32.load8_u offset=3
-    i32.store8 offset=28
-    local.get 2
-    local.get 1
-    i32.load8_u offset=2
-    i32.store8 offset=29
-    local.get 2
-    local.get 1
-    i32.load8_u offset=1
-    i32.store8 offset=30
-    local.get 2
-    local.get 1
-    i32.load8_u
-    i32.store8 offset=31
-    local.get 0
-    i32.const 4
-    i32.add
-    local.get 2
-    i32.const 32
-    call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-    local.get 0
-    i32.const 1
-    i32.store8
-    local.get 2
-    i32.const 32
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE (type 6) (param i32 i32) (result i32)
-    (local i32)
-    block  ;; label = @1
-      local.get 1
-      i32.load offset=28
-      local.tee 2
-      i32.const 16
-      i32.and
-      br_if 0 (;@1;)
-      block  ;; label = @2
-        local.get 2
-        i32.const 32
-        i32.and
-        br_if 0 (;@2;)
-        local.get 0
-        local.get 1
-        call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE
-        return
-      end
-      local.get 0
-      local.get 1
-      call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd504c8c64d2f0cadE
-      return
-    end
-    local.get 0
-    local.get 1
-    call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h3be2bf5a24d84447E)
-  (func $_ZN4core3ptr47drop_in_place$LT$erc20..ulm..impl_..UlmImpl$GT$17he64bf1bacb8d0b6cE (type 1) (param i32))
-  (func $_ZN5bytes5bytes11static_drop17h80d4e6ae9b05ca89E (type 0) (param i32 i32 i32))
-  (func $_ZN5bytes5bytes12static_clone17h8ee0bb07f5e580ccE (type 2) (param i32 i32 i32 i32)
-    local.get 0
-    i32.const 0
-    i32.store offset=12
-    local.get 0
-    local.get 3
-    i32.store offset=8
-    local.get 0
-    local.get 2
-    i32.store offset=4
-    local.get 0
-    i32.const 1048980
-    i32.store)
-  (func $_ZN5bytes5bytes16static_is_unique17h6e19e52823949186E (type 10) (param i32) (result i32)
-    i32.const 0)
-  (func $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E (type 2) (param i32 i32 i32 i32)
-    (local i32 i32 i64)
-    global.get $__stack_pointer
-    i32.const 64
-    i32.sub
-    local.tee 4
-    global.set $__stack_pointer
-    local.get 4
-    local.get 1
-    i32.load offset=8
-    local.tee 5
-    i32.store offset=12
-    local.get 4
-    local.get 2
-    i32.store offset=16
-    local.get 4
-    local.get 3
-    i32.store offset=20
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 2
-        local.get 3
-        i32.gt_u
-        br_if 0 (;@2;)
-        local.get 5
-        local.get 3
-        i32.lt_u
-        br_if 1 (;@1;)
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 3
-            local.get 2
-            i32.eq
-            br_if 0 (;@4;)
-            local.get 4
-            i32.const 24
-            i32.add
-            local.get 1
-            i32.const 12
-            i32.add
-            local.get 1
-            i32.load offset=4
-            local.get 5
-            local.get 1
-            i32.load
-            i32.load
-            call_indirect (type 2)
-            local.get 4
-            i32.const 24
-            i32.add
-            i32.const 8
-            i32.add
-            local.tee 3
-            local.get 4
-            i32.load offset=20
-            local.get 2
-            i32.sub
-            i32.store
-            local.get 4
-            local.get 4
-            i32.load offset=28
-            local.get 2
-            i32.add
-            i32.store offset=28
-            local.get 0
-            local.get 4
-            i64.load offset=24 align=4
-            i64.store align=4
-            local.get 0
-            i32.const 8
-            i32.add
-            local.get 3
-            i64.load align=4
-            i64.store align=4
-            br 1 (;@3;)
-          end
-          local.get 0
-          i32.const 0
-          i32.store offset=12
-          local.get 0
-          i64.const 1
-          i64.store offset=4 align=4
-          local.get 0
-          i32.const 1048980
-          i32.store
-        end
-        local.get 4
-        i32.const 64
-        i32.add
-        global.set $__stack_pointer
-        return
-      end
-      local.get 4
-      i32.const 2
-      i32.store offset=28
-      local.get 4
-      i32.const 1049136
-      i32.store offset=24
-      local.get 4
-      i64.const 2
-      i64.store offset=36 align=4
-      local.get 4
-      i32.const 1
-      i64.extend_i32_u
-      i64.const 32
-      i64.shl
-      local.tee 6
-      local.get 4
-      i32.const 20
-      i32.add
-      i64.extend_i32_u
-      i64.or
-      i64.store offset=56
-      local.get 4
-      local.get 6
-      local.get 4
-      i32.const 16
-      i32.add
-      i64.extend_i32_u
-      i64.or
-      i64.store offset=48
-      local.get 4
-      local.get 4
-      i32.const 48
-      i32.add
-      i32.store offset=32
-      local.get 4
-      i32.const 24
-      i32.add
-      i32.const 1049152
-      call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-      unreachable
-    end
-    local.get 4
-    i32.const 2
-    i32.store offset=28
-    local.get 4
-    i32.const 1049196
-    i32.store offset=24
-    local.get 4
-    i64.const 2
-    i64.store offset=36 align=4
-    local.get 4
-    i32.const 1
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.tee 6
-    local.get 4
-    i32.const 12
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=56
-    local.get 4
-    local.get 6
-    local.get 4
-    i32.const 20
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=48
-    local.get 4
-    local.get 4
-    i32.const 48
-    i32.add
-    i32.store offset=32
-    local.get 4
-    i32.const 24
-    i32.add
-    i32.const 1049212
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E (type 4) (param i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64)
-    global.get $__stack_pointer
-    i32.const 144
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 1
-    i32.load offset=4
-    local.set 3
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 1
-        i32.load offset=8
-        local.tee 4
-        br_if 0 (;@2;)
-        i32.const 0
-        local.set 5
-        i32.const 0
-        local.set 6
-        br 1 (;@1;)
-      end
-      local.get 4
-      i32.const 20
-      i32.mul
-      i32.const -20
-      i32.add
-      local.tee 7
-      i32.const 20
-      i32.div_u
-      i32.const 1
-      i32.add
-      local.tee 8
-      i32.const 3
-      i32.and
-      local.set 9
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 7
-          i32.const 60
-          i32.ge_u
-          br_if 0 (;@3;)
-          i32.const 0
-          local.set 5
-          local.get 3
-          local.set 1
-          br 1 (;@2;)
-        end
-        local.get 8
-        i32.const 536870908
-        i32.and
-        local.set 10
-        i32.const 0
-        local.set 5
-        local.get 3
-        local.set 11
-        loop  ;; label = @3
-          i32.const 32
-          local.set 6
-          block  ;; label = @4
-            local.get 11
-            local.tee 1
-            i32.load8_u
-            i32.const 1
-            i32.ne
-            br_if 0 (;@4;)
-            local.get 1
-            i32.load offset=12
-            local.set 6
-          end
-          local.get 6
-          local.get 5
-          i32.add
-          local.set 11
-          i32.const 32
-          local.set 5
-          i32.const 32
-          local.set 6
-          block  ;; label = @4
-            local.get 1
-            i32.const 20
-            i32.add
-            i32.load8_u
-            i32.const 1
-            i32.ne
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const 32
-            i32.add
-            i32.load
-            local.set 6
-          end
-          local.get 6
-          local.get 11
-          i32.add
-          local.set 6
-          block  ;; label = @4
-            local.get 1
-            i32.const 40
-            i32.add
-            i32.load8_u
-            i32.const 1
-            i32.ne
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const 52
-            i32.add
-            i32.load
-            local.set 5
-          end
-          local.get 5
-          local.get 6
-          i32.add
-          local.set 6
-          i32.const 32
-          local.set 5
-          block  ;; label = @4
-            local.get 1
-            i32.const 60
-            i32.add
-            i32.load8_u
-            i32.const 1
-            i32.ne
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const 72
-            i32.add
-            i32.load
-            local.set 5
-          end
-          local.get 1
-          i32.const 80
-          i32.add
-          local.set 11
-          local.get 5
-          local.get 6
-          i32.add
-          local.set 5
-          local.get 10
-          i32.const -4
-          i32.add
-          local.tee 10
-          br_if 0 (;@3;)
-        end
-        local.get 1
-        i32.const 80
-        i32.add
-        local.set 1
-      end
-      block  ;; label = @2
-        local.get 9
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 9
-        i32.const 20
-        i32.mul
-        local.set 10
-        loop  ;; label = @3
-          i32.const 32
-          local.set 6
-          block  ;; label = @4
-            local.get 1
-            i32.load8_u
-            i32.const 1
-            i32.ne
-            br_if 0 (;@4;)
-            local.get 1
-            i32.load offset=12
-            local.set 6
-          end
-          local.get 1
-          i32.const 20
-          i32.add
-          local.set 1
-          local.get 6
-          local.get 5
-          i32.add
-          local.set 5
-          local.get 10
-          i32.const -20
-          i32.add
-          local.tee 10
-          br_if 0 (;@3;)
-        end
-      end
-      local.get 8
-      i32.const 3
-      i32.and
-      local.set 9
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 7
-          i32.const 60
-          i32.ge_u
-          br_if 0 (;@3;)
-          i32.const 0
-          local.set 6
-          local.get 3
-          local.set 1
-          br 1 (;@2;)
-        end
-        local.get 8
-        i32.const 536870908
-        i32.and
-        local.set 11
-        i32.const 0
-        local.set 6
-        local.get 3
-        local.set 7
-        loop  ;; label = @3
-          i32.const 0
-          local.set 10
-          block  ;; label = @4
-            local.get 7
-            local.tee 1
-            i32.load8_u
-            i32.const 1
-            i32.eq
-            br_if 0 (;@4;)
-            local.get 1
-            i32.load offset=12
-            local.set 10
-          end
-          local.get 10
-          local.get 6
-          i32.add
-          local.set 7
-          i32.const 0
-          local.set 6
-          i32.const 0
-          local.set 10
-          block  ;; label = @4
-            local.get 1
-            i32.const 20
-            i32.add
-            i32.load8_u
-            i32.const 1
-            i32.eq
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const 32
-            i32.add
-            i32.load
-            local.set 10
-          end
-          local.get 10
-          local.get 7
-          i32.add
-          local.set 10
-          block  ;; label = @4
-            local.get 1
-            i32.const 40
-            i32.add
-            i32.load8_u
-            i32.const 1
-            i32.eq
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const 52
-            i32.add
-            i32.load
-            local.set 6
-          end
-          local.get 6
-          local.get 10
-          i32.add
-          local.set 10
-          i32.const 0
-          local.set 6
-          block  ;; label = @4
-            local.get 1
-            i32.const 60
-            i32.add
-            i32.load8_u
-            i32.const 1
-            i32.eq
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const 72
-            i32.add
-            i32.load
-            local.set 6
-          end
-          local.get 1
-          i32.const 80
-          i32.add
-          local.set 7
-          local.get 6
-          local.get 10
-          i32.add
-          local.set 6
-          local.get 11
-          i32.const -4
-          i32.add
-          local.tee 11
-          br_if 0 (;@3;)
-        end
-        local.get 1
-        i32.const 80
-        i32.add
-        local.set 1
-      end
-      local.get 9
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 9
-      i32.const 20
-      i32.mul
-      local.set 11
-      loop  ;; label = @2
-        i32.const 0
-        local.set 10
-        block  ;; label = @3
-          local.get 1
-          i32.load8_u
-          i32.const 1
-          i32.eq
-          br_if 0 (;@3;)
-          local.get 1
-          i32.load offset=12
-          local.set 10
-        end
-        local.get 1
-        i32.const 20
-        i32.add
-        local.set 1
-        local.get 10
-        local.get 6
-        i32.add
-        local.set 6
-        local.get 11
-        i32.const -20
-        i32.add
-        local.tee 11
-        br_if 0 (;@2;)
-      end
-    end
-    i32.const 1
-    local.set 11
-    i32.const 1
-    local.set 10
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                block  ;; label = @7
-                  local.get 6
-                  local.get 5
-                  i32.add
-                  local.tee 1
-                  i32.eqz
-                  br_if 0 (;@7;)
-                  i32.const 0
-                  local.set 7
-                  local.get 1
-                  i32.const 0
-                  i32.lt_s
-                  br_if 1 (;@6;)
-                  i32.const 0
-                  i32.load8_u offset=1051873
-                  drop
-                  i32.const 1
-                  local.set 7
-                  local.get 1
-                  i32.const 1
-                  call $__rust_alloc
-                  local.tee 10
-                  i32.eqz
-                  br_if 1 (;@6;)
-                end
-                i32.const 0
-                local.set 7
-                local.get 2
-                i32.const 0
-                i32.store offset=12
-                local.get 2
-                local.get 10
-                i32.store offset=8
-                local.get 2
-                local.get 1
-                i32.store offset=16
-                local.get 2
-                i32.const 32
-                local.get 1
-                i32.const 10
-                i32.shr_u
-                i32.clz
-                i32.sub
-                local.tee 1
-                i32.const 7
-                local.get 1
-                i32.const 7
-                i32.lt_u
-                select
-                i32.const 2
-                i32.shl
-                i32.const 1
-                i32.or
-                i32.store offset=20
-                block  ;; label = @7
-                  local.get 6
-                  i32.eqz
-                  br_if 0 (;@7;)
-                  local.get 6
-                  i32.const 0
-                  i32.lt_s
-                  br_if 2 (;@5;)
-                  i32.const 0
-                  i32.load8_u offset=1051873
-                  drop
-                  i32.const 1
-                  local.set 7
-                  local.get 6
-                  i32.const 1
-                  call $__rust_alloc
-                  local.tee 11
-                  i32.eqz
-                  br_if 2 (;@5;)
-                end
-                local.get 2
-                i32.const 0
-                i32.store offset=28
-                local.get 2
-                local.get 11
-                i32.store offset=24
-                local.get 2
-                local.get 6
-                i32.store offset=32
-                local.get 2
-                i32.const 32
-                local.get 6
-                i32.const 10
-                i32.shr_u
-                i32.clz
-                i32.sub
-                local.tee 1
-                i32.const 7
-                local.get 1
-                i32.const 7
-                i32.lt_u
-                select
-                i32.const 2
-                i32.shl
-                i32.const 1
-                i32.or
-                i32.store offset=36
-                local.get 4
-                i32.eqz
-                br_if 5 (;@1;)
-                local.get 4
-                i32.const 20
-                i32.mul
-                local.set 6
-                local.get 2
-                i32.const 76
-                i32.add
-                i32.const 8
-                i32.add
-                local.set 11
-                local.get 2
-                i32.const 52
-                i32.add
-                local.set 8
-                local.get 2
-                i32.const 60
-                i32.add
-                local.set 7
-                loop  ;; label = @7
-                  block  ;; label = @8
-                    block  ;; label = @9
-                      local.get 3
-                      i32.load8_u
-                      i32.const 1
-                      i32.ne
-                      br_if 0 (;@9;)
-                      local.get 3
-                      i32.load offset=8
-                      local.set 4
-                      block  ;; label = @10
-                        local.get 2
-                        i32.load offset=16
-                        local.get 2
-                        i32.load offset=12
-                        local.tee 10
-                        i32.sub
-                        local.get 3
-                        i32.load offset=12
-                        local.tee 1
-                        i32.ge_u
-                        br_if 0 (;@10;)
-                        local.get 2
-                        i32.const 8
-                        i32.add
-                        local.get 1
-                        i32.const 1
-                        call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
-                        drop
-                        local.get 2
-                        i32.load offset=12
-                        local.set 10
-                      end
-                      local.get 2
-                      i32.load offset=8
-                      local.get 10
-                      i32.add
-                      local.get 4
-                      local.get 1
-                      call $memcpy
-                      drop
-                      local.get 2
-                      i32.load offset=16
-                      local.get 2
-                      i32.load offset=12
-                      local.tee 10
-                      i32.sub
-                      local.tee 4
-                      local.get 1
-                      i32.lt_u
-                      br_if 5 (;@4;)
-                      local.get 2
-                      local.get 10
-                      local.get 1
-                      i32.add
-                      i32.store offset=12
-                      br 1 (;@8;)
-                    end
-                    local.get 2
-                    i32.load offset=28
-                    local.set 1
-                    local.get 11
-                    i32.const 16
-                    i32.add
-                    i64.const 0
-                    i64.store align=1
-                    local.get 11
-                    i32.const 8
-                    i32.add
-                    i64.const 0
-                    i64.store align=1
-                    local.get 11
-                    i64.const 0
-                    i64.store align=1
-                    local.get 2
-                    i32.const 0
-                    i32.store offset=80 align=1
-                    local.get 2
-                    local.get 1
-                    local.get 5
-                    i32.add
-                    local.tee 1
-                    i32.store8 offset=76
-                    local.get 2
-                    local.get 1
-                    i32.const 24
-                    i32.shr_u
-                    i32.store8 offset=79
-                    local.get 2
-                    local.get 1
-                    i32.const 16
-                    i32.shr_u
-                    i32.store8 offset=78
-                    local.get 2
-                    local.get 1
-                    i32.const 8
-                    i32.shr_u
-                    i32.store8 offset=77
-                    local.get 2
-                    i32.const 56
-                    i32.add
-                    local.get 2
-                    i32.const 76
-                    i32.add
-                    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
-                    local.get 2
-                    i32.const 40
-                    i32.add
-                    i32.const 8
-                    i32.add
-                    local.get 7
-                    i32.const 8
-                    i32.add
-                    i64.load align=4
-                    local.tee 12
-                    i64.store
-                    local.get 2
-                    local.get 7
-                    i64.load align=4
-                    i64.store offset=40
-                    local.get 2
-                    i32.load offset=44
-                    local.set 10
-                    block  ;; label = @9
-                      local.get 12
-                      i32.wrap_i64
-                      local.tee 1
-                      i32.eqz
-                      br_if 0 (;@9;)
-                      block  ;; label = @10
-                        local.get 2
-                        i32.load offset=16
-                        local.get 2
-                        i32.load offset=12
-                        local.tee 4
-                        i32.sub
-                        local.get 1
-                        i32.ge_u
-                        br_if 0 (;@10;)
-                        local.get 2
-                        i32.const 8
-                        i32.add
-                        local.get 1
-                        i32.const 1
-                        call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
-                        drop
-                        local.get 2
-                        i32.load offset=12
-                        local.set 4
-                      end
-                      local.get 2
-                      i32.load offset=8
-                      local.get 4
-                      i32.add
-                      local.get 10
-                      local.get 1
-                      call $memcpy
-                      drop
-                      local.get 2
-                      i32.load offset=16
-                      local.get 2
-                      i32.load offset=12
-                      local.tee 4
-                      i32.sub
-                      local.tee 9
-                      local.get 1
-                      i32.lt_u
-                      br_if 6 (;@3;)
-                      local.get 2
-                      i32.const 0
-                      i32.store offset=48
-                      local.get 2
-                      local.get 4
-                      local.get 1
-                      i32.add
-                      i32.store offset=12
-                      local.get 2
-                      local.get 10
-                      local.get 1
-                      i32.add
-                      local.tee 10
-                      i32.store offset=44
-                    end
-                    local.get 8
-                    local.get 10
-                    i32.const 0
-                    local.get 2
-                    i32.load offset=40
-                    i32.load offset=16
-                    call_indirect (type 0)
-                    local.get 3
-                    i32.load offset=12
-                    local.tee 1
-                    i32.eqz
-                    br_if 0 (;@8;)
-                    local.get 3
-                    i32.load offset=8
-                    local.set 4
-                    block  ;; label = @9
-                      local.get 2
-                      i32.load offset=32
-                      local.get 2
-                      i32.load offset=28
-                      local.tee 10
-                      i32.sub
-                      local.get 1
-                      i32.ge_u
-                      br_if 0 (;@9;)
-                      local.get 2
-                      i32.const 24
-                      i32.add
-                      local.get 1
-                      i32.const 1
-                      call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
-                      drop
-                      local.get 2
-                      i32.load offset=28
-                      local.set 10
-                    end
-                    local.get 2
-                    i32.load offset=24
-                    local.get 10
-                    i32.add
-                    local.get 4
-                    local.get 1
-                    call $memcpy
-                    drop
-                    local.get 2
-                    i32.load offset=32
-                    local.get 2
-                    i32.load offset=28
-                    local.tee 10
-                    i32.sub
-                    local.tee 4
-                    local.get 1
-                    i32.lt_u
-                    br_if 6 (;@2;)
-                    local.get 2
-                    local.get 10
-                    local.get 1
-                    i32.add
-                    i32.store offset=28
-                  end
-                  local.get 3
-                  i32.const 20
-                  i32.add
-                  local.set 3
-                  local.get 6
-                  i32.const -20
-                  i32.add
-                  local.tee 6
-                  br_if 0 (;@7;)
-                  br 6 (;@1;)
-                end
-              end
-              local.get 7
-              local.get 1
-              call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-              unreachable
-            end
-            local.get 7
-            local.get 6
-            call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-            unreachable
-          end
-          local.get 1
-          local.get 4
-          call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
-          unreachable
-        end
-        local.get 1
-        local.get 9
-        call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
-        unreachable
-      end
-      local.get 1
-      local.get 4
-      call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
-      unreachable
-    end
-    local.get 2
-    i32.const 120
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 2
-    i32.const 24
-    i32.add
-    i32.const 8
-    i32.add
-    i64.load align=4
-    i64.store
-    local.get 2
-    local.get 2
-    i64.load offset=24 align=4
-    i64.store offset=120
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 2
-            i32.load offset=124
-            local.tee 3
-            i32.eqz
-            br_if 0 (;@4;)
-            loop  ;; label = @5
-              local.get 2
-              i32.load offset=120
-              local.set 5
-              block  ;; label = @6
-                local.get 2
-                i32.load offset=16
-                local.get 2
-                i32.load offset=12
-                local.tee 1
-                i32.sub
-                local.get 3
-                i32.ge_u
-                br_if 0 (;@6;)
-                local.get 2
-                i32.const 8
-                i32.add
-                local.get 3
-                i32.const 1
-                call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
-                drop
-                local.get 2
-                i32.load offset=12
-                local.set 1
-              end
-              local.get 2
-              i32.load offset=8
-              local.get 1
-              i32.add
-              local.get 5
-              local.get 3
-              call $memcpy
-              drop
-              local.get 2
-              i32.load offset=16
-              local.get 2
-              i32.load offset=12
-              local.tee 1
-              i32.sub
-              local.tee 5
-              local.get 3
-              i32.lt_u
-              br_if 2 (;@3;)
-              local.get 2
-              local.get 1
-              local.get 3
-              i32.add
-              i32.store offset=12
-              local.get 2
-              local.get 3
-              i32.store offset=140
-              local.get 2
-              i32.load offset=124
-              local.tee 1
-              local.get 3
-              i32.lt_u
-              br_if 3 (;@2;)
-              local.get 2
-              i32.const 120
-              i32.add
-              local.get 3
-              call $_ZN5bytes9bytes_mut8BytesMut17advance_unchecked17h8cc95633436894fdE
-              local.get 2
-              i32.load offset=124
-              local.tee 3
-              br_if 0 (;@5;)
-            end
-          end
-          local.get 2
-          i32.const 120
-          i32.add
-          call $_ZN68_$LT$bytes..bytes_mut..BytesMut$u20$as$u20$core..ops..drop..Drop$GT$4drop17h694f9b0f8c62c807E
-          local.get 2
-          i32.load offset=8
-          local.set 1
-          local.get 2
-          i32.load offset=12
-          local.set 5
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 2
-              i32.load offset=20
-              local.tee 3
-              i32.const 1
-              i32.and
-              br_if 0 (;@5;)
-              local.get 0
-              local.get 3
-              i32.store offset=12
-              local.get 0
-              local.get 5
-              i32.store offset=8
-              local.get 0
-              local.get 1
-              i32.store offset=4
-              local.get 0
-              i32.const 1050872
-              i32.store
-              br 1 (;@4;)
-            end
-            local.get 2
-            i32.const 108
-            i32.add
-            local.get 1
-            local.get 5
-            local.get 2
-            i32.load offset=16
-            local.get 3
-            i32.const 5
-            i32.shr_u
-            local.tee 3
-            call $_ZN5bytes9bytes_mut11rebuild_vec17h38cce237df47590bE
-            local.get 2
-            i32.const 120
-            i32.add
-            local.get 2
-            i32.const 108
-            i32.add
-            call $_ZN92_$LT$bytes..bytes..Bytes$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$4from17h73298beb60a3c1fbE
-            local.get 2
-            local.get 3
-            i32.store offset=136
-            local.get 2
-            i32.load offset=128
-            local.tee 1
-            local.get 3
-            i32.lt_u
-            br_if 3 (;@1;)
-            local.get 2
-            i32.const 120
-            i32.add
-            i32.const 8
-            i32.add
-            local.tee 5
-            local.get 1
-            local.get 3
-            i32.sub
-            i32.store
-            local.get 2
-            local.get 2
-            i32.load offset=124
-            local.get 3
-            i32.add
-            i32.store offset=124
-            local.get 0
-            i32.const 8
-            i32.add
-            local.get 5
-            i64.load align=4
-            i64.store align=4
-            local.get 0
-            local.get 2
-            i64.load offset=120 align=4
-            i64.store align=4
-          end
-          local.get 2
-          i32.const 144
-          i32.add
-          global.set $__stack_pointer
-          return
-        end
-        local.get 3
-        local.get 5
-        call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
-        unreachable
-      end
-      local.get 2
-      i32.const 2
-      i32.store offset=80
-      local.get 2
-      i32.const 1049264
-      i32.store offset=76
-      local.get 2
-      i64.const 2
-      i64.store offset=88 align=4
-      local.get 2
-      local.get 1
-      i32.store offset=108
-      local.get 2
-      i32.const 1
-      i64.extend_i32_u
-      i64.const 32
-      i64.shl
-      local.tee 12
-      local.get 2
-      i32.const 108
-      i32.add
-      i64.extend_i32_u
-      i64.or
-      i64.store offset=64
-      local.get 2
-      local.get 12
-      local.get 2
-      i32.const 140
-      i32.add
-      i64.extend_i32_u
-      i64.or
-      i64.store offset=56
-      local.get 2
-      local.get 2
-      i32.const 56
-      i32.add
-      i32.store offset=84
-      local.get 2
-      i32.const 76
-      i32.add
-      i32.const 1049392
-      call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-      unreachable
-    end
-    local.get 2
-    i32.const 2
-    i32.store offset=80
-    local.get 2
-    i32.const 1049264
-    i32.store offset=76
-    local.get 2
-    i64.const 2
-    i64.store offset=88 align=4
-    local.get 2
-    local.get 1
-    i32.store offset=140
-    local.get 2
-    i32.const 1
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.tee 12
-    local.get 2
-    i32.const 140
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=64
-    local.get 2
-    local.get 12
-    local.get 2
-    i32.const 136
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=56
-    local.get 2
-    local.get 2
-    i32.const 56
-    i32.add
-    i32.store offset=84
-    local.get 2
-    i32.const 76
-    i32.add
-    i32.const 1049280
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN5erc2016erc20_dispatcher14same_signature17he85b455a9ec874d9E (type 9) (param i32 i32 i32 i32) (result i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 64
-    i32.sub
-    local.tee 4
-    global.set $__stack_pointer
-    local.get 4
-    i32.const 16
-    i32.add
-    local.get 2
-    local.get 3
-    call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-    local.get 4
-    i32.load offset=24
-    local.set 3
-    local.get 4
-    i32.load offset=20
-    local.set 2
-    local.get 4
-    i32.const 56
-    i32.add
-    i64.const 0
-    i64.store
-    local.get 4
-    i32.const 48
-    i32.add
-    i64.const 0
-    i64.store
-    local.get 4
-    i32.const 40
-    i32.add
-    i64.const 0
-    i64.store
-    local.get 4
-    i64.const 0
-    i64.store offset=32
-    local.get 0
-    local.get 2
-    local.get 3
-    local.get 4
-    i32.const 32
-    i32.add
-    call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
-    local.get 4
-    i32.load offset=32
-    local.set 0
-    local.get 4
-    i32.const 16
-    i32.add
-    i32.const 12
-    i32.add
-    local.get 2
-    local.get 3
-    local.get 4
-    i32.load offset=16
-    i32.load offset=16
-    call_indirect (type 0)
-    local.get 4
-    local.get 0
-    i32.store offset=12
-    local.get 4
-    i32.const 32
-    i32.add
-    local.get 4
-    i32.const 12
-    i32.add
-    i32.const 4
-    call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-    local.get 1
-    local.get 4
-    i32.const 32
-    i32.add
-    call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
-    local.set 3
-    local.get 4
-    i32.const 32
-    i32.add
-    i32.const 12
-    i32.add
-    local.get 4
-    i32.load offset=36
-    local.get 4
-    i32.load offset=40
-    local.get 4
-    i32.load offset=32
-    i32.load offset=16
-    call_indirect (type 0)
-    local.get 4
-    i32.const 64
-    i32.add
-    global.set $__stack_pointer
-    local.get 3)
-  (func $ulmDispatchCaller (type 1) (param i32)
-    (local i32 i32 i32 i32 i32 i32 i64 i64)
-    global.get $__stack_pointer
-    i32.const 304
-    i32.sub
-    local.tee 1
-    global.set $__stack_pointer
-    i32.const 0
-    i32.load8_u offset=1051873
-    drop
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                block  ;; label = @7
-                  block  ;; label = @8
-                    block  ;; label = @9
-                      block  ;; label = @10
-                        block  ;; label = @11
-                          block  ;; label = @12
-                            i32.const 12
-                            i32.const 4
-                            call $__rust_alloc
-                            local.tee 2
-                            i32.eqz
-                            br_if 0 (;@12;)
-                            local.get 2
-                            i64.const 4294967297
-                            i64.store align=4
-                            i32.const 1
-                            local.set 3
-                            local.get 2
-                            i32.const 1
-                            i32.store offset=8
-                            block  ;; label = @13
-                              local.get 2
-                              i32.const 12
-                              i32.add
-                              local.tee 4
-                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$16call_data_length17h5a8338a3b18df8f2E
-                              local.tee 5
-                              i32.eqz
-                              br_if 0 (;@13;)
-                              i32.const 0
-                              local.set 6
-                              local.get 5
-                              i32.const 0
-                              i32.lt_s
-                              br_if 2 (;@11;)
-                              i32.const 0
-                              i32.load8_u offset=1051873
-                              drop
-                              i32.const 1
-                              local.set 6
-                              local.get 5
-                              i32.const 1
-                              call $__rust_alloc
-                              local.tee 3
-                              i32.eqz
-                              br_if 2 (;@11;)
-                            end
-                            local.get 4
-                            local.get 3
-                            i32.const 0
-                            call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$9call_data17hde8d81abbe4336aeE
-                            local.get 1
-                            i32.const 8
-                            i32.add
-                            local.get 3
-                            i32.const 0
-                            call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                            block  ;; label = @13
-                              local.get 5
-                              i32.eqz
-                              br_if 0 (;@13;)
-                              local.get 3
-                              local.get 5
-                              i32.const 1
-                              call $__rust_dealloc
-                            end
-                            local.get 2
-                            local.get 2
-                            i32.load offset=8
-                            i32.const -1
-                            i32.add
-                            local.tee 3
-                            i32.store offset=8
-                            block  ;; label = @13
-                              block  ;; label = @14
-                                block  ;; label = @15
-                                  local.get 0
-                                  br_if 0 (;@15;)
-                                  local.get 1
-                                  i32.load offset=16
-                                  i32.const 3
-                                  i32.gt_u
-                                  br_if 1 (;@14;)
-                                  i32.const 1049452
-                                  i32.const 33
-                                  call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-                                  unreachable
-                                end
-                                local.get 1
-                                i32.const 184
-                                i32.add
-                                i32.const 8
-                                i32.add
-                                local.get 1
-                                i32.const 8
-                                i32.add
-                                i32.const 8
-                                i32.add
-                                i64.load align=4
-                                i64.store
-                                local.get 2
-                                local.get 2
-                                i32.load
-                                i32.const 1
-                                i32.add
-                                local.tee 5
-                                i32.store
-                                local.get 1
-                                local.get 1
-                                i64.load offset=8 align=4
-                                i64.store offset=184
-                                local.get 1
-                                i32.const 0
-                                i32.store offset=200
-                                local.get 5
-                                i32.eqz
-                                br_if 4 (;@10;)
-                                local.get 1
-                                i32.const 0
-                                i32.store offset=256
-                                local.get 1
-                                i64.const 17179869184
-                                i64.store offset=248 align=4
-                                local.get 3
-                                br_if 5 (;@9;)
-                                local.get 2
-                                i32.const -1
-                                i32.store offset=8
-                                local.get 1
-                                i32.const 128
-                                i32.add
-                                local.get 1
-                                i32.const 248
-                                i32.add
-                                call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-                                local.get 4
-                                local.get 1
-                                i32.load offset=132
-                                local.tee 3
-                                local.get 1
-                                i32.load offset=136
-                                local.tee 5
-                                call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
-                                local.get 1
-                                i32.const 128
-                                i32.add
-                                i32.const 12
-                                i32.add
-                                local.get 3
-                                local.get 5
-                                local.get 1
-                                i32.load offset=128
-                                i32.load offset=16
-                                call_indirect (type 0)
-                                local.get 2
-                                local.get 2
-                                i32.load offset=8
-                                i32.const 1
-                                i32.add
-                                i32.store offset=8
-                                local.get 2
-                                local.get 2
-                                i32.load
-                                i32.const -1
-                                i32.add
-                                local.tee 3
-                                i32.store
-                                block  ;; label = @15
-                                  local.get 3
-                                  br_if 0 (;@15;)
-                                  local.get 2
-                                  local.get 2
-                                  i32.load offset=4
-                                  i32.const -1
-                                  i32.add
-                                  local.tee 3
-                                  i32.store offset=4
-                                  local.get 3
-                                  br_if 0 (;@15;)
-                                  local.get 2
-                                  i32.const 12
-                                  i32.const 4
-                                  call $__rust_dealloc
-                                end
-                                local.get 1
-                                i32.const 184
-                                i32.add
-                                i32.const 12
-                                i32.add
-                                local.get 1
-                                i32.load offset=188
-                                local.get 1
-                                i32.load offset=192
-                                local.get 1
-                                i32.load offset=184
-                                i32.load offset=16
-                                call_indirect (type 0)
-                                local.get 2
-                                local.get 2
-                                i32.load
-                                i32.const -1
-                                i32.add
-                                local.tee 3
-                                i32.store
-                                local.get 3
-                                br_if 1 (;@13;)
-                                local.get 2
-                                local.get 2
-                                i32.load offset=4
-                                i32.const -1
-                                i32.add
-                                local.tee 3
-                                i32.store offset=4
-                                local.get 3
-                                br_if 1 (;@13;)
-                                local.get 2
-                                i32.const 12
-                                i32.const 4
-                                call $__rust_dealloc
-                                br 1 (;@13;)
-                              end
-                              local.get 1
-                              i32.const 24
-                              i32.add
-                              local.get 1
-                              i32.const 8
-                              i32.add
-                              i32.const 4
-                              call $_ZN5bytes5bytes5Bytes9split_off17h8fb60c9956121d47E
-                              local.get 1
-                              i32.const 40
-                              i32.add
-                              i32.const 8
-                              i32.add
-                              local.get 1
-                              i32.const 8
-                              i32.add
-                              i32.const 8
-                              i32.add
-                              i64.load align=4
-                              i64.store
-                              local.get 1
-                              local.get 1
-                              i64.load offset=8 align=4
-                              i64.store offset=40
-                              local.get 2
-                              i32.load offset=8
-                              local.tee 3
-                              i32.const 2147483646
-                              i32.gt_u
-                              br_if 5 (;@8;)
-                              local.get 2
-                              local.get 3
-                              i32.const 1
-                              i32.add
-                              i32.store offset=8
-                              local.get 1
-                              i32.const 128
-                              i32.add
-                              i32.const 1049485
-                              i32.const 10
-                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                              local.get 1
-                              i32.load offset=136
-                              local.set 3
-                              local.get 1
-                              i32.load offset=132
-                              local.set 5
-                              local.get 1
-                              i32.const 208
-                              i32.add
-                              i64.const 0
-                              i64.store
-                              local.get 1
-                              i32.const 200
-                              i32.add
-                              i64.const 0
-                              i64.store
-                              local.get 1
-                              i32.const 184
-                              i32.add
-                              i32.const 8
-                              i32.add
-                              i64.const 0
-                              i64.store
-                              local.get 1
-                              i64.const 0
-                              i64.store offset=184
-                              local.get 4
-                              local.get 5
-                              local.get 3
-                              local.get 1
-                              i32.const 184
-                              i32.add
-                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
-                              local.get 1
-                              i32.load offset=184
-                              local.set 0
-                              local.get 1
-                              i32.const 128
-                              i32.add
-                              i32.const 12
-                              i32.add
-                              local.get 5
-                              local.get 3
-                              local.get 1
-                              i32.load offset=128
-                              i32.load offset=16
-                              call_indirect (type 0)
-                              local.get 1
-                              local.get 0
-                              i32.store offset=248
-                              local.get 1
-                              i32.const 184
-                              i32.add
-                              local.get 1
-                              i32.const 248
-                              i32.add
-                              i32.const 4
-                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                              local.get 1
-                              i32.const 40
-                              i32.add
-                              local.get 1
-                              i32.const 184
-                              i32.add
-                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
-                              local.set 3
-                              local.get 1
-                              i32.const 184
-                              i32.add
-                              i32.const 12
-                              i32.add
-                              local.get 1
-                              i32.load offset=188
-                              local.get 1
-                              i32.load offset=192
-                              local.get 1
-                              i32.load offset=184
-                              i32.load offset=16
-                              call_indirect (type 0)
-                              local.get 2
-                              local.get 2
-                              i32.load offset=8
-                              local.tee 5
-                              i32.const -1
-                              i32.add
-                              i32.store offset=8
-                              block  ;; label = @14
-                                block  ;; label = @15
-                                  block  ;; label = @16
-                                    block  ;; label = @17
-                                      block  ;; label = @18
-                                        block  ;; label = @19
-                                          block  ;; label = @20
-                                            block  ;; label = @21
-                                              block  ;; label = @22
-                                                block  ;; label = @23
-                                                  block  ;; label = @24
-                                                    block  ;; label = @25
-                                                      block  ;; label = @26
-                                                        block  ;; label = @27
-                                                          block  ;; label = @28
-                                                            block  ;; label = @29
-                                                              local.get 3
-                                                              br_if 0 (;@29;)
-                                                              local.get 5
-                                                              i32.const 0
-                                                              i32.le_s
-                                                              br_if 1 (;@28;)
-                                                              local.get 2
-                                                              local.get 5
-                                                              i32.store offset=8
-                                                              local.get 1
-                                                              i32.const 128
-                                                              i32.add
-                                                              i32.const 1049495
-                                                              i32.const 13
-                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                                                              local.get 1
-                                                              i32.load offset=136
-                                                              local.set 3
-                                                              local.get 1
-                                                              i32.load offset=132
-                                                              local.set 5
-                                                              local.get 1
-                                                              i32.const 208
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i32.const 200
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              i32.const 8
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i64.const 0
-                                                              i64.store offset=184
-                                                              local.get 4
-                                                              local.get 5
-                                                              local.get 3
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
-                                                              local.get 1
-                                                              i32.load offset=184
-                                                              local.set 0
-                                                              local.get 1
-                                                              i32.const 128
-                                                              i32.add
-                                                              i32.const 12
-                                                              i32.add
-                                                              local.get 5
-                                                              local.get 3
-                                                              local.get 1
-                                                              i32.load offset=128
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 1
-                                                              local.get 0
-                                                              i32.store offset=248
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.const 248
-                                                              i32.add
-                                                              i32.const 4
-                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                                                              local.get 1
-                                                              i32.const 40
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
-                                                              local.set 3
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              i32.const 12
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.load offset=188
-                                                              local.get 1
-                                                              i32.load offset=192
-                                                              local.get 1
-                                                              i32.load offset=184
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 2
-                                                              local.get 2
-                                                              i32.load offset=8
-                                                              local.tee 5
-                                                              i32.const -1
-                                                              i32.add
-                                                              i32.store offset=8
-                                                              local.get 3
-                                                              br_if 2 (;@27;)
-                                                              local.get 5
-                                                              i32.const 0
-                                                              i32.le_s
-                                                              br_if 3 (;@26;)
-                                                              local.get 2
-                                                              local.get 5
-                                                              i32.store offset=8
-                                                              local.get 1
-                                                              i32.const 128
-                                                              i32.add
-                                                              i32.const 1049508
-                                                              i32.const 18
-                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                                                              local.get 1
-                                                              i32.load offset=136
-                                                              local.set 3
-                                                              local.get 1
-                                                              i32.load offset=132
-                                                              local.set 5
-                                                              local.get 1
-                                                              i32.const 208
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i32.const 200
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              i32.const 8
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i64.const 0
-                                                              i64.store offset=184
-                                                              local.get 4
-                                                              local.get 5
-                                                              local.get 3
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
-                                                              local.get 1
-                                                              i32.load offset=184
-                                                              local.set 0
-                                                              local.get 1
-                                                              i32.const 128
-                                                              i32.add
-                                                              i32.const 12
-                                                              i32.add
-                                                              local.get 5
-                                                              local.get 3
-                                                              local.get 1
-                                                              i32.load offset=128
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 1
-                                                              local.get 0
-                                                              i32.store offset=248
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.const 248
-                                                              i32.add
-                                                              i32.const 4
-                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                                                              local.get 1
-                                                              i32.const 40
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
-                                                              local.set 3
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              i32.const 12
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.load offset=188
-                                                              local.get 1
-                                                              i32.load offset=192
-                                                              local.get 1
-                                                              i32.load offset=184
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 2
-                                                              local.get 2
-                                                              i32.load offset=8
-                                                              local.tee 5
-                                                              i32.const -1
-                                                              i32.add
-                                                              i32.store offset=8
-                                                              local.get 3
-                                                              br_if 4 (;@25;)
-                                                              local.get 5
-                                                              i32.const 0
-                                                              i32.le_s
-                                                              br_if 5 (;@24;)
-                                                              local.get 2
-                                                              local.get 5
-                                                              i32.store offset=8
-                                                              local.get 1
-                                                              i32.const 128
-                                                              i32.add
-                                                              i32.const 1049526
-                                                              i32.const 25
-                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                                                              local.get 1
-                                                              i32.load offset=136
-                                                              local.set 3
-                                                              local.get 1
-                                                              i32.load offset=132
-                                                              local.set 5
-                                                              local.get 1
-                                                              i32.const 208
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i32.const 200
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              i32.const 8
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i64.const 0
-                                                              i64.store offset=184
-                                                              local.get 4
-                                                              local.get 5
-                                                              local.get 3
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
-                                                              local.get 1
-                                                              i32.load offset=184
-                                                              local.set 0
-                                                              local.get 1
-                                                              i32.const 128
-                                                              i32.add
-                                                              i32.const 12
-                                                              i32.add
-                                                              local.get 5
-                                                              local.get 3
-                                                              local.get 1
-                                                              i32.load offset=128
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 1
-                                                              local.get 0
-                                                              i32.store offset=248
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.const 248
-                                                              i32.add
-                                                              i32.const 4
-                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                                                              local.get 1
-                                                              i32.const 40
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
-                                                              local.set 3
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              i32.const 12
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.load offset=188
-                                                              local.get 1
-                                                              i32.load offset=192
-                                                              local.get 1
-                                                              i32.load offset=184
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 2
-                                                              local.get 2
-                                                              i32.load offset=8
-                                                              local.tee 5
-                                                              i32.const -1
-                                                              i32.add
-                                                              i32.store offset=8
-                                                              local.get 3
-                                                              br_if 6 (;@23;)
-                                                              local.get 5
-                                                              i32.const 0
-                                                              i32.le_s
-                                                              br_if 7 (;@22;)
-                                                              local.get 2
-                                                              local.get 5
-                                                              i32.store offset=8
-                                                              local.get 1
-                                                              i32.const 128
-                                                              i32.add
-                                                              i32.const 1049551
-                                                              i32.const 26
-                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                                                              local.get 1
-                                                              i32.load offset=136
-                                                              local.set 3
-                                                              local.get 1
-                                                              i32.load offset=132
-                                                              local.set 5
-                                                              local.get 1
-                                                              i32.const 208
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i32.const 200
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i32.const 192
-                                                              i32.add
-                                                              i64.const 0
-                                                              i64.store
-                                                              local.get 1
-                                                              i64.const 0
-                                                              i64.store offset=184
-                                                              local.get 4
-                                                              local.get 5
-                                                              local.get 3
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE
-                                                              local.get 1
-                                                              i32.load offset=184
-                                                              local.set 0
-                                                              local.get 1
-                                                              i32.const 128
-                                                              i32.add
-                                                              i32.const 12
-                                                              i32.add
-                                                              local.get 5
-                                                              local.get 3
-                                                              local.get 1
-                                                              i32.load offset=128
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 1
-                                                              local.get 0
-                                                              i32.store offset=248
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.const 248
-                                                              i32.add
-                                                              i32.const 4
-                                                              call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-                                                              local.get 1
-                                                              i32.const 40
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              call $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E
-                                                              local.set 3
-                                                              local.get 1
-                                                              i32.const 184
-                                                              i32.add
-                                                              i32.const 12
-                                                              i32.add
-                                                              local.get 1
-                                                              i32.load offset=188
-                                                              local.get 1
-                                                              i32.load offset=192
-                                                              local.get 1
-                                                              i32.load offset=184
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 2
-                                                              local.get 2
-                                                              i32.load offset=8
-                                                              local.tee 5
-                                                              i32.const -1
-                                                              i32.add
-                                                              i32.store offset=8
-                                                              local.get 3
-                                                              br_if 8 (;@21;)
-                                                              local.get 5
-                                                              i32.const 0
-                                                              i32.le_s
-                                                              br_if 9 (;@20;)
-                                                              local.get 2
-                                                              local.get 5
-                                                              i32.store offset=8
-                                                              local.get 4
-                                                              local.get 1
-                                                              i32.const 40
-                                                              i32.add
-                                                              i32.const 1049577
-                                                              i32.const 24
-                                                              call $_ZN5erc2016erc20_dispatcher14same_signature17he85b455a9ec874d9E
-                                                              local.set 3
-                                                              local.get 2
-                                                              local.get 2
-                                                              i32.load offset=8
-                                                              local.tee 5
-                                                              i32.const -1
-                                                              i32.add
-                                                              i32.store offset=8
-                                                              local.get 3
-                                                              br_if 10 (;@19;)
-                                                              local.get 5
-                                                              i32.const 0
-                                                              i32.le_s
-                                                              br_if 11 (;@18;)
-                                                              local.get 2
-                                                              local.get 5
-                                                              i32.store offset=8
-                                                              local.get 4
-                                                              local.get 1
-                                                              i32.const 40
-                                                              i32.add
-                                                              i32.const 1049601
-                                                              i32.const 37
-                                                              call $_ZN5erc2016erc20_dispatcher14same_signature17he85b455a9ec874d9E
-                                                              local.set 3
-                                                              local.get 2
-                                                              local.get 2
-                                                              i32.load offset=8
-                                                              local.tee 5
-                                                              i32.const -1
-                                                              i32.add
-                                                              i32.store offset=8
-                                                              local.get 3
-                                                              br_if 12 (;@17;)
-                                                              local.get 5
-                                                              i32.const 0
-                                                              i32.le_s
-                                                              br_if 13 (;@16;)
-                                                              local.get 2
-                                                              local.get 5
-                                                              i32.store offset=8
-                                                              local.get 4
-                                                              local.get 1
-                                                              i32.const 40
-                                                              i32.add
-                                                              i32.const 1049638
-                                                              i32.const 21
-                                                              call $_ZN5erc2016erc20_dispatcher14same_signature17he85b455a9ec874d9E
-                                                              local.set 3
-                                                              local.get 2
-                                                              local.get 2
-                                                              i32.load offset=8
-                                                              i32.const -1
-                                                              i32.add
-                                                              i32.store offset=8
-                                                              local.get 3
-                                                              br_if 14 (;@15;)
-                                                              i32.const 1049659
-                                                              i32.const 16
-                                                              call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-                                                              unreachable
-                                                            end
-                                                            local.get 1
-                                                            i32.const 248
-                                                            i32.add
-                                                            i32.const 8
-                                                            i32.add
-                                                            local.get 1
-                                                            i32.const 24
-                                                            i32.add
-                                                            i32.const 8
-                                                            i32.add
-                                                            i64.load align=4
-                                                            i64.store
-                                                            local.get 2
-                                                            local.get 2
-                                                            i32.load
-                                                            i32.const 1
-                                                            i32.add
-                                                            local.tee 3
-                                                            i32.store
-                                                            local.get 1
-                                                            local.get 1
-                                                            i64.load offset=24 align=4
-                                                            i64.store offset=248
-                                                            local.get 1
-                                                            i32.const 0
-                                                            i32.store offset=264
-                                                            local.get 3
-                                                            i32.eqz
-                                                            br_if 18 (;@10;)
-                                                            local.get 1
-                                                            i32.const 0
-                                                            i32.store offset=168
-                                                            local.get 1
-                                                            i64.const 17179869184
-                                                            i64.store offset=160 align=4
-                                                            local.get 1
-                                                            i32.const 208
-                                                            i32.add
-                                                            i64.const 0
-                                                            i64.store align=1
-                                                            local.get 1
-                                                            i32.const 184
-                                                            i32.add
-                                                            i32.const 16
-                                                            i32.add
-                                                            i64.const 0
-                                                            i64.store align=1
-                                                            local.get 1
-                                                            i32.const 188
-                                                            i32.add
-                                                            i32.const 0
-                                                            i32.store align=1
-                                                            local.get 1
-                                                            i64.const 0
-                                                            i64.store offset=192 align=1
-                                                            local.get 1
-                                                            i32.const 0
-                                                            i32.store offset=185 align=1
-                                                            local.get 1
-                                                            i32.const 18
-                                                            i32.store8 offset=184
-                                                            local.get 1
-                                                            i32.const 128
-                                                            i32.add
-                                                            local.get 1
-                                                            i32.const 184
-                                                            i32.add
-                                                            call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
-                                                            local.get 1
-                                                            i32.const 160
-                                                            i32.add
-                                                            call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-                                                            local.get 1
-                                                            i32.load offset=164
-                                                            local.tee 3
-                                                            local.get 1
-                                                            i64.load offset=128 align=4
-                                                            i64.store align=4
-                                                            local.get 3
-                                                            i32.const 8
-                                                            i32.add
-                                                            local.get 1
-                                                            i32.const 128
-                                                            i32.add
-                                                            i32.const 8
-                                                            i32.add
-                                                            i64.load align=4
-                                                            i64.store align=4
-                                                            local.get 3
-                                                            i32.const 16
-                                                            i32.add
-                                                            local.get 1
-                                                            i32.const 128
-                                                            i32.add
-                                                            i32.const 16
-                                                            i32.add
-                                                            i32.load
-                                                            i32.store
-                                                            local.get 1
-                                                            i32.const 1
-                                                            i32.store offset=168
-                                                            local.get 2
-                                                            i32.load offset=8
-                                                            br_if 21 (;@7;)
-                                                            local.get 2
-                                                            i32.const -1
-                                                            i32.store offset=8
-                                                            local.get 1
-                                                            i32.const 184
-                                                            i32.add
-                                                            local.get 1
-                                                            i32.const 160
-                                                            i32.add
-                                                            call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-                                                            local.get 4
-                                                            local.get 1
-                                                            i32.load offset=188
-                                                            local.tee 3
-                                                            local.get 1
-                                                            i32.load offset=192
-                                                            local.tee 5
-                                                            call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
-                                                            local.get 1
-                                                            i32.const 196
-                                                            i32.add
-                                                            local.get 3
-                                                            local.get 5
-                                                            local.get 1
-                                                            i32.load offset=184
-                                                            i32.load offset=16
-                                                            call_indirect (type 0)
-                                                            local.get 2
-                                                            local.get 2
-                                                            i32.load offset=8
-                                                            i32.const 1
-                                                            i32.add
-                                                            i32.store offset=8
-                                                            block  ;; label = @29
-                                                              local.get 1
-                                                              i32.load offset=168
-                                                              local.tee 3
-                                                              i32.eqz
-                                                              br_if 0 (;@29;)
-                                                              local.get 1
-                                                              i32.load offset=164
-                                                              local.set 0
-                                                              local.get 3
-                                                              i32.const 1
-                                                              i32.and
-                                                              local.set 6
-                                                              i32.const 0
-                                                              local.set 4
-                                                              block  ;; label = @30
-                                                                local.get 3
-                                                                i32.const 1
-                                                                i32.eq
-                                                                br_if 0 (;@30;)
-                                                                local.get 3
-                                                                i32.const -2
-                                                                i32.and
-                                                                local.set 5
-                                                                i32.const 0
-                                                                local.set 4
-                                                                local.get 0
-                                                                local.set 3
-                                                                loop  ;; label = @31
-                                                                  local.get 3
-                                                                  i32.const 16
-                                                                  i32.add
-                                                                  local.get 3
-                                                                  i32.const 8
-                                                                  i32.add
-                                                                  i32.load
-                                                                  local.get 3
-                                                                  i32.const 12
-                                                                  i32.add
-                                                                  i32.load
-                                                                  local.get 3
-                                                                  i32.const 4
-                                                                  i32.add
-                                                                  i32.load
-                                                                  i32.load offset=16
-                                                                  call_indirect (type 0)
-                                                                  local.get 3
-                                                                  i32.const 36
-                                                                  i32.add
-                                                                  local.get 3
-                                                                  i32.const 28
-                                                                  i32.add
-                                                                  i32.load
-                                                                  local.get 3
-                                                                  i32.const 32
-                                                                  i32.add
-                                                                  i32.load
-                                                                  local.get 3
-                                                                  i32.const 24
-                                                                  i32.add
-                                                                  i32.load
-                                                                  i32.load offset=16
-                                                                  call_indirect (type 0)
-                                                                  local.get 3
-                                                                  i32.const 40
-                                                                  i32.add
-                                                                  local.set 3
-                                                                  local.get 5
-                                                                  local.get 4
-                                                                  i32.const 2
-                                                                  i32.add
-                                                                  local.tee 4
-                                                                  i32.ne
-                                                                  br_if 0 (;@31;)
-                                                                end
-                                                              end
-                                                              local.get 6
-                                                              i32.eqz
-                                                              br_if 0 (;@29;)
-                                                              local.get 0
-                                                              local.get 4
-                                                              i32.const 20
-                                                              i32.mul
-                                                              i32.add
-                                                              local.tee 3
-                                                              i32.const 16
-                                                              i32.add
-                                                              local.get 3
-                                                              i32.load offset=8
-                                                              local.get 3
-                                                              i32.load offset=12
-                                                              local.get 3
-                                                              i32.load offset=4
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                            end
-                                                            block  ;; label = @29
-                                                              local.get 1
-                                                              i32.load offset=160
-                                                              local.tee 3
-                                                              i32.eqz
-                                                              br_if 0 (;@29;)
-                                                              local.get 1
-                                                              i32.load offset=164
-                                                              local.get 3
-                                                              i32.const 20
-                                                              i32.mul
-                                                              i32.const 4
-                                                              call $__rust_dealloc
-                                                            end
-                                                            local.get 2
-                                                            local.get 2
-                                                            i32.load
-                                                            i32.const -1
-                                                            i32.add
-                                                            local.tee 3
-                                                            i32.store
-                                                            block  ;; label = @29
-                                                              local.get 3
-                                                              br_if 0 (;@29;)
-                                                              local.get 2
-                                                              local.get 2
-                                                              i32.load offset=4
-                                                              i32.const -1
-                                                              i32.add
-                                                              local.tee 3
-                                                              i32.store offset=4
-                                                              local.get 3
-                                                              br_if 0 (;@29;)
-                                                              local.get 2
-                                                              i32.const 12
-                                                              i32.const 4
-                                                              call $__rust_dealloc
-                                                            end
-                                                            local.get 1
-                                                            i32.const 260
-                                                            i32.add
-                                                            local.get 1
-                                                            i32.load offset=252
-                                                            local.get 1
-                                                            i32.load offset=256
-                                                            local.get 1
-                                                            i32.load offset=248
-                                                            i32.load offset=16
-                                                            call_indirect (type 0)
-                                                            local.get 2
-                                                            local.get 2
-                                                            i32.load
-                                                            i32.const -1
-                                                            i32.add
-                                                            local.tee 3
-                                                            i32.store
-                                                            local.get 3
-                                                            br_if 14 (;@14;)
-                                                            local.get 2
-                                                            local.get 2
-                                                            i32.load offset=4
-                                                            i32.const -1
-                                                            i32.add
-                                                            local.tee 3
-                                                            i32.store offset=4
-                                                            local.get 3
-                                                            br_if 14 (;@14;)
-                                                            local.get 2
-                                                            i32.const 12
-                                                            i32.const 4
-                                                            call $__rust_dealloc
-                                                            br 14 (;@14;)
-                                                          end
-                                                          i32.const 1049796
-                                                          call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                                                          unreachable
-                                                        end
-                                                        local.get 1
-                                                        i32.const 248
-                                                        i32.add
-                                                        i32.const 8
-                                                        i32.add
-                                                        local.get 1
-                                                        i32.const 24
-                                                        i32.add
-                                                        i32.const 8
-                                                        i32.add
-                                                        i64.load align=4
-                                                        i64.store
-                                                        local.get 1
-                                                        local.get 1
-                                                        i64.load offset=24 align=4
-                                                        i64.store offset=248
-                                                        local.get 1
-                                                        i32.const 0
-                                                        i32.store offset=264
-                                                        local.get 2
-                                                        local.get 2
-                                                        i32.load
-                                                        i32.const 1
-                                                        i32.add
-                                                        local.tee 3
-                                                        i32.store
-                                                        local.get 3
-                                                        i32.eqz
-                                                        br_if 16 (;@10;)
-                                                        local.get 1
-                                                        i32.const 1049408
-                                                        i32.store offset=108
-                                                        local.get 1
-                                                        local.get 2
-                                                        i32.store offset=104
-                                                        local.get 1
-                                                        i32.const 184
-                                                        i32.add
-                                                        local.get 1
-                                                        i32.const 104
-                                                        i32.add
-                                                        call $_ZN5erc205erc205Erc2012total_supply17hfe7aaedf3a1c67e9E
-                                                        local.get 1
-                                                        i32.const 0
-                                                        i32.store offset=168
-                                                        local.get 1
-                                                        i64.const 17179869184
-                                                        i64.store offset=160 align=4
-                                                        local.get 1
-                                                        i32.const 128
-                                                        i32.add
-                                                        local.get 1
-                                                        i32.const 184
-                                                        i32.add
-                                                        call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
-                                                        local.get 1
-                                                        i32.const 160
-                                                        i32.add
-                                                        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-                                                        local.get 1
-                                                        i32.load offset=164
-                                                        local.tee 3
-                                                        local.get 1
-                                                        i64.load offset=128 align=4
-                                                        i64.store align=4
-                                                        local.get 3
-                                                        i32.const 8
-                                                        i32.add
-                                                        local.get 1
-                                                        i32.const 128
-                                                        i32.add
-                                                        i32.const 8
-                                                        i32.add
-                                                        i64.load align=4
-                                                        i64.store align=4
-                                                        local.get 3
-                                                        i32.const 16
-                                                        i32.add
-                                                        local.get 1
-                                                        i32.const 128
-                                                        i32.add
-                                                        i32.const 16
-                                                        i32.add
-                                                        i32.load
-                                                        i32.store
-                                                        local.get 1
-                                                        i32.const 1
-                                                        i32.store offset=168
-                                                        local.get 2
-                                                        i32.load offset=8
-                                                        br_if 20 (;@6;)
-                                                        local.get 2
-                                                        i32.const -1
-                                                        i32.store offset=8
-                                                        local.get 1
-                                                        i32.const 184
-                                                        i32.add
-                                                        local.get 1
-                                                        i32.const 160
-                                                        i32.add
-                                                        call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-                                                        local.get 4
-                                                        local.get 1
-                                                        i32.load offset=188
-                                                        local.tee 3
-                                                        local.get 1
-                                                        i32.load offset=192
-                                                        local.tee 5
-                                                        call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
-                                                        local.get 1
-                                                        i32.const 196
-                                                        i32.add
-                                                        local.get 3
-                                                        local.get 5
-                                                        local.get 1
-                                                        i32.load offset=184
-                                                        i32.load offset=16
-                                                        call_indirect (type 0)
-                                                        local.get 2
-                                                        local.get 2
-                                                        i32.load offset=8
-                                                        i32.const 1
-                                                        i32.add
-                                                        i32.store offset=8
-                                                        block  ;; label = @27
-                                                          local.get 1
-                                                          i32.load offset=168
-                                                          local.tee 3
-                                                          i32.eqz
-                                                          br_if 0 (;@27;)
-                                                          local.get 1
-                                                          i32.load offset=164
-                                                          local.set 0
-                                                          local.get 3
-                                                          i32.const 1
-                                                          i32.and
-                                                          local.set 6
-                                                          i32.const 0
-                                                          local.set 4
-                                                          block  ;; label = @28
-                                                            local.get 3
-                                                            i32.const 1
-                                                            i32.eq
-                                                            br_if 0 (;@28;)
-                                                            local.get 3
-                                                            i32.const -2
-                                                            i32.and
-                                                            local.set 5
-                                                            i32.const 0
-                                                            local.set 4
-                                                            local.get 0
-                                                            local.set 3
-                                                            loop  ;; label = @29
-                                                              local.get 3
-                                                              i32.const 16
-                                                              i32.add
-                                                              local.get 3
-                                                              i32.const 8
-                                                              i32.add
-                                                              i32.load
-                                                              local.get 3
-                                                              i32.const 12
-                                                              i32.add
-                                                              i32.load
-                                                              local.get 3
-                                                              i32.const 4
-                                                              i32.add
-                                                              i32.load
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 3
-                                                              i32.const 36
-                                                              i32.add
-                                                              local.get 3
-                                                              i32.const 28
-                                                              i32.add
-                                                              i32.load
-                                                              local.get 3
-                                                              i32.const 32
-                                                              i32.add
-                                                              i32.load
-                                                              local.get 3
-                                                              i32.const 24
-                                                              i32.add
-                                                              i32.load
-                                                              i32.load offset=16
-                                                              call_indirect (type 0)
-                                                              local.get 3
-                                                              i32.const 40
-                                                              i32.add
-                                                              local.set 3
-                                                              local.get 5
-                                                              local.get 4
-                                                              i32.const 2
-                                                              i32.add
-                                                              local.tee 4
-                                                              i32.ne
-                                                              br_if 0 (;@29;)
-                                                            end
-                                                          end
-                                                          local.get 6
-                                                          i32.eqz
-                                                          br_if 0 (;@27;)
-                                                          local.get 0
-                                                          local.get 4
-                                                          i32.const 20
-                                                          i32.mul
-                                                          i32.add
-                                                          local.tee 3
-                                                          i32.const 16
-                                                          i32.add
-                                                          local.get 3
-                                                          i32.load offset=8
-                                                          local.get 3
-                                                          i32.load offset=12
-                                                          local.get 3
-                                                          i32.load offset=4
-                                                          i32.load offset=16
-                                                          call_indirect (type 0)
-                                                        end
-                                                        block  ;; label = @27
-                                                          local.get 1
-                                                          i32.load offset=160
-                                                          local.tee 3
-                                                          i32.eqz
-                                                          br_if 0 (;@27;)
-                                                          local.get 1
-                                                          i32.load offset=164
-                                                          local.get 3
-                                                          i32.const 20
-                                                          i32.mul
-                                                          i32.const 4
-                                                          call $__rust_dealloc
-                                                        end
-                                                        local.get 2
-                                                        local.get 2
-                                                        i32.load
-                                                        i32.const -1
-                                                        i32.add
-                                                        local.tee 3
-                                                        i32.store
-                                                        block  ;; label = @27
-                                                          local.get 3
-                                                          br_if 0 (;@27;)
-                                                          local.get 2
-                                                          local.get 2
-                                                          i32.load offset=4
-                                                          i32.const -1
-                                                          i32.add
-                                                          local.tee 3
-                                                          i32.store offset=4
-                                                          local.get 3
-                                                          br_if 0 (;@27;)
-                                                          local.get 2
-                                                          i32.const 12
-                                                          i32.const 4
-                                                          call $__rust_dealloc
-                                                        end
-                                                        local.get 1
-                                                        i32.const 260
-                                                        i32.add
-                                                        local.get 1
-                                                        i32.load offset=252
-                                                        local.get 1
-                                                        i32.load offset=256
-                                                        local.get 1
-                                                        i32.load offset=248
-                                                        i32.load offset=16
-                                                        call_indirect (type 0)
-                                                        local.get 2
-                                                        local.get 2
-                                                        i32.load
-                                                        i32.const -1
-                                                        i32.add
-                                                        local.tee 3
-                                                        i32.store
-                                                        local.get 3
-                                                        br_if 12 (;@14;)
-                                                        local.get 2
-                                                        local.get 2
-                                                        i32.load offset=4
-                                                        i32.const -1
-                                                        i32.add
-                                                        local.tee 3
-                                                        i32.store offset=4
-                                                        local.get 3
-                                                        br_if 12 (;@14;)
-                                                        local.get 2
-                                                        i32.const 12
-                                                        i32.const 4
-                                                        call $__rust_dealloc
-                                                        br 12 (;@14;)
-                                                      end
-                                                      i32.const 1049780
-                                                      call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                                                      unreachable
-                                                    end
-                                                    local.get 1
-                                                    i32.const 104
-                                                    i32.add
-                                                    i32.const 8
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 24
-                                                    i32.add
-                                                    i32.const 8
-                                                    i32.add
-                                                    i64.load align=4
-                                                    local.tee 7
-                                                    i64.store
-                                                    local.get 1
-                                                    local.get 1
-                                                    i64.load offset=24 align=4
-                                                    i64.store offset=104
-                                                    local.get 1
-                                                    i32.const 0
-                                                    i32.store offset=120
-                                                    local.get 1
-                                                    local.get 7
-                                                    i32.wrap_i64
-                                                    local.tee 3
-                                                    i32.store offset=160
-                                                    local.get 1
-                                                    i32.const 32
-                                                    i32.store offset=248
-                                                    local.get 3
-                                                    i32.const 31
-                                                    i32.le_u
-                                                    br_if 19 (;@5;)
-                                                    local.get 1
-                                                    i32.const 272
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 116
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.load offset=108
-                                                    local.get 3
-                                                    local.get 1
-                                                    i32.load offset=104
-                                                    i32.load
-                                                    call_indirect (type 2)
-                                                    local.get 1
-                                                    i32.const 32
-                                                    i32.store offset=280
-                                                    local.get 1
-                                                    i32.const 184
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 272
-                                                    i32.add
-                                                    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
-                                                    local.get 1
-                                                    i32.const 212
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 104
-                                                    i32.add
-                                                    i32.const 8
-                                                    i32.add
-                                                    i64.load
-                                                    local.tee 7
-                                                    i64.store align=4
-                                                    local.get 1
-                                                    i32.const 32
-                                                    i32.store offset=220
-                                                    local.get 1
-                                                    local.get 1
-                                                    i64.load offset=104
-                                                    local.tee 8
-                                                    i64.store offset=204 align=4
-                                                    local.get 1
-                                                    i32.const 160
-                                                    i32.add
-                                                    i32.const 16
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 184
-                                                    i32.add
-                                                    i32.const 16
-                                                    i32.add
-                                                    i32.load
-                                                    i32.store
-                                                    local.get 1
-                                                    i32.const 160
-                                                    i32.add
-                                                    i32.const 8
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 184
-                                                    i32.add
-                                                    i32.const 8
-                                                    i32.add
-                                                    i64.load align=4
-                                                    i64.store
-                                                    local.get 1
-                                                    local.get 1
-                                                    i64.load offset=184 align=4
-                                                    i64.store offset=160
-                                                    local.get 1
-                                                    i32.const 248
-                                                    i32.add
-                                                    i32.const 16
-                                                    i32.add
-                                                    i32.const 32
-                                                    i32.store
-                                                    local.get 1
-                                                    i32.const 248
-                                                    i32.add
-                                                    i32.const 8
-                                                    i32.add
-                                                    local.get 7
-                                                    i64.store
-                                                    local.get 1
-                                                    local.get 8
-                                                    i64.store offset=248
-                                                    local.get 2
-                                                    local.get 2
-                                                    i32.load
-                                                    i32.const 1
-                                                    i32.add
-                                                    local.tee 3
-                                                    i32.store
-                                                    local.get 3
-                                                    i32.eqz
-                                                    br_if 14 (;@10;)
-                                                    local.get 1
-                                                    i32.const 1049408
-                                                    i32.store offset=60
-                                                    local.get 1
-                                                    local.get 2
-                                                    i32.store offset=56
-                                                    local.get 1
-                                                    i32.const 184
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 56
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 160
-                                                    i32.add
-                                                    call $_ZN5erc205erc205Erc2010balance_of17h30b9a5b4c7c2e770E
-                                                    local.get 1
-                                                    i32.const 0
-                                                    i32.store offset=88
-                                                    local.get 1
-                                                    i64.const 17179869184
-                                                    i64.store offset=80 align=4
-                                                    local.get 1
-                                                    i32.const 128
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 184
-                                                    i32.add
-                                                    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
-                                                    local.get 1
-                                                    i32.const 80
-                                                    i32.add
-                                                    call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-                                                    local.get 1
-                                                    i32.load offset=84
-                                                    local.tee 3
-                                                    local.get 1
-                                                    i64.load offset=128 align=4
-                                                    i64.store align=4
-                                                    local.get 3
-                                                    i32.const 8
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 128
-                                                    i32.add
-                                                    i32.const 8
-                                                    i32.add
-                                                    i64.load align=4
-                                                    i64.store align=4
-                                                    local.get 3
-                                                    i32.const 16
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 128
-                                                    i32.add
-                                                    i32.const 16
-                                                    i32.add
-                                                    i32.load
-                                                    i32.store
-                                                    local.get 1
-                                                    i32.const 1
-                                                    i32.store offset=88
-                                                    local.get 2
-                                                    i32.load offset=8
-                                                    br_if 20 (;@4;)
-                                                    local.get 2
-                                                    i32.const -1
-                                                    i32.store offset=8
-                                                    local.get 1
-                                                    i32.const 184
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.const 80
-                                                    i32.add
-                                                    call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-                                                    local.get 4
-                                                    local.get 1
-                                                    i32.load offset=188
-                                                    local.tee 3
-                                                    local.get 1
-                                                    i32.load offset=192
-                                                    local.tee 5
-                                                    call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
-                                                    local.get 1
-                                                    i32.const 196
-                                                    i32.add
-                                                    local.get 3
-                                                    local.get 5
-                                                    local.get 1
-                                                    i32.load offset=184
-                                                    i32.load offset=16
-                                                    call_indirect (type 0)
-                                                    local.get 2
-                                                    local.get 2
-                                                    i32.load offset=8
-                                                    i32.const 1
-                                                    i32.add
-                                                    i32.store offset=8
-                                                    block  ;; label = @25
-                                                      local.get 1
-                                                      i32.load offset=88
-                                                      local.tee 3
-                                                      i32.eqz
-                                                      br_if 0 (;@25;)
-                                                      local.get 1
-                                                      i32.load offset=84
-                                                      local.set 0
-                                                      local.get 3
-                                                      i32.const 1
-                                                      i32.and
-                                                      local.set 6
-                                                      i32.const 0
-                                                      local.set 4
-                                                      block  ;; label = @26
-                                                        local.get 3
-                                                        i32.const 1
-                                                        i32.eq
-                                                        br_if 0 (;@26;)
-                                                        local.get 3
-                                                        i32.const -2
-                                                        i32.and
-                                                        local.set 5
-                                                        i32.const 0
-                                                        local.set 4
-                                                        local.get 0
-                                                        local.set 3
-                                                        loop  ;; label = @27
-                                                          local.get 3
-                                                          i32.const 16
-                                                          i32.add
-                                                          local.get 3
-                                                          i32.const 8
-                                                          i32.add
-                                                          i32.load
-                                                          local.get 3
-                                                          i32.const 12
-                                                          i32.add
-                                                          i32.load
-                                                          local.get 3
-                                                          i32.const 4
-                                                          i32.add
-                                                          i32.load
-                                                          i32.load offset=16
-                                                          call_indirect (type 0)
-                                                          local.get 3
-                                                          i32.const 36
-                                                          i32.add
-                                                          local.get 3
-                                                          i32.const 28
-                                                          i32.add
-                                                          i32.load
-                                                          local.get 3
-                                                          i32.const 32
-                                                          i32.add
-                                                          i32.load
-                                                          local.get 3
-                                                          i32.const 24
-                                                          i32.add
-                                                          i32.load
-                                                          i32.load offset=16
-                                                          call_indirect (type 0)
-                                                          local.get 3
-                                                          i32.const 40
-                                                          i32.add
-                                                          local.set 3
-                                                          local.get 5
-                                                          local.get 4
-                                                          i32.const 2
-                                                          i32.add
-                                                          local.tee 4
-                                                          i32.ne
-                                                          br_if 0 (;@27;)
-                                                        end
-                                                      end
-                                                      local.get 6
-                                                      i32.eqz
-                                                      br_if 0 (;@25;)
-                                                      local.get 0
-                                                      local.get 4
-                                                      i32.const 20
-                                                      i32.mul
-                                                      i32.add
-                                                      local.tee 3
-                                                      i32.const 16
-                                                      i32.add
-                                                      local.get 3
-                                                      i32.load offset=8
-                                                      local.get 3
-                                                      i32.load offset=12
-                                                      local.get 3
-                                                      i32.load offset=4
-                                                      i32.load offset=16
-                                                      call_indirect (type 0)
-                                                    end
-                                                    block  ;; label = @25
-                                                      local.get 1
-                                                      i32.load offset=80
-                                                      local.tee 3
-                                                      i32.eqz
-                                                      br_if 0 (;@25;)
-                                                      local.get 1
-                                                      i32.load offset=84
-                                                      local.get 3
-                                                      i32.const 20
-                                                      i32.mul
-                                                      i32.const 4
-                                                      call $__rust_dealloc
-                                                    end
-                                                    local.get 2
-                                                    local.get 2
-                                                    i32.load
-                                                    i32.const -1
-                                                    i32.add
-                                                    local.tee 3
-                                                    i32.store
-                                                    block  ;; label = @25
-                                                      local.get 3
-                                                      br_if 0 (;@25;)
-                                                      local.get 2
-                                                      local.get 2
-                                                      i32.load offset=4
-                                                      i32.const -1
-                                                      i32.add
-                                                      local.tee 3
-                                                      i32.store offset=4
-                                                      local.get 3
-                                                      br_if 0 (;@25;)
-                                                      local.get 2
-                                                      i32.const 12
-                                                      i32.const 4
-                                                      call $__rust_dealloc
-                                                    end
-                                                    local.get 1
-                                                    i32.const 260
-                                                    i32.add
-                                                    local.get 1
-                                                    i32.load offset=252
-                                                    local.get 1
-                                                    i32.load offset=256
-                                                    local.get 1
-                                                    i32.load offset=248
-                                                    i32.load offset=16
-                                                    call_indirect (type 0)
-                                                    local.get 2
-                                                    local.get 2
-                                                    i32.load
-                                                    i32.const -1
-                                                    i32.add
-                                                    local.tee 3
-                                                    i32.store
-                                                    local.get 3
-                                                    br_if 10 (;@14;)
-                                                    local.get 2
-                                                    local.get 2
-                                                    i32.load offset=4
-                                                    i32.const -1
-                                                    i32.add
-                                                    local.tee 3
-                                                    i32.store offset=4
-                                                    local.get 3
-                                                    br_if 10 (;@14;)
-                                                    local.get 2
-                                                    i32.const 12
-                                                    i32.const 4
-                                                    call $__rust_dealloc
-                                                    br 10 (;@14;)
-                                                  end
-                                                  i32.const 1049764
-                                                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                                                  unreachable
-                                                end
-                                                local.get 1
-                                                i32.const 56
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                local.get 1
-                                                i32.const 24
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                i64.load align=4
-                                                local.tee 7
-                                                i64.store
-                                                local.get 1
-                                                local.get 1
-                                                i64.load offset=24 align=4
-                                                i64.store offset=56
-                                                local.get 1
-                                                i32.const 0
-                                                i32.store offset=72
-                                                local.get 1
-                                                local.get 7
-                                                i32.wrap_i64
-                                                local.tee 3
-                                                i32.store offset=160
-                                                local.get 1
-                                                i32.const 32
-                                                i32.store offset=248
-                                                local.get 3
-                                                i32.const 31
-                                                i32.le_u
-                                                br_if 19 (;@3;)
-                                                local.get 1
-                                                i32.const 288
-                                                i32.add
-                                                local.get 1
-                                                i32.const 68
-                                                i32.add
-                                                local.get 1
-                                                i32.load offset=60
-                                                local.get 3
-                                                local.get 1
-                                                i32.load offset=56
-                                                i32.load
-                                                call_indirect (type 2)
-                                                local.get 1
-                                                i32.const 32
-                                                i32.store offset=296
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                local.get 1
-                                                i32.const 288
-                                                i32.add
-                                                call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
-                                                local.get 1
-                                                i32.const 212
-                                                i32.add
-                                                local.get 1
-                                                i32.const 56
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                i64.load
-                                                local.tee 7
-                                                i64.store align=4
-                                                local.get 1
-                                                i32.const 104
-                                                i32.add
-                                                i32.const 16
-                                                i32.add
-                                                i32.const 32
-                                                i32.store
-                                                local.get 1
-                                                i32.const 104
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                local.tee 3
-                                                local.get 7
-                                                i64.store
-                                                local.get 1
-                                                i32.const 32
-                                                i32.store offset=220
-                                                local.get 1
-                                                local.get 1
-                                                i64.load offset=56
-                                                local.tee 7
-                                                i64.store offset=204 align=4
-                                                local.get 1
-                                                i32.const 80
-                                                i32.add
-                                                i32.const 16
-                                                i32.add
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                i32.const 16
-                                                i32.add
-                                                local.tee 5
-                                                i32.load
-                                                i32.store
-                                                local.get 1
-                                                i32.const 80
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                local.tee 0
-                                                i64.load align=4
-                                                i64.store
-                                                local.get 1
-                                                local.get 7
-                                                i64.store offset=104
-                                                local.get 1
-                                                local.get 1
-                                                i64.load offset=184 align=4
-                                                i64.store offset=80
-                                                local.get 1
-                                                i32.const 128
-                                                i32.add
-                                                local.get 1
-                                                i32.const 104
-                                                i32.add
-                                                i32.const 32
-                                                i32.const 64
-                                                call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                local.get 1
-                                                i32.const 128
-                                                i32.add
-                                                call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E
-                                                local.get 1
-                                                i32.const 224
-                                                i32.add
-                                                local.get 3
-                                                i64.load
-                                                local.tee 7
-                                                i64.store align=4
-                                                local.get 1
-                                                local.get 1
-                                                i64.load offset=104
-                                                local.tee 8
-                                                i64.store offset=216 align=4
-                                                local.get 1
-                                                i32.const 64
-                                                i32.store offset=232
-                                                local.get 1
-                                                i32.const 128
-                                                i32.add
-                                                i32.const 24
-                                                i32.add
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                i32.const 24
-                                                i32.add
-                                                i64.load align=4
-                                                i64.store
-                                                local.get 1
-                                                i32.const 128
-                                                i32.add
-                                                i32.const 16
-                                                i32.add
-                                                local.get 5
-                                                i64.load align=4
-                                                i64.store
-                                                local.get 1
-                                                i32.const 128
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                local.get 0
-                                                i64.load align=4
-                                                i64.store
-                                                local.get 1
-                                                local.get 1
-                                                i64.load offset=184 align=4
-                                                i64.store offset=128
-                                                local.get 1
-                                                i32.const 160
-                                                i32.add
-                                                i32.const 16
-                                                i32.add
-                                                i32.const 64
-                                                i32.store
-                                                local.get 1
-                                                i32.const 160
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                local.get 7
-                                                i64.store
-                                                local.get 1
-                                                local.get 8
-                                                i64.store offset=160
-                                                local.get 2
-                                                local.get 2
-                                                i32.load
-                                                i32.const 1
-                                                i32.add
-                                                local.tee 3
-                                                i32.store
-                                                local.get 3
-                                                i32.eqz
-                                                br_if 12 (;@10;)
-                                                local.get 2
-                                                i32.load offset=8
-                                                local.tee 3
-                                                i32.const 2147483647
-                                                i32.ge_u
-                                                br_if 20 (;@2;)
-                                                local.get 2
-                                                local.get 3
-                                                i32.const 1
-                                                i32.add
-                                                i32.store offset=8
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                i32.const 16
-                                                i32.add
-                                                local.tee 3
-                                                i32.const 0
-                                                i32.store
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                local.tee 5
-                                                i64.const 0
-                                                i64.store
-                                                local.get 1
-                                                i64.const 0
-                                                i64.store offset=184
-                                                local.get 4
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$6caller17h6e5bbf9110a580a2E
-                                                local.get 1
-                                                i32.const 248
-                                                i32.add
-                                                i32.const 16
-                                                i32.add
-                                                local.tee 0
-                                                local.get 3
-                                                i32.load
-                                                i32.store
-                                                local.get 1
-                                                i32.const 248
-                                                i32.add
-                                                i32.const 8
-                                                i32.add
-                                                local.tee 6
-                                                local.get 5
-                                                i64.load
-                                                i64.store
-                                                local.get 1
-                                                local.get 1
-                                                i64.load offset=184
-                                                i64.store offset=248
-                                                local.get 2
-                                                local.get 2
-                                                i32.load offset=8
-                                                i32.const -1
-                                                i32.add
-                                                i32.store offset=8
-                                                local.get 2
-                                                i32.const 1049408
-                                                local.get 1
-                                                i32.const 248
-                                                i32.add
-                                                local.get 1
-                                                i32.const 80
-                                                i32.add
-                                                local.get 1
-                                                i32.const 128
-                                                i32.add
-                                                call $_ZN5erc205erc205Erc209_transfer17h2686357d78aa1243E.llvm.12425491971175694154
-                                                local.get 1
-                                                i32.const 0
-                                                i32.store offset=244
-                                                local.get 1
-                                                i64.const 17179869184
-                                                i64.store offset=236 align=4
-                                                local.get 1
-                                                i32.const 208
-                                                i32.add
-                                                i64.const 0
-                                                i64.store
-                                                local.get 3
-                                                i64.const 0
-                                                i64.store
-                                                local.get 5
-                                                i64.const 0
-                                                i64.store
-                                                local.get 1
-                                                i64.const 0
-                                                i64.store offset=184
-                                                local.get 1
-                                                i32.const 248
-                                                i32.add
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
-                                                local.get 1
-                                                i32.const 236
-                                                i32.add
-                                                call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-                                                local.get 1
-                                                i32.load offset=240
-                                                local.tee 3
-                                                local.get 1
-                                                i64.load offset=248 align=4
-                                                i64.store align=4
-                                                local.get 3
-                                                i32.const 8
-                                                i32.add
-                                                local.get 6
-                                                i64.load align=4
-                                                i64.store align=4
-                                                local.get 3
-                                                i32.const 16
-                                                i32.add
-                                                local.get 0
-                                                i32.load
-                                                i32.store
-                                                local.get 1
-                                                i32.const 1
-                                                i32.store offset=244
-                                                local.get 2
-                                                i32.load offset=8
-                                                br_if 21 (;@1;)
-                                                local.get 2
-                                                i32.const -1
-                                                i32.store offset=8
-                                                local.get 1
-                                                i32.const 184
-                                                i32.add
-                                                local.get 1
-                                                i32.const 236
-                                                i32.add
-                                                call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-                                                local.get 4
-                                                local.get 1
-                                                i32.load offset=188
-                                                local.tee 3
-                                                local.get 1
-                                                i32.load offset=192
-                                                local.tee 5
-                                                call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
-                                                local.get 1
-                                                i32.const 196
-                                                i32.add
-                                                local.get 3
-                                                local.get 5
-                                                local.get 1
-                                                i32.load offset=184
-                                                i32.load offset=16
-                                                call_indirect (type 0)
-                                                local.get 2
-                                                local.get 2
-                                                i32.load offset=8
-                                                i32.const 1
-                                                i32.add
-                                                i32.store offset=8
-                                                block  ;; label = @23
-                                                  local.get 1
-                                                  i32.load offset=244
-                                                  local.tee 3
-                                                  i32.eqz
-                                                  br_if 0 (;@23;)
-                                                  local.get 1
-                                                  i32.load offset=240
-                                                  local.set 0
-                                                  local.get 3
-                                                  i32.const 1
-                                                  i32.and
-                                                  local.set 6
-                                                  i32.const 0
-                                                  local.set 4
-                                                  block  ;; label = @24
-                                                    local.get 3
-                                                    i32.const 1
-                                                    i32.eq
-                                                    br_if 0 (;@24;)
-                                                    local.get 3
-                                                    i32.const -2
-                                                    i32.and
-                                                    local.set 5
-                                                    i32.const 0
-                                                    local.set 4
-                                                    local.get 0
-                                                    local.set 3
-                                                    loop  ;; label = @25
-                                                      local.get 3
-                                                      i32.const 16
-                                                      i32.add
-                                                      local.get 3
-                                                      i32.const 8
-                                                      i32.add
-                                                      i32.load
-                                                      local.get 3
-                                                      i32.const 12
-                                                      i32.add
-                                                      i32.load
-                                                      local.get 3
-                                                      i32.const 4
-                                                      i32.add
-                                                      i32.load
-                                                      i32.load offset=16
-                                                      call_indirect (type 0)
-                                                      local.get 3
-                                                      i32.const 36
-                                                      i32.add
-                                                      local.get 3
-                                                      i32.const 28
-                                                      i32.add
-                                                      i32.load
-                                                      local.get 3
-                                                      i32.const 32
-                                                      i32.add
-                                                      i32.load
-                                                      local.get 3
-                                                      i32.const 24
-                                                      i32.add
-                                                      i32.load
-                                                      i32.load offset=16
-                                                      call_indirect (type 0)
-                                                      local.get 3
-                                                      i32.const 40
-                                                      i32.add
-                                                      local.set 3
-                                                      local.get 5
-                                                      local.get 4
-                                                      i32.const 2
-                                                      i32.add
-                                                      local.tee 4
-                                                      i32.ne
-                                                      br_if 0 (;@25;)
-                                                    end
-                                                  end
-                                                  local.get 6
-                                                  i32.eqz
-                                                  br_if 0 (;@23;)
-                                                  local.get 0
-                                                  local.get 4
-                                                  i32.const 20
-                                                  i32.mul
-                                                  i32.add
-                                                  local.tee 3
-                                                  i32.const 16
-                                                  i32.add
-                                                  local.get 3
-                                                  i32.load offset=8
-                                                  local.get 3
-                                                  i32.load offset=12
-                                                  local.get 3
-                                                  i32.load offset=4
-                                                  i32.load offset=16
-                                                  call_indirect (type 0)
-                                                end
-                                                block  ;; label = @23
-                                                  local.get 1
-                                                  i32.load offset=236
-                                                  local.tee 3
-                                                  i32.eqz
-                                                  br_if 0 (;@23;)
-                                                  local.get 1
-                                                  i32.load offset=240
-                                                  local.get 3
-                                                  i32.const 20
-                                                  i32.mul
-                                                  i32.const 4
-                                                  call $__rust_dealloc
-                                                end
-                                                local.get 2
-                                                local.get 2
-                                                i32.load
-                                                i32.const -1
-                                                i32.add
-                                                local.tee 3
-                                                i32.store
-                                                block  ;; label = @23
-                                                  local.get 3
-                                                  br_if 0 (;@23;)
-                                                  local.get 2
-                                                  local.get 2
-                                                  i32.load offset=4
-                                                  i32.const -1
-                                                  i32.add
-                                                  local.tee 3
-                                                  i32.store offset=4
-                                                  local.get 3
-                                                  br_if 0 (;@23;)
-                                                  local.get 2
-                                                  i32.const 12
-                                                  i32.const 4
-                                                  call $__rust_dealloc
-                                                end
-                                                local.get 1
-                                                i32.const 172
-                                                i32.add
-                                                local.get 1
-                                                i32.load offset=164
-                                                local.get 1
-                                                i32.load offset=168
-                                                local.get 1
-                                                i32.load offset=160
-                                                i32.load offset=16
-                                                call_indirect (type 0)
-                                                local.get 2
-                                                local.get 2
-                                                i32.load
-                                                i32.const -1
-                                                i32.add
-                                                local.tee 3
-                                                i32.store
-                                                local.get 3
-                                                br_if 8 (;@14;)
-                                                local.get 2
-                                                local.get 2
-                                                i32.load offset=4
-                                                i32.const -1
-                                                i32.add
-                                                local.tee 3
-                                                i32.store offset=4
-                                                local.get 3
-                                                br_if 8 (;@14;)
-                                                local.get 2
-                                                i32.const 12
-                                                i32.const 4
-                                                call $__rust_dealloc
-                                                br 8 (;@14;)
-                                              end
-                                              i32.const 1049748
-                                              call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                                              unreachable
-                                            end
-                                            local.get 2
-                                            local.get 1
-                                            i32.const 24
-                                            i32.add
-                                            call $_ZN5erc2016erc20_dispatcher15allowanceCaller17h88b0d279a6747d5fE
-                                            br 6 (;@14;)
-                                          end
-                                          i32.const 1049732
-                                          call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                                          unreachable
-                                        end
-                                        local.get 2
-                                        local.get 1
-                                        i32.const 24
-                                        i32.add
-                                        call $_ZN5erc2016erc20_dispatcher13approveCaller17h6ecdfab69f1d6d39E
-                                        br 4 (;@14;)
-                                      end
-                                      i32.const 1049716
-                                      call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                                      unreachable
-                                    end
-                                    local.get 2
-                                    local.get 1
-                                    i32.const 24
-                                    i32.add
-                                    call $_ZN5erc2016erc20_dispatcher18transferFromCaller17h03cbb7fc36e0b02dE
-                                    br 2 (;@14;)
-                                  end
-                                  i32.const 1049700
-                                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                                  unreachable
-                                end
-                                local.get 2
-                                local.get 1
-                                i32.const 24
-                                i32.add
-                                call $_ZN5erc2016erc20_dispatcher10mintCaller17h395bb690fc6f5359E
-                              end
-                              local.get 1
-                              i32.const 52
-                              i32.add
-                              local.get 1
-                              i32.load offset=44
-                              local.get 1
-                              i32.load offset=48
-                              local.get 1
-                              i32.load offset=40
-                              i32.load offset=16
-                              call_indirect (type 0)
-                            end
-                            local.get 1
-                            i32.const 304
-                            i32.add
-                            global.set $__stack_pointer
-                            return
-                          end
-                          i32.const 4
-                          i32.const 12
-                          call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-                          unreachable
-                        end
-                        local.get 6
-                        local.get 5
-                        call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-                        unreachable
-                      end
-                      unreachable
-                      unreachable
-                    end
-                    i32.const 1049828
-                    call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-                    unreachable
-                  end
-                  i32.const 1049812
-                  call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-                  unreachable
-                end
-                i32.const 1049844
-                call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-                unreachable
-              end
-              i32.const 1049860
-              call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-              unreachable
-            end
-            local.get 1
-            i32.const 2
-            i32.store offset=188
-            local.get 1
-            i32.const 1049196
-            i32.store offset=184
-            local.get 1
-            i64.const 2
-            i64.store offset=196 align=4
-            local.get 1
-            i32.const 1
-            i64.extend_i32_u
-            i64.const 32
-            i64.shl
-            local.tee 7
-            local.get 1
-            i32.const 160
-            i32.add
-            i64.extend_i32_u
-            i64.or
-            i64.store offset=136
-            local.get 1
-            local.get 7
-            local.get 1
-            i32.const 248
-            i32.add
-            i64.extend_i32_u
-            i64.or
-            i64.store offset=128
-            local.get 1
-            local.get 1
-            i32.const 128
-            i32.add
-            i32.store offset=192
-            local.get 1
-            i32.const 184
-            i32.add
-            i32.const 1049212
-            call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-            unreachable
-          end
-          i32.const 1049876
-          call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-          unreachable
-        end
-        local.get 1
-        i32.const 2
-        i32.store offset=188
-        local.get 1
-        i32.const 1049196
-        i32.store offset=184
-        local.get 1
-        i64.const 2
-        i64.store offset=196 align=4
-        local.get 1
-        i32.const 1
-        i64.extend_i32_u
-        i64.const 32
-        i64.shl
-        local.tee 7
-        local.get 1
-        i32.const 160
-        i32.add
-        i64.extend_i32_u
-        i64.or
-        i64.store offset=136
-        local.get 1
-        local.get 7
-        local.get 1
-        i32.const 248
-        i32.add
-        i64.extend_i32_u
-        i64.or
-        i64.store offset=128
-        local.get 1
-        local.get 1
-        i32.const 128
-        i32.add
-        i32.store offset=192
-        local.get 1
-        i32.const 184
-        i32.add
-        i32.const 1049212
-        call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-        unreachable
-      end
-      i32.const 1048704
-      call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-      unreachable
-    end
-    i32.const 1049892
-    call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-    unreachable)
-  (func $_ZN5erc2016erc20_dispatcher15allowanceCaller17h88b0d279a6747d5fE (type 4) (param i32 i32)
-    (local i32 i32 i32 i64 i32 i32 i64)
-    global.get $__stack_pointer
-    i32.const 208
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    i32.const 8
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 3
-    local.get 1
-    i32.const 8
-    i32.add
-    i64.load align=4
-    i64.store
-    local.get 2
-    i32.const 0
-    i32.store offset=24
-    local.get 2
-    local.get 1
-    i64.load align=4
-    i64.store offset=8
-    local.get 2
-    i32.const 188
-    i32.add
-    local.get 2
-    i32.const 8
-    i32.add
-    i32.const 0
-    i32.const 32
-    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
-    local.get 2
-    i32.const 128
-    i32.add
-    local.get 2
-    i32.const 188
-    i32.add
-    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
-    local.get 2
-    i32.const 156
-    i32.add
-    local.tee 4
-    local.get 3
-    i64.load
-    local.tee 5
-    i64.store align=4
-    local.get 2
-    i32.const 56
-    i32.add
-    i32.const 16
-    i32.add
-    local.tee 1
-    i32.const 32
-    i32.store
-    local.get 2
-    i32.const 56
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 3
-    local.get 5
-    i64.store
-    local.get 2
-    local.get 2
-    i64.load offset=8
-    local.tee 5
-    i64.store offset=148 align=4
-    local.get 2
-    i32.const 32
-    i32.store offset=164
-    local.get 2
-    i32.const 32
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 2
-    i32.const 128
-    i32.add
-    i32.const 16
-    i32.add
-    local.tee 6
-    i32.load
-    i32.store
-    local.get 2
-    i32.const 32
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 2
-    i32.const 128
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 7
-    i64.load align=4
-    i64.store
-    local.get 2
-    local.get 5
-    i64.store offset=56
-    local.get 2
-    local.get 2
-    i64.load offset=128 align=4
-    i64.store offset=32
-    local.get 2
-    i32.const 188
-    i32.add
-    local.get 2
-    i32.const 56
-    i32.add
-    local.get 1
-    i32.load
-    local.tee 1
-    local.get 1
-    i32.const 32
-    i32.add
-    local.tee 1
-    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
-    local.get 2
-    i32.const 128
-    i32.add
-    local.get 2
-    i32.const 188
-    i32.add
-    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
-    local.get 4
-    local.get 3
-    i64.load
-    local.tee 5
-    i64.store align=4
-    local.get 2
-    local.get 2
-    i64.load offset=56
-    local.tee 8
-    i64.store offset=148 align=4
-    local.get 2
-    local.get 1
-    i32.store offset=164
-    local.get 2
-    i32.const 80
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 6
-    i32.load
-    i32.store
-    local.get 2
-    i32.const 80
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 7
-    i64.load align=4
-    i64.store
-    local.get 2
-    local.get 2
-    i64.load offset=128 align=4
-    i64.store offset=80
-    local.get 2
-    i32.const 104
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 1
-    i32.store
-    local.get 2
-    i32.const 104
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 5
-    i64.store
-    local.get 2
-    local.get 8
-    i64.store offset=104
-    local.get 0
-    local.get 0
-    i32.load
-    i32.const 1
-    i32.add
-    local.tee 1
-    i32.store
-    block  ;; label = @1
-      local.get 1
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 2
-      i32.const 1049408
-      i32.store offset=172
-      local.get 2
-      local.get 0
-      i32.store offset=168
-      local.get 2
-      i32.const 128
-      i32.add
-      local.get 2
-      i32.const 168
-      i32.add
-      local.get 2
-      i32.const 32
-      i32.add
-      local.get 2
-      i32.const 80
-      i32.add
-      call $_ZN5erc205erc205Erc209allowance17h75c7fcb584df1022E
-      local.get 2
-      i32.const 0
-      i32.store offset=184
-      local.get 2
-      i64.const 17179869184
-      i64.store offset=176 align=4
-      local.get 2
-      i32.const 188
-      i32.add
-      local.get 2
-      i32.const 128
-      i32.add
-      call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
-      local.get 2
-      i32.const 176
-      i32.add
-      call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-      local.get 2
-      i32.load offset=180
-      local.tee 1
-      local.get 2
-      i64.load offset=188 align=4
-      i64.store align=4
-      local.get 1
-      i32.const 8
-      i32.add
-      local.get 2
-      i32.const 188
-      i32.add
-      i32.const 8
-      i32.add
-      i64.load align=4
-      i64.store align=4
-      local.get 1
-      i32.const 16
-      i32.add
-      local.get 2
-      i32.const 188
-      i32.add
-      i32.const 16
-      i32.add
-      i32.load
-      i32.store
-      local.get 2
-      i32.const 1
-      i32.store offset=184
-      block  ;; label = @2
-        local.get 0
-        i32.const 8
-        i32.add
-        i32.load
-        br_if 0 (;@2;)
-        local.get 0
-        i32.const 8
-        i32.add
-        local.tee 1
-        i32.const -1
-        i32.store
-        local.get 0
-        i32.const 12
-        i32.add
-        local.tee 3
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 2
-        i32.const 128
-        i32.add
-        local.get 2
-        i32.const 176
-        i32.add
-        call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-        local.get 3
-        local.get 2
-        i32.load offset=132
-        local.tee 4
-        local.get 2
-        i32.load offset=136
-        local.tee 6
-        call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
-        local.get 2
-        i32.const 128
-        i32.add
-        i32.const 12
-        i32.add
-        local.get 4
-        local.get 6
-        local.get 2
-        i32.load offset=128
-        i32.load offset=16
-        call_indirect (type 0)
-        local.get 1
-        local.get 1
-        i32.load
-        i32.const 1
-        i32.add
-        i32.store
-        block  ;; label = @3
-          local.get 2
-          i32.load offset=184
-          local.tee 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 2
-          i32.load offset=180
-          local.set 6
-          local.get 1
-          i32.const 1
-          i32.and
-          local.set 7
-          i32.const 0
-          local.set 3
-          block  ;; label = @4
-            local.get 1
-            i32.const 1
-            i32.eq
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const -2
-            i32.and
-            local.set 4
-            i32.const 0
-            local.set 3
-            local.get 6
-            local.set 1
-            loop  ;; label = @5
-              local.get 1
-              i32.const 16
-              i32.add
-              local.get 1
-              i32.const 8
-              i32.add
-              i32.load
-              local.get 1
-              i32.const 12
-              i32.add
-              i32.load
-              local.get 1
-              i32.const 4
-              i32.add
-              i32.load
-              i32.load offset=16
-              call_indirect (type 0)
-              local.get 1
-              i32.const 36
-              i32.add
-              local.get 1
-              i32.const 28
-              i32.add
-              i32.load
-              local.get 1
-              i32.const 32
-              i32.add
-              i32.load
-              local.get 1
-              i32.const 24
-              i32.add
-              i32.load
-              i32.load offset=16
-              call_indirect (type 0)
-              local.get 1
-              i32.const 40
-              i32.add
-              local.set 1
-              local.get 4
-              local.get 3
-              i32.const 2
-              i32.add
-              local.tee 3
-              i32.ne
-              br_if 0 (;@5;)
-            end
-          end
-          local.get 7
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 6
-          local.get 3
-          i32.const 20
-          i32.mul
-          i32.add
-          local.tee 1
-          i32.const 16
-          i32.add
-          local.get 1
-          i32.load offset=8
-          local.get 1
-          i32.load offset=12
-          local.get 1
-          i32.load offset=4
-          i32.load offset=16
-          call_indirect (type 0)
-        end
-        block  ;; label = @3
-          local.get 2
-          i32.load offset=176
-          local.tee 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 2
-          i32.load offset=180
-          local.get 1
-          i32.const 20
-          i32.mul
-          i32.const 4
-          call $__rust_dealloc
-        end
-        local.get 0
-        local.get 0
-        i32.load
-        i32.const -1
-        i32.add
-        local.tee 1
-        i32.store
-        block  ;; label = @3
-          local.get 1
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 4
-          i32.add
-          local.tee 1
-          local.get 1
-          i32.load
-          i32.const -1
-          i32.add
-          local.tee 1
-          i32.store
-          local.get 1
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 12
-          i32.const 4
-          call $__rust_dealloc
-        end
-        local.get 2
-        i32.const 116
-        i32.add
-        local.get 2
-        i32.load offset=108
-        local.get 2
-        i32.load offset=112
-        local.get 2
-        i32.load offset=104
-        i32.load offset=16
-        call_indirect (type 0)
-        local.get 0
-        local.get 0
-        i32.load
-        i32.const -1
-        i32.add
-        local.tee 1
-        i32.store
-        block  ;; label = @3
-          local.get 1
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 4
-          i32.add
-          local.tee 1
-          local.get 1
-          i32.load
-          i32.const -1
-          i32.add
-          local.tee 1
-          i32.store
-          local.get 1
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 12
-          i32.const 4
-          call $__rust_dealloc
-        end
-        local.get 2
-        i32.const 208
-        i32.add
-        global.set $__stack_pointer
-        return
-      end
-      i32.const 1049908
-      call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-      unreachable
-    end
-    unreachable
-    unreachable)
-  (func $_ZN5erc2016erc20_dispatcher13approveCaller17h6ecdfab69f1d6d39E (type 4) (param i32 i32)
-    (local i32 i32 i64 i32 i64 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 240
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    i32.const 8
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 3
-    local.get 1
-    i32.const 8
-    i32.add
-    i64.load align=4
-    local.tee 4
-    i64.store
-    local.get 2
-    i32.const 0
-    i32.store offset=24
-    local.get 2
-    local.get 1
-    i64.load align=4
-    i64.store offset=8
-    local.get 2
-    local.get 4
-    i32.wrap_i64
-    local.tee 1
-    i32.store offset=112
-    local.get 2
-    i32.const 32
-    i32.store offset=200
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          i32.const 31
-          i32.le_u
-          br_if 0 (;@3;)
-          local.get 2
-          i32.const 224
-          i32.add
-          local.get 2
-          i32.const 20
-          i32.add
-          local.get 2
-          i32.load offset=12
-          local.get 1
-          local.get 2
-          i32.load offset=8
-          i32.load
-          call_indirect (type 2)
-          local.get 2
-          i32.const 32
-          i32.store offset=232
-          local.get 2
-          i32.const 136
-          i32.add
-          local.get 2
-          i32.const 224
-          i32.add
-          call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
-          local.get 2
-          i32.const 164
-          i32.add
-          local.get 3
-          i64.load
-          local.tee 4
-          i64.store align=4
-          local.get 2
-          i32.const 56
-          i32.add
-          i32.const 16
-          i32.add
-          i32.const 32
-          i32.store
-          local.get 2
-          i32.const 56
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 1
-          local.get 4
-          i64.store
-          local.get 2
-          i32.const 32
-          i32.store offset=172
-          local.get 2
-          local.get 2
-          i64.load offset=8
-          local.tee 4
-          i64.store offset=156 align=4
-          local.get 2
-          i32.const 32
-          i32.add
-          i32.const 16
-          i32.add
-          local.get 2
-          i32.const 136
-          i32.add
-          i32.const 16
-          i32.add
-          local.tee 3
-          i32.load
-          i32.store
-          local.get 2
-          i32.const 32
-          i32.add
-          i32.const 8
-          i32.add
-          local.get 2
-          i32.const 136
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 5
-          i64.load align=4
-          i64.store
-          local.get 2
-          local.get 4
-          i64.store offset=56
-          local.get 2
-          local.get 2
-          i64.load offset=136 align=4
-          i64.store offset=32
-          local.get 2
-          i32.const 80
-          i32.add
-          local.get 2
-          i32.const 56
-          i32.add
-          i32.const 32
-          i32.const 64
-          call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
-          local.get 2
-          i32.const 136
-          i32.add
-          local.get 2
-          i32.const 80
-          i32.add
-          call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E
-          local.get 2
-          i32.const 176
-          i32.add
-          local.get 1
-          i64.load
-          local.tee 4
-          i64.store align=4
-          local.get 2
-          local.get 2
-          i64.load offset=56
-          local.tee 6
-          i64.store offset=168 align=4
-          local.get 2
-          i32.const 64
-          i32.store offset=184
-          local.get 2
-          i32.const 80
-          i32.add
-          i32.const 24
-          i32.add
-          local.get 2
-          i32.const 136
-          i32.add
-          i32.const 24
-          i32.add
-          i64.load align=4
-          i64.store
-          local.get 2
-          i32.const 80
-          i32.add
-          i32.const 16
-          i32.add
-          local.get 3
-          i64.load align=4
-          i64.store
-          local.get 2
-          i32.const 80
-          i32.add
-          i32.const 8
-          i32.add
-          local.get 5
-          i64.load align=4
-          i64.store
-          local.get 2
-          local.get 2
-          i64.load offset=136 align=4
-          i64.store offset=80
-          local.get 2
-          i32.const 112
-          i32.add
-          i32.const 16
-          i32.add
-          i32.const 64
-          i32.store
-          local.get 2
-          i32.const 112
-          i32.add
-          i32.const 8
-          i32.add
-          local.get 4
-          i64.store
-          local.get 2
-          local.get 6
-          i64.store offset=112
-          local.get 0
-          local.get 0
-          i32.load
-          i32.const 1
-          i32.add
-          local.tee 1
-          i32.store
-          local.get 1
-          i32.eqz
-          br_if 1 (;@2;)
-          local.get 0
-          i32.const 8
-          i32.add
-          local.tee 1
-          i32.load
-          local.tee 3
-          i32.const 2147483646
-          i32.gt_u
-          br_if 2 (;@1;)
-          local.get 1
-          local.get 3
-          i32.const 1
-          i32.add
-          i32.store
-          local.get 0
-          i32.const 12
-          i32.add
-          local.tee 3
-          i32.eqz
-          br_if 2 (;@1;)
-          local.get 2
-          i32.const 136
-          i32.add
-          i32.const 16
-          i32.add
-          local.tee 5
-          i32.const 0
-          i32.store
-          local.get 2
-          i32.const 136
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 7
-          i64.const 0
-          i64.store
-          local.get 2
-          i64.const 0
-          i64.store offset=136
-          local.get 3
-          local.get 2
-          i32.const 136
-          i32.add
-          call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$6caller17h6e5bbf9110a580a2E
-          local.get 2
-          i32.const 200
-          i32.add
-          i32.const 16
-          i32.add
-          local.tee 8
-          local.get 5
-          i32.load
-          i32.store
-          local.get 2
-          i32.const 200
-          i32.add
-          i32.const 8
-          i32.add
-          local.tee 9
-          local.get 7
-          i64.load
-          i64.store
-          local.get 2
-          local.get 2
-          i64.load offset=136
-          i64.store offset=200
-          local.get 0
-          i32.const 8
-          i32.add
-          local.tee 1
-          local.get 1
-          i32.load
-          i32.const -1
-          i32.add
-          i32.store
-          local.get 0
-          i32.const 1049408
-          local.get 2
-          i32.const 200
-          i32.add
-          local.get 2
-          i32.const 32
-          i32.add
-          local.get 2
-          i32.const 80
-          i32.add
-          i32.const 1
-          call $_ZN5erc205erc205Erc208_approve17h53bfc76d7c1fe7cfE.llvm.12425491971175694154
-          local.get 2
-          i32.const 0
-          i32.store offset=196
-          local.get 2
-          i64.const 17179869184
-          i64.store offset=188 align=4
-          local.get 2
-          i32.const 160
-          i32.add
-          i64.const 0
-          i64.store
-          local.get 5
-          i64.const 0
-          i64.store
-          local.get 7
-          i64.const 0
-          i64.store
-          local.get 2
-          i64.const 0
-          i64.store offset=136
-          local.get 2
-          i32.const 200
-          i32.add
-          local.get 2
-          i32.const 136
-          i32.add
-          call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
-          local.get 2
-          i32.const 188
-          i32.add
-          call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-          local.get 2
-          i32.load offset=192
-          local.tee 5
-          local.get 2
-          i64.load offset=200 align=4
-          i64.store align=4
-          local.get 5
-          i32.const 8
-          i32.add
-          local.get 9
-          i64.load align=4
-          i64.store align=4
-          local.get 5
-          i32.const 16
-          i32.add
-          local.get 8
-          i32.load
-          i32.store
-          local.get 2
-          i32.const 1
-          i32.store offset=196
-          block  ;; label = @4
-            local.get 1
-            i32.load
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const -1
-            i32.store
-            local.get 2
-            i32.const 136
-            i32.add
-            local.get 2
-            i32.const 188
-            i32.add
-            call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-            local.get 3
-            local.get 2
-            i32.load offset=140
-            local.tee 5
-            local.get 2
-            i32.load offset=144
-            local.tee 7
-            call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
-            local.get 2
-            i32.const 148
-            i32.add
-            local.get 5
-            local.get 7
-            local.get 2
-            i32.load offset=136
-            i32.load offset=16
-            call_indirect (type 0)
-            local.get 1
-            local.get 1
-            i32.load
-            i32.const 1
-            i32.add
-            i32.store
-            block  ;; label = @5
-              local.get 2
-              i32.load offset=196
-              local.tee 1
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 2
-              i32.load offset=192
-              local.set 7
-              local.get 1
-              i32.const 1
-              i32.and
-              local.set 8
-              i32.const 0
-              local.set 3
-              block  ;; label = @6
-                local.get 1
-                i32.const 1
-                i32.eq
-                br_if 0 (;@6;)
-                local.get 1
-                i32.const -2
-                i32.and
-                local.set 5
-                i32.const 0
-                local.set 3
-                local.get 7
-                local.set 1
-                loop  ;; label = @7
-                  local.get 1
-                  i32.const 16
-                  i32.add
-                  local.get 1
-                  i32.const 8
-                  i32.add
-                  i32.load
-                  local.get 1
-                  i32.const 12
-                  i32.add
-                  i32.load
-                  local.get 1
-                  i32.const 4
-                  i32.add
-                  i32.load
-                  i32.load offset=16
-                  call_indirect (type 0)
-                  local.get 1
-                  i32.const 36
-                  i32.add
-                  local.get 1
-                  i32.const 28
-                  i32.add
-                  i32.load
-                  local.get 1
-                  i32.const 32
-                  i32.add
-                  i32.load
-                  local.get 1
-                  i32.const 24
-                  i32.add
-                  i32.load
-                  i32.load offset=16
-                  call_indirect (type 0)
-                  local.get 1
-                  i32.const 40
-                  i32.add
-                  local.set 1
-                  local.get 5
-                  local.get 3
-                  i32.const 2
-                  i32.add
-                  local.tee 3
-                  i32.ne
-                  br_if 0 (;@7;)
-                end
-              end
-              local.get 8
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 7
-              local.get 3
-              i32.const 20
-              i32.mul
-              i32.add
-              local.tee 1
-              i32.const 16
-              i32.add
-              local.get 1
-              i32.load offset=8
-              local.get 1
-              i32.load offset=12
-              local.get 1
-              i32.load offset=4
-              i32.load offset=16
-              call_indirect (type 0)
-            end
-            block  ;; label = @5
-              local.get 2
-              i32.load offset=188
-              local.tee 1
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 2
-              i32.load offset=192
-              local.get 1
-              i32.const 20
-              i32.mul
-              i32.const 4
-              call $__rust_dealloc
-            end
-            local.get 0
-            local.get 0
-            i32.load
-            i32.const -1
-            i32.add
-            local.tee 1
-            i32.store
-            block  ;; label = @5
-              local.get 1
-              br_if 0 (;@5;)
-              local.get 0
-              i32.const 4
-              i32.add
-              local.tee 1
-              local.get 1
-              i32.load
-              i32.const -1
-              i32.add
-              local.tee 1
-              i32.store
-              local.get 1
-              br_if 0 (;@5;)
-              local.get 0
-              i32.const 12
-              i32.const 4
-              call $__rust_dealloc
-            end
-            local.get 2
-            i32.const 124
-            i32.add
-            local.get 2
-            i32.load offset=116
-            local.get 2
-            i32.load offset=120
-            local.get 2
-            i32.load offset=112
-            i32.load offset=16
-            call_indirect (type 0)
-            local.get 0
-            local.get 0
-            i32.load
-            i32.const -1
-            i32.add
-            local.tee 1
-            i32.store
-            block  ;; label = @5
-              local.get 1
-              br_if 0 (;@5;)
-              local.get 0
-              i32.const 4
-              i32.add
-              local.tee 1
-              local.get 1
-              i32.load
-              i32.const -1
-              i32.add
-              local.tee 1
-              i32.store
-              local.get 1
-              br_if 0 (;@5;)
-              local.get 0
-              i32.const 12
-              i32.const 4
-              call $__rust_dealloc
-            end
-            local.get 2
-            i32.const 240
-            i32.add
-            global.set $__stack_pointer
-            return
-          end
-          i32.const 1049924
-          call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-          unreachable
-        end
-        local.get 2
-        i32.const 2
-        i32.store offset=140
-        local.get 2
-        i32.const 1049196
-        i32.store offset=136
-        local.get 2
-        i64.const 2
-        i64.store offset=148 align=4
-        local.get 2
-        i32.const 1
-        i64.extend_i32_u
-        i64.const 32
-        i64.shl
-        local.tee 4
-        local.get 2
-        i32.const 112
-        i32.add
-        i64.extend_i32_u
-        i64.or
-        i64.store offset=88
-        local.get 2
-        local.get 4
-        local.get 2
-        i32.const 200
-        i32.add
-        i64.extend_i32_u
-        i64.or
-        i64.store offset=80
-        local.get 2
-        local.get 2
-        i32.const 80
-        i32.add
-        i32.store offset=144
-        local.get 2
-        i32.const 136
-        i32.add
-        i32.const 1049212
-        call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-        unreachable
-      end
-      unreachable
-      unreachable
-    end
-    i32.const 1048720
-    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-    unreachable)
-  (func $_ZN5erc2016erc20_dispatcher18transferFromCaller17h03cbb7fc36e0b02dE (type 4) (param i32 i32)
-    (local i32 i32 i32 i64 i32 i32 i64)
-    global.get $__stack_pointer
-    i32.const 272
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    i32.const 8
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 3
-    local.get 1
-    i32.const 8
-    i32.add
-    i64.load align=4
-    i64.store
-    local.get 2
-    i32.const 0
-    i32.store offset=24
-    local.get 2
-    local.get 1
-    i64.load align=4
-    i64.store offset=8
-    local.get 2
-    i32.const 128
-    i32.add
-    local.get 2
-    i32.const 8
-    i32.add
-    i32.const 0
-    i32.const 32
-    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
-    local.get 2
-    i32.const 180
-    i32.add
-    local.get 2
-    i32.const 128
-    i32.add
-    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
-    local.get 2
-    i32.const 208
-    i32.add
-    local.tee 4
-    local.get 3
-    i64.load
-    local.tee 5
-    i64.store align=4
-    local.get 2
-    i32.const 56
-    i32.add
-    i32.const 16
-    i32.add
-    local.tee 6
-    i32.const 32
-    i32.store
-    local.get 2
-    i32.const 56
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 7
-    local.get 5
-    i64.store
-    local.get 2
-    local.get 2
-    i64.load offset=8
-    local.tee 5
-    i64.store offset=200 align=4
-    local.get 2
-    i32.const 32
-    i32.store offset=216
-    local.get 2
-    i32.const 32
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 2
-    i32.const 180
-    i32.add
-    i32.const 16
-    i32.add
-    local.tee 1
-    i32.load
-    i32.store
-    local.get 2
-    i32.const 32
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 2
-    i32.const 180
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 3
-    i64.load align=4
-    i64.store
-    local.get 2
-    local.get 5
-    i64.store offset=56
-    local.get 2
-    local.get 2
-    i64.load offset=180 align=4
-    i64.store offset=32
-    local.get 2
-    i32.const 128
-    i32.add
-    local.get 2
-    i32.const 56
-    i32.add
-    local.get 6
-    i32.load
-    local.tee 6
-    local.get 6
-    i32.const 32
-    i32.add
-    local.tee 6
-    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
-    local.get 2
-    i32.const 180
-    i32.add
-    local.get 2
-    i32.const 128
-    i32.add
-    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
-    local.get 4
-    local.get 7
-    i64.load
-    local.tee 5
-    i64.store align=4
-    local.get 2
-    i32.const 104
-    i32.add
-    i32.const 16
-    i32.add
-    local.tee 4
-    local.get 6
-    i32.store
-    local.get 2
-    i32.const 104
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 7
-    local.get 5
-    i64.store
-    local.get 2
-    local.get 2
-    i64.load offset=56
-    local.tee 5
-    i64.store offset=200 align=4
-    local.get 2
-    local.get 6
-    i32.store offset=216
-    local.get 2
-    i32.const 80
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 1
-    i32.load
-    i32.store
-    local.get 2
-    i32.const 80
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 3
-    i64.load align=4
-    i64.store
-    local.get 2
-    local.get 5
-    i64.store offset=104
-    local.get 2
-    local.get 2
-    i64.load offset=180 align=4
-    i64.store offset=80
-    local.get 2
-    i32.const 128
-    i32.add
-    local.get 2
-    i32.const 104
-    i32.add
-    local.get 4
-    i32.load
-    local.tee 6
-    local.get 6
-    i32.const 32
-    i32.add
-    local.tee 6
-    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
-    local.get 2
-    i32.const 180
-    i32.add
-    local.get 2
-    i32.const 128
-    i32.add
-    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E
-    local.get 2
-    i32.const 220
-    i32.add
-    local.get 7
-    i64.load
-    local.tee 5
-    i64.store align=4
-    local.get 2
-    local.get 2
-    i64.load offset=104
-    local.tee 8
-    i64.store offset=212 align=4
-    local.get 2
-    local.get 6
-    i32.store offset=228
-    local.get 2
-    i32.const 128
-    i32.add
-    i32.const 24
-    i32.add
-    local.get 2
-    i32.const 180
-    i32.add
-    i32.const 24
-    i32.add
-    local.tee 4
-    i64.load align=4
-    i64.store
-    local.get 2
-    i32.const 128
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 1
-    i64.load align=4
-    i64.store
-    local.get 2
-    i32.const 128
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 3
-    i64.load align=4
-    i64.store
-    local.get 2
-    local.get 2
-    i64.load offset=180 align=4
-    i64.store offset=128
-    local.get 2
-    i32.const 160
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 6
-    i32.store
-    local.get 2
-    i32.const 160
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 5
-    i64.store
-    local.get 2
-    local.get 8
-    i64.store offset=160
-    local.get 0
-    local.get 0
-    i32.load
-    i32.const 1
-    i32.add
-    local.tee 3
-    i32.store
-    block  ;; label = @1
-      local.get 3
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 2
-      i32.const 1049408
-      i32.store offset=236
-      local.get 2
-      local.get 0
-      i32.store offset=232
-      local.get 2
-      i32.const 232
-      i32.add
-      local.get 2
-      i32.const 32
-      i32.add
-      local.get 2
-      i32.const 80
-      i32.add
-      local.get 2
-      i32.const 128
-      i32.add
-      call $_ZN5erc205erc205Erc2013transfer_from17hafd5c8a9b635bbc8E
-      local.set 3
-      local.get 2
-      i32.const 0
-      i32.store offset=248
-      local.get 2
-      i64.const 17179869184
-      i64.store offset=240 align=4
-      local.get 4
-      i64.const 0
-      i64.store align=1
-      local.get 1
-      i64.const 0
-      i64.store align=1
-      local.get 2
-      i32.const 184
-      i32.add
-      i32.const 0
-      i32.store align=1
-      local.get 2
-      i64.const 0
-      i64.store offset=188 align=1
-      local.get 2
-      i32.const 0
-      i32.store offset=181 align=1
-      local.get 2
-      local.get 3
-      i32.const 1
-      i32.xor
-      i32.store8 offset=180
-      local.get 2
-      i32.const 252
-      i32.add
-      local.get 2
-      i32.const 180
-      i32.add
-      call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
-      local.get 2
-      i32.const 240
-      i32.add
-      call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE
-      local.get 2
-      i32.load offset=244
-      local.tee 1
-      local.get 2
-      i64.load offset=252 align=4
-      i64.store align=4
-      local.get 1
-      i32.const 8
-      i32.add
-      local.get 2
-      i32.const 252
-      i32.add
-      i32.const 8
-      i32.add
-      i64.load align=4
-      i64.store align=4
-      local.get 1
-      i32.const 16
-      i32.add
-      local.get 2
-      i32.const 252
-      i32.add
-      i32.const 16
-      i32.add
-      i32.load
-      i32.store
-      local.get 2
-      i32.const 1
-      i32.store offset=248
-      block  ;; label = @2
-        local.get 0
-        i32.const 8
-        i32.add
-        i32.load
-        br_if 0 (;@2;)
-        local.get 0
-        i32.const 8
-        i32.add
-        local.tee 1
-        i32.const -1
-        i32.store
-        local.get 0
-        i32.const 12
-        i32.add
-        local.tee 3
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 2
-        i32.const 180
-        i32.add
-        local.get 2
-        i32.const 240
-        i32.add
-        call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-        local.get 3
-        local.get 2
-        i32.load offset=184
-        local.tee 6
-        local.get 2
-        i32.load offset=188
-        local.tee 4
-        call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
-        local.get 2
-        i32.const 180
-        i32.add
-        i32.const 12
-        i32.add
-        local.get 6
-        local.get 4
-        local.get 2
-        i32.load offset=180
-        i32.load offset=16
-        call_indirect (type 0)
-        local.get 1
-        local.get 1
-        i32.load
-        i32.const 1
-        i32.add
-        i32.store
-        block  ;; label = @3
-          local.get 2
-          i32.load offset=248
-          local.tee 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 2
-          i32.load offset=244
-          local.set 4
-          local.get 1
-          i32.const 1
-          i32.and
-          local.set 7
-          i32.const 0
-          local.set 3
-          block  ;; label = @4
-            local.get 1
-            i32.const 1
-            i32.eq
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const -2
-            i32.and
-            local.set 6
-            i32.const 0
-            local.set 3
-            local.get 4
-            local.set 1
-            loop  ;; label = @5
-              local.get 1
-              i32.const 16
-              i32.add
-              local.get 1
-              i32.const 8
-              i32.add
-              i32.load
-              local.get 1
-              i32.const 12
-              i32.add
-              i32.load
-              local.get 1
-              i32.const 4
-              i32.add
-              i32.load
-              i32.load offset=16
-              call_indirect (type 0)
-              local.get 1
-              i32.const 36
-              i32.add
-              local.get 1
-              i32.const 28
-              i32.add
-              i32.load
-              local.get 1
-              i32.const 32
-              i32.add
-              i32.load
-              local.get 1
-              i32.const 24
-              i32.add
-              i32.load
-              i32.load offset=16
-              call_indirect (type 0)
-              local.get 1
-              i32.const 40
-              i32.add
-              local.set 1
-              local.get 6
-              local.get 3
-              i32.const 2
-              i32.add
-              local.tee 3
-              i32.ne
-              br_if 0 (;@5;)
-            end
-          end
-          local.get 7
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 4
-          local.get 3
-          i32.const 20
-          i32.mul
-          i32.add
-          local.tee 1
-          i32.const 16
-          i32.add
-          local.get 1
-          i32.load offset=8
-          local.get 1
-          i32.load offset=12
-          local.get 1
-          i32.load offset=4
-          i32.load offset=16
-          call_indirect (type 0)
-        end
-        block  ;; label = @3
-          local.get 2
-          i32.load offset=240
-          local.tee 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 2
-          i32.load offset=244
-          local.get 1
-          i32.const 20
-          i32.mul
-          i32.const 4
-          call $__rust_dealloc
-        end
-        local.get 0
-        local.get 0
-        i32.load
-        i32.const -1
-        i32.add
-        local.tee 1
-        i32.store
-        block  ;; label = @3
-          local.get 1
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 4
-          i32.add
-          local.tee 1
-          local.get 1
-          i32.load
-          i32.const -1
-          i32.add
-          local.tee 1
-          i32.store
-          local.get 1
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 12
-          i32.const 4
-          call $__rust_dealloc
-        end
-        local.get 2
-        i32.const 172
-        i32.add
-        local.get 2
-        i32.load offset=164
-        local.get 2
-        i32.load offset=168
-        local.get 2
-        i32.load offset=160
-        i32.load offset=16
-        call_indirect (type 0)
-        local.get 0
-        local.get 0
-        i32.load
-        i32.const -1
-        i32.add
-        local.tee 1
-        i32.store
-        block  ;; label = @3
-          local.get 1
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 4
-          i32.add
-          local.tee 1
-          local.get 1
-          i32.load
-          i32.const -1
-          i32.add
-          local.tee 1
-          i32.store
-          local.get 1
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 12
-          i32.const 4
-          call $__rust_dealloc
-        end
-        local.get 2
-        i32.const 272
-        i32.add
-        global.set $__stack_pointer
-        return
-      end
-      i32.const 1049940
-      call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-      unreachable
-    end
-    unreachable
-    unreachable)
-  (func $_ZN5erc2016erc20_dispatcher10mintCaller17h395bb690fc6f5359E (type 4) (param i32 i32)
-    (local i32 i32 i64 i32 i32 i64)
-    global.get $__stack_pointer
-    i32.const 192
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    i32.const 8
-    i32.add
-    local.tee 3
-    local.get 1
-    i32.const 8
-    i32.add
-    i64.load align=4
-    i64.store
-    local.get 2
-    i32.const 0
-    i32.store offset=16
-    local.get 2
-    local.get 1
-    i64.load align=4
-    i64.store
-    local.get 2
-    i32.const 72
-    i32.add
-    local.get 2
-    i32.const 0
-    i32.const 32
-    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
-    local.get 2
-    i32.const 128
-    i32.add
-    local.get 2
-    i32.const 72
-    i32.add
-    call $_ZN80_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17hd3dbf47909ef21dbE
-    local.get 2
-    i32.const 156
-    i32.add
-    local.get 3
-    i64.load
-    local.tee 4
-    i64.store align=4
-    local.get 2
-    i32.const 48
-    i32.add
-    i32.const 16
-    i32.add
-    local.tee 1
-    i32.const 32
-    i32.store
-    local.get 2
-    i32.const 48
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 5
-    local.get 4
-    i64.store
-    local.get 2
-    local.get 2
-    i64.load
-    local.tee 4
-    i64.store offset=148 align=4
-    local.get 2
-    i32.const 32
-    i32.store offset=164
-    local.get 2
-    i32.const 24
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 2
-    i32.const 128
-    i32.add
-    i32.const 16
-    i32.add
-    local.tee 3
-    i32.load
-    i32.store
-    local.get 2
-    i32.const 24
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 2
-    i32.const 128
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 6
-    i64.load align=4
-    i64.store
-    local.get 2
-    local.get 4
-    i64.store offset=48
-    local.get 2
-    local.get 2
-    i64.load offset=128 align=4
-    i64.store offset=24
-    local.get 2
-    i32.const 72
-    i32.add
-    local.get 2
-    i32.const 48
-    i32.add
-    local.get 1
-    i32.load
-    local.tee 1
-    local.get 1
-    i32.const 32
-    i32.add
-    local.tee 1
-    call $_ZN5bytes5bytes5Bytes5slice17hc102201e918a4f37E
-    local.get 2
-    i32.const 128
-    i32.add
-    local.get 2
-    i32.const 72
-    i32.add
-    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..decoder..Decodable$GT$6decode17he4f1141fa5eb2511E
-    local.get 2
-    i32.const 168
-    i32.add
-    local.get 5
-    i64.load
-    local.tee 4
-    i64.store align=4
-    local.get 2
-    local.get 2
-    i64.load offset=48
-    local.tee 7
-    i64.store offset=160 align=4
-    local.get 2
-    local.get 1
-    i32.store offset=176
-    local.get 2
-    i32.const 72
-    i32.add
-    i32.const 24
-    i32.add
-    local.get 2
-    i32.const 128
-    i32.add
-    i32.const 24
-    i32.add
-    i64.load align=4
-    i64.store
-    local.get 2
-    i32.const 72
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 3
-    i64.load align=4
-    i64.store
-    local.get 2
-    i32.const 72
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 6
-    i64.load align=4
-    i64.store
-    local.get 2
-    local.get 2
-    i64.load offset=128 align=4
-    i64.store offset=72
-    local.get 2
-    i32.const 104
-    i32.add
-    i32.const 16
-    i32.add
-    local.get 1
-    i32.store
-    local.get 2
-    i32.const 104
-    i32.add
-    i32.const 8
-    i32.add
-    local.get 4
-    i64.store
-    local.get 2
-    local.get 7
-    i64.store offset=104
-    local.get 0
-    local.get 0
-    i32.load
-    i32.const 1
-    i32.add
-    local.tee 1
-    i32.store
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 1
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 3
-        i32.const 0
-        i32.store
-        local.get 6
-        i64.const 0
-        i64.store
-        local.get 2
-        i64.const 0
-        i64.store offset=128
-        local.get 2
-        i32.const 24
-        i32.add
-        local.get 2
-        i32.const 128
-        i32.add
-        call $_ZN69_$LT$erc20..unsigned..Unsigned$LT$_$GT$$u20$as$u20$core..cmp..Ord$GT$3cmp17h15702511ba31df5aE
-        i32.const 255
-        i32.and
-        i32.eqz
-        br_if 1 (;@1;)
-        local.get 2
-        i32.const 144
-        i32.add
-        i32.const 0
-        i32.store
-        local.get 2
-        i32.const 128
-        i32.add
-        i32.const 8
-        i32.add
-        i64.const 0
-        i64.store
-        local.get 2
-        i64.const 0
-        i64.store offset=128
-        local.get 0
-        i32.const 1049408
-        local.get 2
-        i32.const 128
-        i32.add
-        local.get 2
-        i32.const 24
-        i32.add
-        local.get 2
-        i32.const 72
-        i32.add
-        call $_ZN5erc205erc205Erc207_update17he4e974dae5007c46E.llvm.12425491971175694154
-        local.get 2
-        i32.const 0
-        i32.store offset=188
-        local.get 2
-        i64.const 17179869184
-        i64.store offset=180 align=4
-        block  ;; label = @3
-          local.get 0
-          i32.const 8
-          i32.add
-          local.tee 1
-          i32.load
-          br_if 0 (;@3;)
-          local.get 1
-          i32.const -1
-          i32.store
-          local.get 0
-          i32.const 12
-          i32.add
-          local.tee 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 2
-          i32.const 128
-          i32.add
-          local.get 2
-          i32.const 180
-          i32.add
-          call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-          local.get 1
-          local.get 2
-          i32.load offset=132
-          local.tee 3
-          local.get 2
-          i32.load offset=136
-          local.tee 6
-          call $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE
-          local.get 2
-          i32.const 128
-          i32.add
-          i32.const 12
-          i32.add
-          local.get 3
-          local.get 6
-          local.get 2
-          i32.load offset=128
-          i32.load offset=16
-          call_indirect (type 0)
-          local.get 0
-          i32.const 8
-          i32.add
-          local.tee 1
-          local.get 1
-          i32.load
-          i32.const 1
-          i32.add
-          i32.store
-          local.get 0
-          local.get 0
-          i32.load
-          i32.const -1
-          i32.add
-          local.tee 1
-          i32.store
-          block  ;; label = @4
-            local.get 1
-            br_if 0 (;@4;)
-            local.get 0
-            i32.const 4
-            i32.add
-            local.tee 1
-            local.get 1
-            i32.load
-            i32.const -1
-            i32.add
-            local.tee 1
-            i32.store
-            local.get 1
-            br_if 0 (;@4;)
-            local.get 0
-            i32.const 12
-            i32.const 4
-            call $__rust_dealloc
-          end
-          local.get 2
-          i32.const 116
-          i32.add
-          local.get 2
-          i32.load offset=108
-          local.get 2
-          i32.load offset=112
-          local.get 2
-          i32.load offset=104
-          i32.load offset=16
-          call_indirect (type 0)
-          local.get 0
-          local.get 0
-          i32.load
-          i32.const -1
-          i32.add
-          local.tee 1
-          i32.store
-          block  ;; label = @4
-            local.get 1
-            br_if 0 (;@4;)
-            local.get 0
-            i32.const 4
-            i32.add
-            local.tee 1
-            local.get 1
-            i32.load
-            i32.const -1
-            i32.add
-            local.tee 1
-            i32.store
-            local.get 1
-            br_if 0 (;@4;)
-            local.get 0
-            i32.const 12
-            i32.const 4
-            call $__rust_dealloc
-          end
-          local.get 2
-          i32.const 192
-          i32.add
-          global.set $__stack_pointer
-          return
-        end
-        i32.const 1049956
-        call $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E
-        unreachable
-      end
-      unreachable
-      unreachable
-    end
-    i32.const 1048802
-    i32.const 12
-    call $_ZN5erc2010assertions4fail17had502d4821c562c7E
-    unreachable)
-  (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE.1 (type 6) (param i32 i32) (result i32)
-    (local i32)
-    block  ;; label = @1
-      local.get 1
-      i32.load offset=28
-      local.tee 2
-      i32.const 16
-      i32.and
-      br_if 0 (;@1;)
-      block  ;; label = @2
-        local.get 2
-        i32.const 32
-        i32.and
-        br_if 0 (;@2;)
-        local.get 0
-        local.get 1
-        call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE
-        return
-      end
-      local.get 0
-      local.get 1
-      call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd504c8c64d2f0cadE
-      return
-    end
-    local.get 0
-    local.get 1
-    call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h3be2bf5a24d84447E)
-  (func $_ZN5alloc7raw_vec11finish_grow17h2fff62103bacea47E (type 2) (param i32 i32 i32 i32)
-    (local i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 2
-          i32.const 0
-          i32.lt_s
-          br_if 1 (;@2;)
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                local.get 3
-                i32.load offset=4
-                i32.eqz
-                br_if 0 (;@6;)
-                block  ;; label = @7
-                  local.get 3
-                  i32.load offset=8
-                  local.tee 4
-                  br_if 0 (;@7;)
-                  block  ;; label = @8
-                    local.get 2
-                    br_if 0 (;@8;)
-                    local.get 1
-                    local.set 3
-                    br 4 (;@4;)
-                  end
-                  i32.const 0
-                  i32.load8_u offset=1051873
-                  drop
-                  br 2 (;@5;)
-                end
-                local.get 3
-                i32.load
-                local.get 4
-                local.get 1
-                local.get 2
-                call $__rust_realloc
-                local.set 3
-                br 2 (;@4;)
-              end
-              block  ;; label = @6
-                local.get 2
-                br_if 0 (;@6;)
-                local.get 1
-                local.set 3
-                br 2 (;@4;)
-              end
-              i32.const 0
-              i32.load8_u offset=1051873
-              drop
-            end
-            local.get 2
-            local.get 1
-            call $__rust_alloc
-            local.set 3
-          end
-          block  ;; label = @4
-            local.get 3
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 0
-            local.get 2
-            i32.store offset=8
-            local.get 0
-            local.get 3
-            i32.store offset=4
-            local.get 0
-            i32.const 0
-            i32.store
-            return
-          end
-          local.get 0
-          local.get 2
-          i32.store offset=8
-          local.get 0
-          local.get 1
-          i32.store offset=4
-          br 2 (;@1;)
-        end
-        local.get 0
-        i32.const 0
-        i32.store offset=4
-        br 1 (;@1;)
-      end
-      local.get 0
-      i32.const 0
-      i32.store offset=4
-    end
-    local.get 0
-    i32.const 1
-    i32.store)
-  (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17had0b7eec2723dc7fE (type 1) (param i32)
-    (local i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 1
-    global.set $__stack_pointer
-    block  ;; label = @1
-      local.get 0
-      i32.load
-      local.tee 2
-      i32.const 1
-      i32.add
-      local.tee 3
-      br_if 0 (;@1;)
-      i32.const 0
-      i32.const 0
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    i32.const 4
-    local.set 4
-    local.get 2
-    i32.const 1
-    i32.shl
-    local.tee 5
-    local.get 3
-    local.get 5
-    local.get 3
-    i32.gt_u
-    select
-    local.tee 3
-    i32.const 4
-    local.get 3
-    i32.const 4
-    i32.gt_u
-    select
-    local.tee 6
-    i32.const 20
-    i32.mul
-    local.set 5
-    local.get 3
-    i32.const 107374183
-    i32.lt_u
-    i32.const 2
-    i32.shl
-    local.set 3
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 2
-        br_if 0 (;@2;)
-        i32.const 0
-        local.set 4
-        br 1 (;@1;)
-      end
-      local.get 1
-      local.get 2
-      i32.const 20
-      i32.mul
-      i32.store offset=28
-      local.get 1
-      local.get 0
-      i32.load offset=4
-      i32.store offset=20
-    end
-    local.get 1
-    local.get 4
-    i32.store offset=24
-    local.get 1
-    i32.const 8
-    i32.add
-    local.get 3
-    local.get 5
-    local.get 1
-    i32.const 20
-    i32.add
-    call $_ZN5alloc7raw_vec11finish_grow17h2fff62103bacea47E
-    block  ;; label = @1
-      local.get 1
-      i32.load offset=8
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 1
-      i32.load offset=12
-      local.get 1
-      i32.load offset=16
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    local.get 1
-    i32.load offset=12
-    local.set 2
-    local.get 0
-    local.get 6
-    i32.store
-    local.get 0
-    local.get 2
-    i32.store offset=4
-    local.get 1
-    i32.const 32
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN69_$LT$erc20..address..Address$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h8008c8716bd1bbd7E (type 4) (param i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 1
-    i32.load8_u offset=19
-    local.set 3
-    local.get 1
-    i32.load8_u offset=18
-    local.set 4
-    local.get 1
-    i32.load8_u offset=17
-    local.set 5
-    local.get 1
-    i32.load8_u offset=16
-    local.set 6
-    local.get 1
-    i32.load8_u offset=15
-    local.set 7
-    local.get 1
-    i32.load8_u offset=14
-    local.set 8
-    local.get 1
-    i32.load8_u offset=13
-    local.set 9
-    local.get 1
-    i32.load8_u offset=12
-    local.set 10
-    local.get 1
-    i32.load8_u offset=11
-    local.set 11
-    local.get 1
-    i32.load offset=7 align=1
-    local.set 12
-    local.get 1
-    i32.load offset=3 align=1
-    local.set 13
-    local.get 1
-    i32.load8_u offset=2
-    local.set 14
-    local.get 1
-    i32.load8_u offset=1
-    local.set 15
-    local.get 1
-    i32.load8_u
-    local.set 1
-    local.get 2
-    i32.const 8
-    i32.add
-    i32.const 0
-    i32.store
-    local.get 2
-    i64.const 0
-    i64.store
-    local.get 2
-    local.get 1
-    i32.store8 offset=31
-    local.get 2
-    local.get 15
-    i32.store8 offset=30
-    local.get 2
-    local.get 14
-    i32.store8 offset=29
-    local.get 2
-    local.get 13
-    i32.store8 offset=28
-    local.get 2
-    local.get 13
-    i32.const 8
-    i32.shr_u
-    i32.store8 offset=27
-    local.get 2
-    local.get 13
-    i32.const 16
-    i32.shr_u
-    i32.store8 offset=26
-    local.get 2
-    local.get 13
-    i32.const 24
-    i32.shr_u
-    i32.store8 offset=25
-    local.get 2
-    local.get 12
-    i32.store8 offset=24
-    local.get 2
-    local.get 12
-    i32.const 8
-    i32.shr_u
-    i32.store8 offset=23
-    local.get 2
-    local.get 12
-    i32.const 16
-    i32.shr_u
-    i32.store8 offset=22
-    local.get 2
-    local.get 12
-    i32.const 24
-    i32.shr_u
-    i32.store8 offset=21
-    local.get 2
-    local.get 11
-    i32.store8 offset=20
-    local.get 2
-    local.get 10
-    i32.store8 offset=19
-    local.get 2
-    local.get 9
-    i32.store8 offset=18
-    local.get 2
-    local.get 8
-    i32.store8 offset=17
-    local.get 2
-    local.get 7
-    i32.store8 offset=16
-    local.get 2
-    local.get 6
-    i32.store8 offset=15
-    local.get 2
-    local.get 5
-    i32.store8 offset=14
-    local.get 2
-    local.get 4
-    i32.store8 offset=13
-    local.get 2
-    local.get 3
-    i32.store8 offset=12
-    local.get 0
-    i32.const 4
-    i32.add
-    local.get 2
-    i32.const 32
-    call $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E
-    local.get 0
-    i32.const 1
-    i32.store8
-    local.get 2
-    i32.const 32
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN5erc2010assertions4fail17had502d4821c562c7E (type 4) (param i32 i32)
-    local.get 0
-    local.get 1
-    call $_ZN5erc203ulm5impl_11failWrapper17hdd9e7a10bdd4c1a0E.llvm.7654405709671502149
-    unreachable)
-  (func $_ZN5erc203ulm5impl_11failWrapper17hdd9e7a10bdd4c1a0E.llvm.7654405709671502149 (type 4) (param i32 i32)
-    local.get 0
-    local.get 1
-    call $fail
-    unreachable)
-  (func $_ZN69_$LT$erc20..balance..Balance$u20$as$u20$erc20..encoder..Encodable$GT$6encode17hede0d9f51024b58fE (type 4) (param i32 i32)
-    local.get 0
-    local.get 1
-    call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E)
-  (func $_ZN67_$LT$alloc..string..String$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h1e4106a43390e251E (type 4) (param i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i64 i32)
-    global.get $__stack_pointer
-    i32.const 128
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 1
-    i32.load offset=4
-    local.set 3
-    i32.const 1
-    local.set 4
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 1
-              i32.load offset=8
-              local.tee 1
-              i32.const 31
-              i32.add
-              i32.const -32
-              i32.and
-              local.tee 5
-              i32.const 32
-              i32.add
-              local.tee 6
-              i32.eqz
-              br_if 0 (;@5;)
-              i32.const 0
-              local.set 7
-              local.get 6
-              i32.const 0
-              i32.lt_s
-              br_if 1 (;@4;)
-              i32.const 0
-              i32.load8_u offset=1051873
-              drop
-              i32.const 1
-              local.set 7
-              local.get 6
-              i32.const 1
-              call $__rust_alloc
-              local.tee 4
-              i32.eqz
-              br_if 1 (;@4;)
-            end
-            i32.const 0
-            local.set 8
-            local.get 2
-            i32.const 0
-            i32.store offset=12
-            local.get 2
-            local.get 4
-            i32.store offset=8
-            local.get 2
-            local.get 6
-            i32.store offset=16
-            local.get 2
-            i32.const 32
-            local.get 6
-            i32.const 10
-            i32.shr_u
-            i32.clz
-            i32.sub
-            local.tee 7
-            i32.const 7
-            local.get 7
-            i32.const 7
-            i32.lt_u
-            select
-            i32.const 2
-            i32.shl
-            i32.const 1
-            i32.or
-            i32.store offset=20
-            local.get 2
-            i32.const 60
-            i32.add
-            i32.const 24
-            i32.add
-            i64.const 0
-            i64.store align=1
-            local.get 2
-            i32.const 60
-            i32.add
-            i32.const 16
-            i32.add
-            i64.const 0
-            i64.store align=1
-            local.get 2
-            i64.const 0
-            i64.store offset=68 align=1
-            local.get 2
-            i32.const 0
-            i32.store offset=64 align=1
-            local.get 2
-            local.get 1
-            i32.store8 offset=60
-            local.get 2
-            local.get 1
-            i32.const 24
-            i32.shr_u
-            i32.store8 offset=63
-            local.get 2
-            local.get 1
-            i32.const 16
-            i32.shr_u
-            i32.store8 offset=62
-            local.get 2
-            local.get 1
-            i32.const 8
-            i32.shr_u
-            i32.store8 offset=61
-            local.get 2
-            i32.const 40
-            i32.add
-            local.get 2
-            i32.const 60
-            i32.add
-            call $_ZN87_$LT$erc20..unsigned..Unsigned$LT$32_usize$GT$$u20$as$u20$erc20..encoder..Encodable$GT$6encode17h771b7c6d703e2f36E
-            local.get 2
-            i32.const 24
-            i32.add
-            i32.const 8
-            i32.add
-            local.get 2
-            i32.const 40
-            i32.add
-            i32.const 12
-            i32.add
-            i64.load align=4
-            local.tee 9
-            i64.store
-            local.get 2
-            local.get 2
-            i64.load offset=44 align=4
-            i64.store offset=24
-            local.get 2
-            i32.load offset=28
-            local.set 10
-            block  ;; label = @5
-              local.get 9
-              i32.wrap_i64
-              local.tee 7
-              i32.eqz
-              br_if 0 (;@5;)
-              block  ;; label = @6
-                local.get 6
-                local.get 7
-                i32.ge_u
-                br_if 0 (;@6;)
-                local.get 2
-                i32.const 8
-                i32.add
-                local.get 7
-                i32.const 1
-                call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
-                drop
-                local.get 2
-                i32.load offset=8
-                local.set 4
-                local.get 2
-                i32.load offset=12
-                local.set 8
-              end
-              local.get 4
-              local.get 8
-              i32.add
-              local.get 10
-              local.get 7
-              call $memcpy
-              drop
-              local.get 2
-              i32.load offset=16
-              local.get 2
-              i32.load offset=12
-              local.tee 4
-              i32.sub
-              local.tee 8
-              local.get 7
-              i32.lt_u
-              br_if 2 (;@3;)
-              local.get 2
-              i32.const 0
-              i32.store offset=32
-              local.get 2
-              local.get 4
-              local.get 7
-              i32.add
-              i32.store offset=12
-              local.get 2
-              local.get 10
-              local.get 7
-              i32.add
-              local.tee 10
-              i32.store offset=28
-            end
-            local.get 2
-            i32.const 24
-            i32.add
-            i32.const 12
-            i32.add
-            local.get 10
-            i32.const 0
-            local.get 2
-            i32.load offset=24
-            i32.load offset=16
-            call_indirect (type 0)
-            local.get 2
-            i32.load offset=12
-            local.set 7
-            block  ;; label = @5
-              local.get 1
-              i32.eqz
-              br_if 0 (;@5;)
-              block  ;; label = @6
-                local.get 2
-                i32.load offset=16
-                local.get 7
-                i32.sub
-                local.get 1
-                i32.ge_u
-                br_if 0 (;@6;)
-                local.get 2
-                i32.const 8
-                i32.add
-                local.get 1
-                i32.const 1
-                call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
-                drop
-                local.get 2
-                i32.load offset=12
-                local.set 7
-              end
-              local.get 2
-              i32.load offset=8
-              local.get 7
-              i32.add
-              local.get 3
-              local.get 1
-              call $memcpy
-              drop
-              local.get 2
-              i32.load offset=16
-              local.get 2
-              i32.load offset=12
-              local.tee 7
-              i32.sub
-              local.tee 10
-              local.get 1
-              i32.lt_u
-              br_if 3 (;@2;)
-              local.get 2
-              local.get 7
-              local.get 1
-              i32.add
-              local.tee 7
-              i32.store offset=12
-            end
-            block  ;; label = @5
-              local.get 7
-              local.get 6
-              i32.ge_u
-              br_if 0 (;@5;)
-              local.get 7
-              local.get 5
-              i32.sub
-              i32.const -32
-              i32.add
-              local.set 1
-              loop  ;; label = @6
-                local.get 2
-                i32.const 0
-                i32.store8 offset=60
-                local.get 2
-                i32.const 8
-                i32.add
-                local.get 2
-                i32.const 60
-                i32.add
-                i32.const 1
-                call $_ZN74_$LT$bytes..bytes_mut..BytesMut$u20$as$u20$bytes..buf..buf_mut..BufMut$GT$9put_slice17h0e2daf131143dac5E
-                local.get 1
-                i32.const 1
-                i32.add
-                local.tee 1
-                br_if 0 (;@6;)
-              end
-              local.get 2
-              i32.load offset=12
-              local.set 7
-            end
-            local.get 2
-            i32.load offset=8
-            local.set 1
-            i32.const 1050872
-            local.set 10
-            block  ;; label = @5
-              local.get 2
-              i32.load offset=20
-              local.tee 6
-              i32.const 1
-              i32.and
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 2
-              i32.const 92
-              i32.add
-              local.get 1
-              local.get 7
-              local.get 2
-              i32.load offset=16
-              local.get 6
-              i32.const 5
-              i32.shr_u
-              local.tee 6
-              call $_ZN5bytes9bytes_mut11rebuild_vec17h38cce237df47590bE
-              local.get 2
-              i32.const 104
-              i32.add
-              local.get 2
-              i32.const 92
-              i32.add
-              call $_ZN92_$LT$bytes..bytes..Bytes$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$4from17h73298beb60a3c1fbE
-              local.get 2
-              local.get 6
-              i32.store offset=120
-              local.get 2
-              i32.load offset=112
-              local.tee 7
-              local.get 6
-              i32.lt_u
-              br_if 4 (;@1;)
-              local.get 2
-              i32.load offset=108
-              local.get 6
-              i32.add
-              local.set 1
-              local.get 7
-              local.get 6
-              i32.sub
-              local.set 7
-              local.get 2
-              i32.load offset=104
-              local.set 10
-              local.get 2
-              i32.load offset=116
-              local.set 6
-            end
-            local.get 0
-            local.get 6
-            i32.store offset=16
-            local.get 0
-            local.get 7
-            i32.store offset=12
-            local.get 0
-            local.get 1
-            i32.store offset=8
-            local.get 0
-            local.get 10
-            i32.store offset=4
-            local.get 0
-            i32.const 2
-            i32.store8
-            local.get 2
-            i32.const 128
-            i32.add
-            global.set $__stack_pointer
-            return
-          end
-          local.get 7
-          local.get 6
-          call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-          unreachable
-        end
-        local.get 7
-        local.get 8
-        call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
-        unreachable
-      end
-      local.get 1
-      local.get 10
-      call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
-      unreachable
-    end
-    local.get 2
-    i32.const 2
-    i32.store offset=64
-    local.get 2
-    i32.const 1050012
-    i32.store offset=60
-    local.get 2
-    i64.const 2
-    i64.store offset=72 align=4
-    local.get 2
-    local.get 7
-    i32.store offset=124
-    local.get 2
-    i32.const 16
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.tee 9
-    local.get 2
-    i32.const 124
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=48
-    local.get 2
-    local.get 9
-    local.get 2
-    i32.const 120
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=40
-    local.get 2
-    local.get 2
-    i32.const 40
-    i32.add
-    i32.store offset=68
-    local.get 2
-    i32.const 60
-    i32.add
-    i32.const 1050120
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN5erc207storage42SingleChunkStorageBuilder$LT$ValueType$GT$5build17hf8294c03859672afE (type 4) (param i32 i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 48
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    local.get 1
-    call $_ZN5erc207encoder7Encoder6encode17h28cb4a953873a097E
-    block  ;; label = @1
-      local.get 1
-      i32.load offset=12
-      local.get 1
-      i32.load offset=16
-      local.tee 3
-      i32.load offset=8
-      local.tee 4
-      i32.const 4
-      local.get 4
-      i32.const 4
-      i32.gt_u
-      select
-      i32.const -1
-      i32.add
-      i32.const -8
-      i32.and
-      i32.add
-      i32.const 8
-      i32.add
-      local.tee 5
-      i32.load
-      local.tee 6
-      i32.const 2147483646
-      i32.gt_u
-      br_if 0 (;@1;)
-      local.get 5
-      local.get 6
-      i32.const 1
-      i32.add
-      i32.store
-      local.get 5
-      local.get 4
-      i32.const -1
-      i32.add
-      i32.const -4
-      i32.and
-      i32.add
-      i32.const 4
-      i32.add
-      local.tee 7
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 3
-      i32.const 40
-      i32.add
-      i32.load
-      local.set 3
-      local.get 2
-      i32.load offset=8
-      local.set 4
-      local.get 2
-      i32.load offset=4
-      local.set 6
-      local.get 2
-      i32.const 16
-      i32.add
-      i32.const 24
-      i32.add
-      local.tee 8
-      i64.const 0
-      i64.store
-      local.get 2
-      i32.const 16
-      i32.add
-      i32.const 16
-      i32.add
-      local.tee 9
-      i64.const 0
-      i64.store
-      local.get 2
-      i32.const 24
-      i32.add
-      local.tee 10
-      i64.const 0
-      i64.store
-      local.get 2
-      i64.const 0
-      i64.store offset=16
-      local.get 7
-      local.get 6
-      local.get 4
-      local.get 2
-      i32.const 16
-      i32.add
-      local.get 3
-      call_indirect (type 2)
-      local.get 0
-      i32.const 32
-      i32.add
-      local.get 8
-      i64.load
-      i64.store align=1
-      local.get 0
-      i32.const 24
-      i32.add
-      local.get 9
-      i64.load
-      i64.store align=1
-      local.get 0
-      i32.const 16
-      i32.add
-      local.get 10
-      i64.load
-      i64.store align=1
-      local.get 0
-      local.get 2
-      i64.load offset=16
-      i64.store offset=8 align=1
-      local.get 5
-      local.get 5
-      i32.load
-      i32.const -1
-      i32.add
-      i32.store
-      local.get 0
-      local.get 1
-      i64.load offset=12 align=4
-      i64.store align=4
-      local.get 2
-      i32.const 12
-      i32.add
-      local.get 6
-      local.get 4
-      local.get 2
-      i32.load
-      i32.load offset=16
-      call_indirect (type 0)
-      local.get 1
-      i32.load offset=4
-      local.set 6
-      block  ;; label = @2
-        local.get 1
-        i32.load offset=8
-        local.tee 0
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 0
-        i32.const 1
-        i32.and
-        local.set 3
-        i32.const 0
-        local.set 5
-        block  ;; label = @3
-          local.get 0
-          i32.const 1
-          i32.eq
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const -2
-          i32.and
-          local.set 4
-          i32.const 0
-          local.set 5
-          local.get 6
-          local.set 0
-          loop  ;; label = @4
-            local.get 0
-            i32.const 16
-            i32.add
-            local.get 0
-            i32.const 8
-            i32.add
-            i32.load
-            local.get 0
-            i32.const 12
-            i32.add
-            i32.load
-            local.get 0
-            i32.const 4
-            i32.add
-            i32.load
-            i32.load offset=16
-            call_indirect (type 0)
-            local.get 0
-            i32.const 36
-            i32.add
-            local.get 0
-            i32.const 28
-            i32.add
-            i32.load
-            local.get 0
-            i32.const 32
-            i32.add
-            i32.load
-            local.get 0
-            i32.const 24
-            i32.add
-            i32.load
-            i32.load offset=16
-            call_indirect (type 0)
-            local.get 0
-            i32.const 40
-            i32.add
-            local.set 0
-            local.get 4
-            local.get 5
-            i32.const 2
-            i32.add
-            local.tee 5
-            i32.ne
-            br_if 0 (;@4;)
-          end
-        end
-        local.get 3
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 6
-        local.get 5
-        i32.const 20
-        i32.mul
-        i32.add
-        local.tee 0
-        i32.const 16
-        i32.add
-        local.get 0
-        i32.load offset=8
-        local.get 0
-        i32.load offset=12
-        local.get 0
-        i32.load offset=4
-        i32.load offset=16
-        call_indirect (type 0)
-      end
-      block  ;; label = @2
-        local.get 1
-        i32.load
-        local.tee 0
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 6
-        local.get 0
-        i32.const 20
-        i32.mul
-        i32.const 4
-        call $__rust_dealloc
-      end
-      local.get 2
-      i32.const 48
-      i32.add
-      global.set $__stack_pointer
-      return
-    end
-    i32.const 1050184
-    call $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E
-    unreachable)
-  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$4log317h987612607e9e3762E (type 3) (param i32 i32 i32 i32 i32 i32)
-    local.get 1
-    local.get 2
-    local.get 3
-    local.get 4
-    local.get 5
-    call $Log3)
-  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$6caller17h6e5bbf9110a580a2E (type 4) (param i32 i32)
-    local.get 1
-    call $Caller)
-  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$16call_data_length17h5a8338a3b18df8f2E (type 10) (param i32) (result i32)
-    call $CallDataLength)
-  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$9call_data17hde8d81abbe4336aeE (type 0) (param i32 i32 i32)
-    block  ;; label = @1
-      call $CallDataLength
-      local.get 2
-      i32.gt_u
-      br_if 0 (;@1;)
-      local.get 1
-      call $CallData
-      return
-    end
-    i32.const 1050200
-    i32.const 28
-    call $_ZN5erc203ulm5impl_11failWrapper17hdd9e7a10bdd4c1a0E.llvm.7654405709671502149
-    unreachable)
-  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$19get_account_storage17h6b89d1f69d088ff9E (type 0) (param i32 i32 i32)
-    local.get 1
-    local.get 2
-    call $GetAccountStorage)
-  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$19set_account_storage17ha7c75946c5f297f3E (type 0) (param i32 i32 i32)
-    local.get 1
-    local.get 2
-    call $SetAccountStorage)
-  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE (type 0) (param i32 i32 i32)
-    local.get 1
-    local.get 2
-    call $setOutput)
-  (func $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE (type 2) (param i32 i32 i32 i32)
-    local.get 1
-    local.get 2
-    local.get 3
-    call $keccakHash)
-  (func $__rust_alloc (type 6) (param i32 i32) (result i32)
-    (local i32)
-    local.get 0
-    local.get 1
-    call $__rdl_alloc
-    local.set 2
-    local.get 2
-    return)
-  (func $__rust_dealloc (type 0) (param i32 i32 i32)
-    local.get 0
-    local.get 1
-    local.get 2
-    call $__rdl_dealloc
-    return)
-  (func $__rust_realloc (type 9) (param i32 i32 i32 i32) (result i32)
-    (local i32)
-    local.get 0
-    local.get 1
-    local.get 2
-    local.get 3
-    call $__rdl_realloc
-    local.set 4
-    local.get 4
-    return)
-  (func $__rust_alloc_error_handler (type 4) (param i32 i32)
-    local.get 0
-    local.get 1
-    call $__rg_oom
-    return)
-  (func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE.2 (type 6) (param i32 i32) (result i32)
-    (local i32)
-    block  ;; label = @1
-      local.get 1
-      i32.load offset=28
-      local.tee 2
-      i32.const 16
-      i32.and
-      br_if 0 (;@1;)
-      block  ;; label = @2
-        local.get 2
-        i32.const 32
-        i32.and
-        br_if 0 (;@2;)
-        local.get 0
-        local.get 1
-        call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE
-        return
-      end
-      local.get 0
-      local.get 1
-      call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd504c8c64d2f0cadE
-      return
-    end
-    local.get 0
-    local.get 1
-    call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h3be2bf5a24d84447E)
-  (func $_ZN4core3ptr53drop_in_place$LT$core..alloc..layout..LayoutError$GT$17h61bb72a6737affc4E (type 1) (param i32))
-  (func $_ZN69_$LT$core..alloc..layout..LayoutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h2fd7406d7dcae69dE (type 6) (param i32 i32) (result i32)
-    local.get 1
-    i32.const 1050228
-    i32.const 11
-    call $_ZN4core3fmt9Formatter9write_str17hb14ec2e1267025f3E)
-  (func $_ZN5bytes5bytes5Bytes15copy_from_slice17h1057999830275559E (type 0) (param i32 i32 i32)
-    (local i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 2
-          br_if 0 (;@3;)
-          i32.const 1050240
-          local.set 3
-          i32.const 0
-          local.set 1
-          i32.const 1
-          local.set 4
-          br 1 (;@2;)
-        end
-        i32.const 0
-        local.set 3
-        local.get 2
-        i32.const 0
-        i32.lt_s
-        br_if 1 (;@1;)
-        i32.const 0
-        i32.load8_u offset=1051873
-        drop
-        i32.const 1
-        local.set 3
-        local.get 2
-        i32.const 1
-        call $__rust_alloc
-        local.tee 4
-        i32.eqz
-        br_if 1 (;@1;)
-        i32.const 1050432
-        local.set 3
-        block  ;; label = @3
-          local.get 4
-          local.get 1
-          local.get 2
-          call $memcpy
-          local.tee 1
-          i32.const 1
-          i32.and
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 1
-          local.set 1
-          br 1 (;@2;)
-        end
-        local.get 1
-        i32.const 1
-        i32.or
-        local.set 1
-        i32.const 1050412
-        local.set 3
-      end
-      local.get 0
-      local.get 1
-      i32.store offset=12
-      local.get 0
-      local.get 2
-      i32.store offset=8
-      local.get 0
-      local.get 4
-      i32.store offset=4
-      local.get 0
-      local.get 3
-      i32.store
-      return
-    end
-    local.get 3
-    local.get 2
-    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-    unreachable)
-  (func $_ZN5bytes5bytes5Bytes9split_off17h8fb60c9956121d47E (type 0) (param i32 i32 i32)
-    (local i32 i32 i64)
-    global.get $__stack_pointer
-    i32.const 64
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    local.get 3
-    local.get 2
-    i32.store offset=12
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          i32.load offset=8
-          local.tee 4
-          local.get 2
-          i32.eq
-          br_if 0 (;@3;)
-          local.get 2
-          br_if 1 (;@2;)
-          local.get 1
-          i64.load align=4
-          local.set 5
-          local.get 1
-          i32.const 1050240
-          i32.store
-          local.get 0
-          local.get 5
-          i64.store align=4
-          local.get 1
-          i32.const 8
-          i32.add
-          local.tee 2
-          i64.load align=4
-          local.set 5
-          local.get 2
-          i64.const 0
-          i64.store align=4
-          local.get 0
-          i32.const 8
-          i32.add
-          local.get 5
-          i64.store align=4
-          br 2 (;@1;)
-        end
-        local.get 0
-        i64.const 0
-        i64.store offset=8 align=4
-        local.get 0
-        i32.const 1050240
-        i32.store
-        local.get 0
-        local.get 1
-        i32.load offset=4
-        local.get 2
-        i32.add
-        i32.store offset=4
-        br 1 (;@1;)
-      end
-      block  ;; label = @2
-        local.get 4
-        local.get 2
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 3
-        i32.const 16
-        i32.add
-        local.get 1
-        i32.const 12
-        i32.add
-        local.get 1
-        i32.load offset=4
-        local.get 4
-        local.get 1
-        i32.load
-        i32.load
-        call_indirect (type 2)
-        local.get 3
-        i32.const 16
-        i32.add
-        i32.const 8
-        i32.add
-        local.tee 4
-        local.get 4
-        i32.load
-        local.get 2
-        i32.sub
-        i32.store
-        local.get 1
-        local.get 2
-        i32.store offset=8
-        local.get 3
-        local.get 3
-        i32.load offset=20
-        local.get 2
-        i32.add
-        i32.store offset=20
-        local.get 0
-        local.get 3
-        i64.load offset=16 align=4
-        i64.store align=4
-        local.get 0
-        i32.const 8
-        i32.add
-        local.get 4
-        i64.load align=4
-        i64.store align=4
-        br 1 (;@1;)
-      end
-      local.get 3
-      i32.const 2
-      i32.store offset=20
-      local.get 3
-      i32.const 1050380
-      i32.store offset=16
-      local.get 3
-      i64.const 2
-      i64.store offset=28 align=4
-      local.get 3
-      local.get 4
-      i32.store offset=60
-      local.get 3
-      i32.const 17
-      i64.extend_i32_u
-      i64.const 32
-      i64.shl
-      local.tee 5
-      local.get 3
-      i32.const 60
-      i32.add
-      i64.extend_i32_u
-      i64.or
-      i64.store offset=48
-      local.get 3
-      local.get 5
-      local.get 3
-      i32.const 12
-      i32.add
-      i64.extend_i32_u
-      i64.or
-      i64.store offset=40
-      local.get 3
-      local.get 3
-      i32.const 40
-      i32.add
-      i32.store offset=24
-      local.get 3
-      i32.const 16
-      i32.add
-      i32.const 1050396
-      call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-      unreachable
-    end
-    local.get 3
-    i32.const 64
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN60_$LT$bytes..bytes..Bytes$u20$as$u20$core..cmp..PartialEq$GT$2eq17h84023c79558e6ca9E (type 6) (param i32 i32) (result i32)
-    (local i32 i32)
-    i32.const 0
-    local.set 2
-    block  ;; label = @1
-      local.get 0
-      i32.load offset=8
-      local.tee 3
-      local.get 1
-      i32.load offset=8
-      i32.ne
-      br_if 0 (;@1;)
-      local.get 0
-      i32.load offset=4
-      local.get 1
-      i32.load offset=4
-      local.get 3
-      call $memcmp
-      i32.eqz
-      local.set 2
-    end
-    local.get 2)
-  (func $_ZN92_$LT$bytes..bytes..Bytes$u20$as$u20$core..convert..From$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$4from17h73298beb60a3c1fbE (type 4) (param i32 i32)
-    (local i32 i32 i32)
-    local.get 1
-    i32.load offset=4
-    local.set 2
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          i32.load offset=8
-          local.tee 3
-          local.get 1
-          i32.load
-          local.tee 4
-          i32.eq
-          br_if 0 (;@3;)
-          i32.const 0
-          i32.load8_u offset=1051873
-          drop
-          i32.const 12
-          i32.const 4
-          call $__rust_alloc
-          local.tee 1
-          i32.eqz
-          br_if 2 (;@1;)
-          local.get 1
-          i32.const 1
-          i32.store offset=8
-          local.get 1
-          local.get 4
-          i32.store offset=4
-          local.get 1
-          local.get 2
-          i32.store
-          i32.const 1050544
-          local.set 4
-          br 1 (;@2;)
-        end
-        block  ;; label = @3
-          local.get 3
-          br_if 0 (;@3;)
-          i32.const 1050240
-          local.set 4
-          i32.const 0
-          local.set 1
-          i32.const 1
-          local.set 2
-          br 1 (;@2;)
-        end
-        i32.const 1050432
-        local.set 4
-        block  ;; label = @3
-          local.get 2
-          i32.const 1
-          i32.and
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 2
-          local.set 1
-          br 1 (;@2;)
-        end
-        local.get 2
-        i32.const 1
-        i32.or
-        local.set 1
-        i32.const 1050412
-        local.set 4
-      end
-      local.get 0
-      local.get 1
-      i32.store offset=12
-      local.get 0
-      local.get 3
-      i32.store offset=8
-      local.get 0
-      local.get 2
-      i32.store offset=4
-      local.get 0
-      local.get 4
-      i32.store
-      return
-    end
-    i32.const 4
-    i32.const 12
-    call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-    unreachable)
-  (func $_ZN5bytes5bytes12static_clone17h8ee0bb07f5e580ccE.llvm.5932322697774810047 (type 2) (param i32 i32 i32 i32)
-    local.get 0
-    i32.const 0
-    i32.store offset=12
-    local.get 0
-    local.get 3
-    i32.store offset=8
-    local.get 0
-    local.get 2
-    i32.store offset=4
-    local.get 0
-    i32.const 1050240
-    i32.store)
-  (func $_ZN5bytes5bytes13static_to_mut17h581aa0a2fd8464aeE (type 2) (param i32 i32 i32 i32)
-    (local i32 i32)
-    i32.const 1
-    local.set 4
-    block  ;; label = @1
-      local.get 3
-      i32.eqz
-      br_if 0 (;@1;)
-      i32.const 0
-      local.set 5
-      block  ;; label = @2
-        local.get 3
-        i32.const 0
-        i32.lt_s
-        br_if 0 (;@2;)
-        i32.const 0
-        i32.load8_u offset=1051873
-        drop
-        i32.const 1
-        local.set 5
-        local.get 3
-        i32.const 1
-        call $__rust_alloc
-        local.tee 4
-        br_if 1 (;@1;)
-      end
-      local.get 5
-      local.get 3
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    local.get 4
-    local.get 2
-    local.get 3
-    call $memcpy
-    local.set 4
-    local.get 0
-    local.get 3
-    i32.store offset=8
-    local.get 0
-    local.get 3
-    i32.store offset=4
-    local.get 0
-    local.get 4
-    i32.store
-    local.get 0
-    i32.const 32
-    local.get 3
-    i32.const 10
-    i32.shr_u
-    i32.clz
-    i32.sub
-    local.tee 3
-    i32.const 7
-    local.get 3
-    i32.const 7
-    i32.lt_u
-    select
-    i32.const 2
-    i32.shl
-    i32.const 1
-    i32.or
-    i32.store offset=12)
-  (func $_ZN5bytes5bytes16static_is_unique17h6e19e52823949186E.llvm.5932322697774810047 (type 10) (param i32) (result i32)
-    i32.const 0)
-  (func $_ZN5bytes5bytes11static_drop17h80d4e6ae9b05ca89E.llvm.5932322697774810047 (type 0) (param i32 i32 i32))
-  (func $_ZN5bytes5bytes12owned_to_vec17hf4b7c7dcc83df6d0E (type 2) (param i32 i32 i32 i32)
-    (local i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 3
-        br_if 0 (;@2;)
-        i32.const 1
-        local.set 4
-        br 1 (;@1;)
-      end
-      i32.const 0
-      local.set 5
-      block  ;; label = @2
-        local.get 3
-        i32.const 0
-        i32.lt_s
-        br_if 0 (;@2;)
-        i32.const 0
-        i32.load8_u offset=1051873
-        drop
-        i32.const 1
-        local.set 5
-        local.get 3
-        i32.const 1
-        call $__rust_alloc
-        local.tee 4
-        br_if 1 (;@1;)
-      end
-      local.get 5
-      local.get 3
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    local.get 4
-    local.get 2
-    local.get 3
-    call $memcpy
-    local.set 2
-    local.get 0
-    local.get 3
-    i32.store offset=8
-    local.get 0
-    local.get 2
-    i32.store offset=4
-    local.get 0
-    local.get 3
-    i32.store)
-  (func $_ZN5bytes5bytes21promotable_even_clone17hb745a8cb1d939a17E (type 2) (param i32 i32 i32 i32)
-    (local i32)
-    block  ;; label = @1
-      local.get 1
-      i32.load
-      local.tee 4
-      i32.const 1
-      i32.and
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 0
-      local.get 1
-      local.get 4
-      local.get 4
-      i32.const -2
-      i32.and
-      local.get 2
-      local.get 3
-      call $_ZN5bytes5bytes17shallow_clone_vec17h25a558d5835acdf3E
-      return
-    end
-    local.get 4
-    local.get 4
-    i32.load offset=8
-    local.tee 1
-    i32.const 1
-    i32.add
-    i32.store offset=8
-    block  ;; label = @1
-      local.get 1
-      i32.const -1
-      i32.le_s
-      br_if 0 (;@1;)
-      local.get 0
-      local.get 4
-      i32.store offset=12
-      local.get 0
-      local.get 3
-      i32.store offset=8
-      local.get 0
-      local.get 2
-      i32.store offset=4
-      local.get 0
-      i32.const 1050544
-      i32.store
-      return
-    end
-    call $_ZN5bytes5abort17h7847ceaeaab8ab15E
-    unreachable)
-  (func $_ZN5bytes5bytes17shallow_clone_vec17h25a558d5835acdf3E (type 3) (param i32 i32 i32 i32 i32 i32)
-    (local i32)
-    i32.const 0
-    i32.load8_u offset=1051873
-    drop
-    block  ;; label = @1
-      block  ;; label = @2
-        i32.const 12
-        i32.const 4
-        call $__rust_alloc
-        local.tee 6
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 6
-        i32.const 2
-        i32.store offset=8
-        local.get 6
-        local.get 3
-        i32.store
-        local.get 6
-        local.get 4
-        local.get 3
-        i32.sub
-        local.get 5
-        i32.add
-        i32.store offset=4
-        local.get 1
-        local.get 6
-        local.get 1
-        i32.load
-        local.tee 3
-        local.get 3
-        local.get 2
-        i32.eq
-        select
-        i32.store
-        block  ;; label = @3
-          local.get 3
-          local.get 2
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 0
-          local.get 6
-          i32.store offset=12
-          local.get 0
-          local.get 5
-          i32.store offset=8
-          local.get 0
-          local.get 4
-          i32.store offset=4
-          local.get 0
-          i32.const 1050544
-          i32.store
-          return
-        end
-        local.get 3
-        local.get 3
-        i32.load offset=8
-        local.tee 2
-        i32.const 1
-        i32.add
-        i32.store offset=8
-        local.get 2
-        i32.const -1
-        i32.le_s
-        br_if 1 (;@1;)
-        local.get 0
-        local.get 3
-        i32.store offset=12
-        local.get 0
-        local.get 5
-        i32.store offset=8
-        local.get 0
-        local.get 4
-        i32.store offset=4
-        local.get 0
-        i32.const 1050544
-        i32.store
-        local.get 6
-        i32.const 12
-        i32.const 4
-        call $__rust_dealloc
-        return
-      end
-      i32.const 4
-      i32.const 12
-      call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-      unreachable
-    end
-    call $_ZN5bytes5abort17h7847ceaeaab8ab15E
-    unreachable)
-  (func $_ZN5bytes5bytes22promotable_even_to_vec17h17500ac060bde60fE (type 2) (param i32 i32 i32 i32)
-    block  ;; label = @1
-      local.get 1
-      i32.load
-      local.tee 1
-      i32.const 1
-      i32.and
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 1
-      i32.const -2
-      i32.and
-      local.get 2
-      local.get 3
-      call $memmove
-      local.set 1
-      local.get 0
-      local.get 3
-      i32.store offset=8
-      local.get 0
-      local.get 1
-      i32.store offset=4
-      local.get 0
-      local.get 2
-      local.get 3
-      i32.add
-      local.get 1
-      i32.sub
-      i32.store
-      return
-    end
-    local.get 0
-    local.get 1
-    local.get 2
-    local.get 3
-    call $_ZN5bytes5bytes18shared_to_vec_impl17hf22b5bcaca60a7b2E)
-  (func $_ZN5bytes5bytes18shared_to_vec_impl17hf22b5bcaca60a7b2E (type 2) (param i32 i32 i32 i32)
-    (local i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 4
-    global.set $__stack_pointer
-    i32.const 1
-    local.set 5
-    local.get 1
-    i32.const 0
-    local.get 1
-    i32.load offset=8
-    local.tee 6
-    local.get 6
-    i32.const 1
-    i32.eq
-    select
-    i32.store offset=8
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 6
-            i32.const 1
-            i32.ne
-            br_if 0 (;@4;)
-            local.get 1
-            i32.load offset=4
-            local.set 6
-            local.get 1
-            i32.load
-            local.set 5
-            local.get 1
-            i32.const 12
-            i32.const 4
-            call $__rust_dealloc
-            local.get 5
-            local.get 2
-            local.get 3
-            call $memmove
-            drop
-            br 1 (;@3;)
-          end
-          block  ;; label = @4
-            local.get 3
-            i32.eqz
-            br_if 0 (;@4;)
-            i32.const 0
-            local.set 6
-            local.get 3
-            i32.const 0
-            i32.lt_s
-            br_if 2 (;@2;)
-            i32.const 0
-            i32.load8_u offset=1051873
-            drop
-            i32.const 1
-            local.set 6
-            local.get 3
-            i32.const 1
-            call $__rust_alloc
-            local.tee 5
-            i32.eqz
-            br_if 2 (;@2;)
-          end
-          local.get 5
-          local.get 2
-          local.get 3
-          call $memcpy
-          drop
-          local.get 1
-          local.get 1
-          i32.load offset=8
-          local.tee 2
-          i32.const -1
-          i32.add
-          i32.store offset=8
-          local.get 3
-          local.set 6
-          local.get 2
-          i32.const 1
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 1
-          i32.const 4
-          i32.add
-          i32.load
-          local.tee 6
-          i32.const -1
-          i32.le_s
-          br_if 2 (;@1;)
-          local.get 1
-          i32.load
-          local.get 6
-          i32.const 1
-          call $__rust_dealloc
-          local.get 1
-          i32.const 12
-          i32.const 4
-          call $__rust_dealloc
-          local.get 3
-          local.set 6
-        end
-        local.get 0
-        local.get 3
-        i32.store offset=8
-        local.get 0
-        local.get 5
-        i32.store offset=4
-        local.get 0
-        local.get 6
-        i32.store
-        local.get 4
-        i32.const 16
-        i32.add
-        global.set $__stack_pointer
-        return
-      end
-      local.get 6
-      local.get 3
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    i32.const 1050452
-    i32.const 43
-    local.get 4
-    i32.const 15
-    i32.add
-    i32.const 1050496
-    i32.const 1050528
-    call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
-    unreachable)
-  (func $_ZN5bytes5bytes22promotable_even_to_mut17h9b26d0f7fc64fa55E (type 2) (param i32 i32 i32 i32)
-    (local i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 1
-              i32.load
-              local.tee 1
-              i32.const 1
-              i32.and
-              i32.eqz
-              br_if 0 (;@5;)
-              i32.const 32
-              local.get 2
-              local.get 1
-              i32.const -2
-              i32.and
-              local.tee 4
-              i32.sub
-              local.tee 5
-              local.get 3
-              i32.add
-              local.tee 1
-              i32.const 10
-              i32.shr_u
-              i32.clz
-              i32.sub
-              local.tee 6
-              i32.const 7
-              local.get 6
-              i32.const 7
-              i32.lt_u
-              select
-              i32.const 2
-              i32.shl
-              i32.const 1
-              i32.or
-              local.set 6
-              block  ;; label = @6
-                local.get 2
-                local.get 4
-                i32.ne
-                br_if 0 (;@6;)
-                local.get 6
-                local.set 2
-                local.get 1
-                local.set 3
-                br 5 (;@1;)
-              end
-              local.get 5
-              i32.const 134217728
-              i32.lt_u
-              br_if 2 (;@3;)
-              i32.const 0
-              i32.load8_u offset=1051873
-              drop
-              i32.const 20
-              i32.const 4
-              call $__rust_alloc
-              local.tee 2
-              i32.eqz
-              br_if 1 (;@4;)
-              local.get 2
-              i32.const 1
-              i32.store offset=16
-              local.get 2
-              local.get 1
-              i32.store offset=8
-              local.get 2
-              local.get 4
-              i32.store offset=4
-              local.get 2
-              local.get 1
-              i32.store
-              local.get 2
-              local.get 6
-              i32.const 2
-              i32.shr_u
-              i32.const 7
-              i32.and
-              i32.store offset=12
-              br 3 (;@2;)
-            end
-            local.get 0
-            local.get 1
-            local.get 2
-            local.get 3
-            call $_ZN5bytes5bytes18shared_to_mut_impl17h46c5417875d3e9a7E
-            return
-          end
-          i32.const 4
-          i32.const 20
-          call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-          unreachable
-        end
-        local.get 5
-        i32.const 5
-        i32.shl
-        local.get 6
-        i32.or
-        local.set 2
-      end
-      i32.const 0
-      local.get 1
-      local.get 5
-      i32.sub
-      local.tee 6
-      local.get 6
-      local.get 1
-      i32.gt_u
-      select
-      local.set 1
-      local.get 4
-      local.get 5
-      i32.add
-      local.set 4
-    end
-    local.get 0
-    local.get 2
-    i32.store offset=12
-    local.get 0
-    local.get 3
-    i32.store offset=8
-    local.get 0
-    local.get 1
-    i32.store offset=4
-    local.get 0
-    local.get 4
-    i32.store)
-  (func $_ZN5bytes5bytes18shared_to_mut_impl17h46c5417875d3e9a7E (type 2) (param i32 i32 i32 i32)
-    (local i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 4
-    global.set $__stack_pointer
-    i32.const 1
-    local.set 5
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                local.get 1
-                i32.load offset=8
-                i32.const 1
-                i32.ne
-                br_if 0 (;@6;)
-                local.get 1
-                i32.load
-                local.set 5
-                local.get 1
-                i32.load offset=4
-                local.set 6
-                local.get 1
-                i32.const 12
-                i32.const 4
-                call $__rust_dealloc
-                i32.const 32
-                local.get 6
-                i32.const 10
-                i32.shr_u
-                i32.clz
-                i32.sub
-                local.tee 1
-                i32.const 7
-                local.get 1
-                i32.const 7
-                i32.lt_u
-                select
-                i32.const 2
-                i32.shl
-                i32.const 1
-                i32.or
-                local.set 7
-                local.get 2
-                local.get 5
-                i32.sub
-                local.tee 8
-                local.get 3
-                i32.add
-                local.set 3
-                block  ;; label = @7
-                  local.get 2
-                  local.get 5
-                  i32.ne
-                  br_if 0 (;@7;)
-                  local.get 2
-                  local.set 5
-                  local.get 7
-                  local.set 1
-                  br 6 (;@1;)
-                end
-                block  ;; label = @7
-                  local.get 8
-                  i32.const 134217728
-                  i32.lt_u
-                  br_if 0 (;@7;)
-                  i32.const 0
-                  i32.load8_u offset=1051873
-                  drop
-                  i32.const 20
-                  i32.const 4
-                  call $__rust_alloc
-                  local.tee 1
-                  i32.eqz
-                  br_if 2 (;@5;)
-                  local.get 1
-                  i32.const 1
-                  i32.store offset=16
-                  local.get 1
-                  local.get 3
-                  i32.store offset=8
-                  local.get 1
-                  local.get 5
-                  i32.store offset=4
-                  local.get 1
-                  local.get 6
-                  i32.store
-                  local.get 1
-                  local.get 7
-                  i32.const 2
-                  i32.shr_u
-                  i32.const 7
-                  i32.and
-                  i32.store offset=12
-                  br 5 (;@2;)
-                end
-                local.get 8
-                i32.const 5
-                i32.shl
-                local.get 7
-                i32.or
-                local.set 1
-                br 4 (;@2;)
-              end
-              block  ;; label = @6
-                local.get 3
-                i32.eqz
-                br_if 0 (;@6;)
-                i32.const 0
-                local.set 6
-                local.get 3
-                i32.const 0
-                i32.lt_s
-                br_if 2 (;@4;)
-                i32.const 0
-                i32.load8_u offset=1051873
-                drop
-                i32.const 1
-                local.set 6
-                local.get 3
-                i32.const 1
-                call $__rust_alloc
-                local.tee 5
-                i32.eqz
-                br_if 2 (;@4;)
-              end
-              local.get 5
-              local.get 2
-              local.get 3
-              call $memcpy
-              drop
-              local.get 1
-              local.get 1
-              i32.load offset=8
-              local.tee 6
-              i32.const -1
-              i32.add
-              i32.store offset=8
-              block  ;; label = @6
-                local.get 6
-                i32.const 1
-                i32.ne
-                br_if 0 (;@6;)
-                local.get 1
-                i32.const 4
-                i32.add
-                i32.load
-                local.tee 6
-                i32.const -1
-                i32.le_s
-                br_if 3 (;@3;)
-                local.get 1
-                i32.load
-                local.get 6
-                i32.const 1
-                call $__rust_dealloc
-                local.get 1
-                i32.const 12
-                i32.const 4
-                call $__rust_dealloc
-              end
-              i32.const 32
-              local.get 3
-              i32.const 10
-              i32.shr_u
-              i32.clz
-              i32.sub
-              local.tee 1
-              i32.const 7
-              local.get 1
-              i32.const 7
-              i32.lt_u
-              select
-              i32.const 2
-              i32.shl
-              i32.const 1
-              i32.or
-              local.set 1
-              local.get 3
-              local.set 6
-              br 4 (;@1;)
-            end
-            i32.const 4
-            i32.const 20
-            call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-            unreachable
-          end
-          local.get 6
-          local.get 3
-          call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-          unreachable
-        end
-        i32.const 1050452
-        i32.const 43
-        local.get 4
-        i32.const 15
-        i32.add
-        i32.const 1050496
-        i32.const 1050528
-        call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
-        unreachable
-      end
-      i32.const 0
-      local.get 3
-      local.get 8
-      i32.sub
-      local.tee 2
-      local.get 2
-      local.get 3
-      i32.gt_u
-      select
-      local.set 3
-      local.get 6
-      local.get 8
-      i32.sub
-      local.set 6
-      local.get 5
-      local.get 8
-      i32.add
-      local.set 5
-    end
-    local.get 0
-    local.get 1
-    i32.store offset=12
-    local.get 0
-    local.get 6
-    i32.store offset=8
-    local.get 0
-    local.get 3
-    i32.store offset=4
-    local.get 0
-    local.get 5
-    i32.store
-    local.get 4
-    i32.const 16
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN5bytes5bytes20promotable_even_drop17h1682d63eeecce9a7E (type 0) (param i32 i32 i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 0
-            i32.load
-            local.tee 0
-            i32.const 1
-            i32.and
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 1
-            local.get 0
-            i32.const -2
-            i32.and
-            local.tee 0
-            i32.sub
-            local.get 2
-            i32.add
-            local.tee 2
-            i32.const -1
-            i32.le_s
-            br_if 2 (;@2;)
-            local.get 0
-            local.get 2
-            i32.const 1
-            call $__rust_dealloc
-            br 1 (;@3;)
-          end
-          local.get 0
-          local.get 0
-          i32.load offset=8
-          local.tee 2
-          i32.const -1
-          i32.add
-          i32.store offset=8
-          local.get 2
-          i32.const 1
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 4
-          i32.add
-          i32.load
-          local.tee 2
-          i32.const -1
-          i32.le_s
-          br_if 2 (;@1;)
-          local.get 0
-          i32.load
-          local.get 2
-          i32.const 1
-          call $__rust_dealloc
-          local.get 0
-          i32.const 12
-          i32.const 4
-          call $__rust_dealloc
-        end
-        local.get 3
-        i32.const 16
-        i32.add
-        global.set $__stack_pointer
-        return
-      end
-      i32.const 1050452
-      i32.const 43
-      local.get 3
-      i32.const 15
-      i32.add
-      i32.const 1050496
-      i32.const 1050512
-      call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
-      unreachable
-    end
-    i32.const 1050452
-    i32.const 43
-    local.get 3
-    i32.const 15
-    i32.add
-    i32.const 1050496
-    i32.const 1050528
-    call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
-    unreachable)
-  (func $_ZN5bytes5bytes20promotable_odd_clone17hcfb701ad3f082002E (type 2) (param i32 i32 i32 i32)
-    (local i32)
-    block  ;; label = @1
-      local.get 1
-      i32.load
-      local.tee 4
-      i32.const 1
-      i32.and
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 0
-      local.get 1
-      local.get 4
-      local.get 4
-      local.get 2
-      local.get 3
-      call $_ZN5bytes5bytes17shallow_clone_vec17h25a558d5835acdf3E
-      return
-    end
-    local.get 4
-    local.get 4
-    i32.load offset=8
-    local.tee 1
-    i32.const 1
-    i32.add
-    i32.store offset=8
-    block  ;; label = @1
-      local.get 1
-      i32.const -1
-      i32.le_s
-      br_if 0 (;@1;)
-      local.get 0
-      local.get 4
-      i32.store offset=12
-      local.get 0
-      local.get 3
-      i32.store offset=8
-      local.get 0
-      local.get 2
-      i32.store offset=4
-      local.get 0
-      i32.const 1050544
-      i32.store
-      return
-    end
-    call $_ZN5bytes5abort17h7847ceaeaab8ab15E
-    unreachable)
-  (func $_ZN5bytes5bytes21promotable_odd_to_vec17h5d8ea33109cb924cE (type 2) (param i32 i32 i32 i32)
-    block  ;; label = @1
-      local.get 1
-      i32.load
-      local.tee 1
-      i32.const 1
-      i32.and
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 1
-      local.get 2
-      local.get 3
-      call $memmove
-      local.set 1
-      local.get 0
-      local.get 3
-      i32.store offset=8
-      local.get 0
-      local.get 1
-      i32.store offset=4
-      local.get 0
-      local.get 2
-      local.get 3
-      i32.add
-      local.get 1
-      i32.sub
-      i32.store
-      return
-    end
-    local.get 0
-    local.get 1
-    local.get 2
-    local.get 3
-    call $_ZN5bytes5bytes18shared_to_vec_impl17hf22b5bcaca60a7b2E)
-  (func $_ZN5bytes5bytes21promotable_odd_to_mut17h95bc9587e8fef346E (type 2) (param i32 i32 i32 i32)
-    (local i32 i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 1
-              i32.load
-              local.tee 1
-              i32.const 1
-              i32.and
-              i32.eqz
-              br_if 0 (;@5;)
-              i32.const 32
-              local.get 2
-              local.get 1
-              i32.sub
-              local.tee 4
-              local.get 3
-              i32.add
-              local.tee 5
-              i32.const 10
-              i32.shr_u
-              i32.clz
-              i32.sub
-              local.tee 6
-              i32.const 7
-              local.get 6
-              i32.const 7
-              i32.lt_u
-              select
-              i32.const 2
-              i32.shl
-              i32.const 1
-              i32.or
-              local.set 7
-              block  ;; label = @6
-                local.get 2
-                local.get 1
-                i32.ne
-                br_if 0 (;@6;)
-                local.get 7
-                local.set 6
-                local.get 5
-                local.set 3
-                br 5 (;@1;)
-              end
-              local.get 4
-              i32.const 134217728
-              i32.lt_u
-              br_if 2 (;@3;)
-              i32.const 0
-              i32.load8_u offset=1051873
-              drop
-              i32.const 20
-              i32.const 4
-              call $__rust_alloc
-              local.tee 6
-              i32.eqz
-              br_if 1 (;@4;)
-              local.get 6
-              i32.const 1
-              i32.store offset=16
-              local.get 6
-              local.get 5
-              i32.store offset=8
-              local.get 6
-              local.get 1
-              i32.store offset=4
-              local.get 6
-              local.get 5
-              i32.store
-              local.get 6
-              local.get 7
-              i32.const 2
-              i32.shr_u
-              i32.const 7
-              i32.and
-              i32.store offset=12
-              br 3 (;@2;)
-            end
-            local.get 0
-            local.get 1
-            local.get 2
-            local.get 3
-            call $_ZN5bytes5bytes18shared_to_mut_impl17h46c5417875d3e9a7E
-            return
-          end
-          i32.const 4
-          i32.const 20
-          call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-          unreachable
-        end
-        local.get 4
-        i32.const 5
-        i32.shl
-        local.get 7
-        i32.or
-        local.set 6
-      end
-      i32.const 0
-      local.get 5
-      local.get 4
-      i32.sub
-      local.tee 2
-      local.get 2
-      local.get 5
-      i32.gt_u
-      select
-      local.set 5
-      local.get 1
-      local.get 4
-      i32.add
-      local.set 2
-    end
-    local.get 0
-    local.get 6
-    i32.store offset=12
-    local.get 0
-    local.get 3
-    i32.store offset=8
-    local.get 0
-    local.get 5
-    i32.store offset=4
-    local.get 0
-    local.get 2
-    i32.store)
-  (func $_ZN5bytes5bytes19promotable_odd_drop17hd9893b9965f4d03eE (type 0) (param i32 i32 i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 0
-            i32.load
-            local.tee 0
-            i32.const 1
-            i32.and
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 1
-            local.get 0
-            i32.sub
-            local.get 2
-            i32.add
-            local.tee 2
-            i32.const -1
-            i32.le_s
-            br_if 2 (;@2;)
-            local.get 0
-            local.get 2
-            i32.const 1
-            call $__rust_dealloc
-            br 1 (;@3;)
-          end
-          local.get 0
-          local.get 0
-          i32.load offset=8
-          local.tee 2
-          i32.const -1
-          i32.add
-          i32.store offset=8
-          local.get 2
-          i32.const 1
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 0
-          i32.const 4
-          i32.add
-          i32.load
-          local.tee 2
-          i32.const -1
-          i32.le_s
-          br_if 2 (;@1;)
-          local.get 0
-          i32.load
-          local.get 2
-          i32.const 1
-          call $__rust_dealloc
-          local.get 0
-          i32.const 12
-          i32.const 4
-          call $__rust_dealloc
-        end
-        local.get 3
-        i32.const 16
-        i32.add
-        global.set $__stack_pointer
-        return
-      end
-      i32.const 1050452
-      i32.const 43
-      local.get 3
-      i32.const 15
-      i32.add
-      i32.const 1050496
-      i32.const 1050512
-      call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
-      unreachable
-    end
-    i32.const 1050452
-    i32.const 43
-    local.get 3
-    i32.const 15
-    i32.add
-    i32.const 1050496
-    i32.const 1050528
-    call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
-    unreachable)
-  (func $_ZN5bytes5bytes20promotable_is_unique17h020665ac6bee7cfdE (type 10) (param i32) (result i32)
-    (local i32)
-    i32.const 1
-    local.set 1
-    block  ;; label = @1
-      local.get 0
-      i32.load
-      local.tee 0
-      i32.const 1
-      i32.and
-      br_if 0 (;@1;)
-      local.get 0
-      i32.load offset=8
-      i32.const 1
-      i32.eq
-      local.set 1
-    end
-    local.get 1)
-  (func $_ZN5bytes5bytes12shared_clone17h87a7760eba5d0abeE.llvm.5932322697774810047 (type 2) (param i32 i32 i32 i32)
-    (local i32)
-    local.get 1
-    i32.load
-    local.tee 1
-    local.get 1
-    i32.load offset=8
-    local.tee 4
-    i32.const 1
-    i32.add
-    i32.store offset=8
-    block  ;; label = @1
-      local.get 4
-      i32.const -1
-      i32.gt_s
-      br_if 0 (;@1;)
-      call $_ZN5bytes5abort17h7847ceaeaab8ab15E
-      unreachable
-    end
-    local.get 0
-    local.get 1
-    i32.store offset=12
-    local.get 0
-    local.get 3
-    i32.store offset=8
-    local.get 0
-    local.get 2
-    i32.store offset=4
-    local.get 0
-    i32.const 1050544
-    i32.store)
-  (func $_ZN5bytes5bytes13shared_to_vec17hc3c7c24fa33ba490E.llvm.5932322697774810047 (type 2) (param i32 i32 i32 i32)
-    local.get 0
-    local.get 1
-    i32.load
-    local.get 2
-    local.get 3
-    call $_ZN5bytes5bytes18shared_to_vec_impl17hf22b5bcaca60a7b2E)
-  (func $_ZN5bytes5bytes13shared_to_mut17ha7cdfa5747aa9e90E.llvm.5932322697774810047 (type 2) (param i32 i32 i32 i32)
-    local.get 0
-    local.get 1
-    i32.load
-    local.get 2
-    local.get 3
-    call $_ZN5bytes5bytes18shared_to_mut_impl17h46c5417875d3e9a7E)
-  (func $_ZN5bytes5bytes16shared_is_unique17h6b20a183193c4d3aE.llvm.5932322697774810047 (type 10) (param i32) (result i32)
-    local.get 0
-    i32.load
-    i32.load offset=8
-    i32.const 1
-    i32.eq)
-  (func $_ZN5bytes5bytes11shared_drop17hf3fb21e2b6b585c5E.llvm.5932322697774810047 (type 0) (param i32 i32 i32)
-    (local i32 i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    local.get 0
-    i32.load
-    local.tee 0
-    local.get 0
-    i32.load offset=8
-    local.tee 4
-    i32.const -1
-    i32.add
-    i32.store offset=8
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 4
-        i32.const 1
-        i32.ne
-        br_if 0 (;@2;)
-        local.get 0
-        i32.const 4
-        i32.add
-        i32.load
-        local.tee 4
-        i32.const -1
-        i32.le_s
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load
-        local.get 4
-        i32.const 1
-        call $__rust_dealloc
-        local.get 0
-        i32.const 12
-        i32.const 4
-        call $__rust_dealloc
-      end
-      local.get 3
-      i32.const 16
-      i32.add
-      global.set $__stack_pointer
-      return
-    end
-    i32.const 1050452
-    i32.const 43
-    local.get 3
-    i32.const 15
-    i32.add
-    i32.const 1050496
-    i32.const 1050528
-    call $_ZN4core6result13unwrap_failed17h4ed86702351a3017E
-    unreachable)
-  (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c8ab8a4ebe78826E.llvm.13498044319351723418 (type 0) (param i32 i32 i32)
-    (local i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    block  ;; label = @1
-      local.get 1
-      local.get 2
-      i32.add
-      local.tee 2
-      local.get 1
-      i32.ge_u
-      br_if 0 (;@1;)
-      i32.const 0
-      i32.const 0
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    i32.const 1
-    local.set 4
-    local.get 0
-    i32.load
-    local.tee 5
-    i32.const 1
-    i32.shl
-    local.tee 1
-    local.get 2
-    local.get 1
-    local.get 2
-    i32.gt_u
-    select
-    local.tee 1
-    i32.const 8
-    local.get 1
-    i32.const 8
-    i32.gt_u
-    select
-    local.tee 1
-    i32.const -1
-    i32.xor
-    i32.const 31
-    i32.shr_u
-    local.set 2
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 5
-        br_if 0 (;@2;)
-        i32.const 0
-        local.set 4
-        br 1 (;@1;)
-      end
-      local.get 3
-      local.get 5
-      i32.store offset=28
-      local.get 3
-      local.get 0
-      i32.load offset=4
-      i32.store offset=20
-    end
-    local.get 3
-    local.get 4
-    i32.store offset=24
-    local.get 3
-    i32.const 8
-    i32.add
-    local.get 2
-    local.get 1
-    local.get 3
-    i32.const 20
-    i32.add
-    call $_ZN5alloc7raw_vec11finish_grow17hfd8a743f43564090E.llvm.13498044319351723418
-    block  ;; label = @1
-      local.get 3
-      i32.load offset=8
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 3
-      i32.load offset=12
-      local.get 3
-      i32.load offset=16
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    local.get 3
-    i32.load offset=12
-    local.set 2
-    local.get 0
-    local.get 1
-    i32.store
-    local.get 0
-    local.get 2
-    i32.store offset=4
-    local.get 3
-    i32.const 32
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN5alloc7raw_vec11finish_grow17hfd8a743f43564090E.llvm.13498044319351723418 (type 2) (param i32 i32 i32 i32)
-    (local i32 i32 i32)
-    i32.const 1
-    local.set 4
-    i32.const 0
-    local.set 5
-    i32.const 4
-    local.set 6
-    block  ;; label = @1
-      local.get 1
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 2
-      i32.const 0
-      i32.lt_s
-      br_if 0 (;@1;)
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                local.get 3
-                i32.load offset=4
-                i32.eqz
-                br_if 0 (;@6;)
-                block  ;; label = @7
-                  local.get 3
-                  i32.load offset=8
-                  local.tee 4
-                  br_if 0 (;@7;)
-                  block  ;; label = @8
-                    local.get 2
-                    br_if 0 (;@8;)
-                    i32.const 1
-                    local.set 4
-                    br 4 (;@4;)
-                  end
-                  i32.const 0
-                  i32.load8_u offset=1051873
-                  drop
-                  local.get 2
-                  i32.const 1
-                  call $__rust_alloc
-                  local.set 4
-                  br 2 (;@5;)
-                end
-                local.get 3
-                i32.load
-                local.get 4
-                i32.const 1
-                local.get 2
-                call $__rust_realloc
-                local.set 4
-                br 1 (;@5;)
-              end
-              block  ;; label = @6
-                local.get 2
-                br_if 0 (;@6;)
-                i32.const 1
-                local.set 4
-                br 2 (;@4;)
-              end
-              i32.const 0
-              i32.load8_u offset=1051873
-              drop
-              local.get 2
-              i32.const 1
-              call $__rust_alloc
-              local.set 4
-            end
-            local.get 4
-            i32.eqz
-            br_if 1 (;@3;)
-          end
-          local.get 0
-          local.get 4
-          i32.store offset=4
-          i32.const 0
-          local.set 4
-          br 1 (;@2;)
-        end
-        i32.const 1
-        local.set 4
-        local.get 0
-        i32.const 1
-        i32.store offset=4
-      end
-      i32.const 8
-      local.set 6
-      local.get 2
-      local.set 5
-    end
-    local.get 0
-    local.get 6
-    i32.add
-    local.get 5
-    i32.store
-    local.get 0
-    local.get 4
-    i32.store)
-  (func $_ZN5bytes5abort17h7847ceaeaab8ab15E (type 11)
-    call $_ZN3std7process5abort17h38dc887bf8ba17f6E
-    unreachable)
-  (func $_ZN5bytes13panic_advance17heb816a5acb8c23c0E (type 4) (param i32 i32)
-    (local i32 i64)
-    global.get $__stack_pointer
-    i32.const 48
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    local.get 1
-    i32.store offset=4
-    local.get 2
-    local.get 0
-    i32.store
-    local.get 2
-    i32.const 2
-    i32.store offset=12
-    local.get 2
-    i32.const 1050616
-    i32.store offset=8
-    local.get 2
-    i64.const 2
-    i64.store offset=20 align=4
-    local.get 2
-    i32.const 37
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.tee 3
-    local.get 2
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=40
-    local.get 2
-    local.get 3
-    local.get 2
-    i32.const 4
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=32
-    local.get 2
-    local.get 2
-    i32.const 32
-    i32.add
-    i32.store offset=16
-    local.get 2
-    i32.const 8
-    i32.add
-    i32.const 1050720
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E (type 5) (param i32 i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    local.get 0
-    i32.load offset=4
-    local.set 4
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                block  ;; label = @7
-                  block  ;; label = @8
-                    local.get 0
-                    i32.load offset=12
-                    local.tee 5
-                    i32.const 1
-                    i32.and
-                    br_if 0 (;@8;)
-                    local.get 4
-                    local.get 1
-                    i32.add
-                    local.tee 1
-                    local.get 4
-                    i32.lt_u
-                    br_if 3 (;@5;)
-                    local.get 5
-                    i32.load offset=16
-                    i32.const 1
-                    i32.eq
-                    br_if 2 (;@6;)
-                    i32.const 0
-                    local.set 6
-                    local.get 2
-                    i32.eqz
-                    br_if 7 (;@1;)
-                    i32.const 1
-                    local.set 6
-                    i32.const 0
-                    local.set 7
-                    block  ;; label = @9
-                      local.get 1
-                      i32.const 1
-                      local.get 5
-                      i32.load offset=12
-                      local.tee 2
-                      i32.const 9
-                      i32.add
-                      i32.shl
-                      i32.const 0
-                      local.get 2
-                      select
-                      local.tee 4
-                      local.get 1
-                      local.get 4
-                      i32.gt_u
-                      select
-                      local.tee 4
-                      i32.eqz
-                      br_if 0 (;@9;)
-                      local.get 4
-                      i32.const 0
-                      i32.lt_s
-                      br_if 2 (;@7;)
-                      i32.const 0
-                      i32.load8_u offset=1051873
-                      drop
-                      i32.const 1
-                      local.set 7
-                      local.get 4
-                      i32.const 1
-                      call $__rust_alloc
-                      local.tee 6
-                      i32.eqz
-                      br_if 2 (;@7;)
-                    end
-                    i32.const 0
-                    local.set 1
-                    local.get 3
-                    i32.const 0
-                    i32.store offset=12
-                    local.get 3
-                    local.get 6
-                    i32.store offset=8
-                    local.get 3
-                    local.get 4
-                    i32.store offset=4
-                    local.get 0
-                    i32.load
-                    local.set 8
-                    block  ;; label = @9
-                      local.get 4
-                      local.get 0
-                      i32.load offset=4
-                      local.tee 7
-                      i32.ge_u
-                      br_if 0 (;@9;)
-                      local.get 3
-                      i32.const 4
-                      i32.add
-                      i32.const 0
-                      local.get 7
-                      call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c8ab8a4ebe78826E.llvm.13498044319351723418
-                      local.get 3
-                      i32.load offset=8
-                      local.set 6
-                      local.get 3
-                      i32.load offset=12
-                      local.set 1
-                    end
-                    local.get 6
-                    local.get 1
-                    i32.add
-                    local.get 8
-                    local.get 7
-                    call $memcpy
-                    drop
-                    local.get 5
-                    local.get 5
-                    i32.load offset=16
-                    local.tee 4
-                    i32.const -1
-                    i32.add
-                    i32.store offset=16
-                    local.get 3
-                    local.get 1
-                    local.get 7
-                    i32.add
-                    i32.store offset=12
-                    i32.const 1
-                    local.set 6
-                    block  ;; label = @9
-                      local.get 4
-                      i32.const 1
-                      i32.ne
-                      br_if 0 (;@9;)
-                      block  ;; label = @10
-                        local.get 5
-                        i32.load
-                        local.tee 4
-                        i32.eqz
-                        br_if 0 (;@10;)
-                        local.get 5
-                        i32.load offset=4
-                        local.get 4
-                        i32.const 1
-                        call $__rust_dealloc
-                      end
-                      local.get 5
-                      i32.const 20
-                      i32.const 4
-                      call $__rust_dealloc
-                    end
-                    local.get 0
-                    local.get 3
-                    i32.load offset=8
-                    i32.store
-                    local.get 0
-                    local.get 3
-                    i32.load offset=4
-                    i32.store offset=8
-                    local.get 0
-                    local.get 2
-                    i32.const 2
-                    i32.shl
-                    i32.const 1
-                    i32.or
-                    i32.store offset=12
-                    br 7 (;@1;)
-                  end
-                  local.get 0
-                  i32.load offset=8
-                  local.tee 9
-                  local.get 5
-                  i32.const 5
-                  i32.shr_u
-                  local.tee 7
-                  i32.add
-                  local.set 8
-                  block  ;; label = @8
-                    local.get 7
-                    local.get 4
-                    i32.lt_u
-                    br_if 0 (;@8;)
-                    local.get 8
-                    local.get 4
-                    i32.sub
-                    local.get 1
-                    i32.ge_u
-                    br_if 4 (;@4;)
-                  end
-                  i32.const 0
-                  local.set 6
-                  local.get 2
-                  i32.eqz
-                  br_if 6 (;@1;)
-                  local.get 3
-                  local.get 8
-                  i32.store offset=4
-                  local.get 3
-                  local.get 7
-                  local.get 4
-                  i32.add
-                  local.tee 6
-                  i32.store offset=12
-                  local.get 3
-                  local.get 0
-                  i32.load
-                  local.get 7
-                  i32.sub
-                  local.tee 5
-                  i32.store offset=8
-                  block  ;; label = @8
-                    local.get 9
-                    local.get 4
-                    i32.sub
-                    local.get 1
-                    i32.ge_u
-                    br_if 0 (;@8;)
-                    local.get 3
-                    i32.const 4
-                    i32.add
-                    local.get 6
-                    local.get 1
-                    call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c8ab8a4ebe78826E.llvm.13498044319351723418
-                    local.get 3
-                    i32.load offset=4
-                    local.set 8
-                    local.get 3
-                    i32.load offset=8
-                    local.set 5
-                  end
-                  local.get 0
-                  local.get 8
-                  local.get 7
-                  i32.sub
-                  i32.store offset=8
-                  local.get 0
-                  local.get 5
-                  local.get 7
-                  i32.add
-                  i32.store
-                  i32.const 1
-                  local.set 6
-                  br 6 (;@1;)
-                end
-                local.get 7
-                local.get 4
-                call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-                unreachable
-              end
-              local.get 5
-              i32.load
-              local.tee 7
-              local.get 0
-              i32.load
-              local.tee 6
-              local.get 5
-              i32.load offset=4
-              local.tee 9
-              i32.sub
-              local.tee 8
-              local.get 1
-              i32.add
-              local.tee 10
-              i32.lt_u
-              br_if 3 (;@2;)
-              local.get 0
-              local.get 1
-              i32.store offset=8
-              i32.const 1
-              local.set 6
-              br 4 (;@1;)
-            end
-            i32.const 0
-            local.set 6
-            local.get 2
-            br_if 1 (;@3;)
-            br 3 (;@1;)
-          end
-          local.get 0
-          i32.load
-          local.tee 6
-          local.get 7
-          i32.sub
-          local.get 6
-          local.get 4
-          call $memcpy
-          local.set 4
-          local.get 0
-          local.get 5
-          i32.const 31
-          i32.and
-          i32.store offset=12
-          local.get 0
-          local.get 4
-          i32.store
-          local.get 0
-          local.get 8
-          i32.store offset=8
-          i32.const 1
-          local.set 6
-          br 2 (;@1;)
-        end
-        i32.const 1050830
-        i32.const 8
-        i32.const 1050856
-        call $_ZN4core9panicking5panic17h3b99507adb69386aE
-        unreachable
-      end
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 7
-            local.get 1
-            i32.lt_u
-            br_if 0 (;@4;)
-            local.get 8
-            local.get 4
-            i32.ge_u
-            br_if 1 (;@3;)
-          end
-          i32.const 0
-          local.set 6
-          local.get 2
-          i32.eqz
-          br_if 2 (;@1;)
-          local.get 10
-          local.get 1
-          i32.lt_u
-          br_if 1 (;@2;)
-          local.get 5
-          local.get 8
-          local.get 4
-          i32.add
-          local.tee 4
-          i32.store offset=8
-          i32.const 1
-          local.set 6
-          block  ;; label = @4
-            local.get 7
-            local.get 4
-            i32.sub
-            local.get 7
-            i32.const 1
-            i32.shl
-            local.tee 1
-            local.get 10
-            local.get 1
-            local.get 10
-            i32.gt_u
-            select
-            local.get 4
-            i32.sub
-            local.tee 1
-            i32.ge_u
-            br_if 0 (;@4;)
-            local.get 5
-            local.get 4
-            local.get 1
-            call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h4c8ab8a4ebe78826E.llvm.13498044319351723418
-            local.get 5
-            i32.load
-            local.set 7
-            local.get 5
-            i32.load offset=4
-            local.set 9
-          end
-          local.get 0
-          local.get 7
-          local.get 8
-          i32.sub
-          i32.store offset=8
-          local.get 0
-          local.get 9
-          local.get 8
-          i32.add
-          i32.store
-          br 2 (;@1;)
-        end
-        local.get 0
-        local.get 9
-        local.get 6
-        local.get 4
-        call $memcpy
-        i32.store
-        local.get 0
-        local.get 5
-        i32.load
-        i32.store offset=8
-        i32.const 1
-        local.set 6
-        br 1 (;@1;)
-      end
-      i32.const 1050830
-      i32.const 8
-      i32.const 1050840
-      call $_ZN4core6option13expect_failed17h637b3c5bf9792ea8E
-      unreachable
-    end
-    local.get 3
-    i32.const 16
-    i32.add
-    global.set $__stack_pointer
-    local.get 6)
-  (func $_ZN5bytes9bytes_mut8BytesMut17advance_unchecked17h8cc95633436894fdE (type 4) (param i32 i32)
-    (local i32 i32 i32 i32 i32 i32)
-    block  ;; label = @1
-      local.get 1
-      i32.eqz
-      br_if 0 (;@1;)
-      block  ;; label = @2
-        local.get 0
-        i32.load offset=12
-        local.tee 2
-        i32.const 1
-        i32.and
-        i32.eqz
-        br_if 0 (;@2;)
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 2
-            i32.const 5
-            i32.shr_u
-            local.tee 3
-            local.get 1
-            i32.add
-            local.tee 4
-            i32.const 134217728
-            i32.ge_u
-            br_if 0 (;@4;)
-            local.get 4
-            i32.const 5
-            i32.shl
-            local.get 2
-            i32.const 31
-            i32.and
-            i32.or
-            local.set 4
-            br 1 (;@3;)
-          end
-          i32.const 0
-          i32.load8_u offset=1051873
-          drop
-          local.get 0
-          i32.load offset=8
-          local.set 5
-          local.get 0
-          i32.load offset=4
-          local.set 6
-          local.get 0
-          i32.load
-          local.set 7
-          block  ;; label = @4
-            i32.const 20
-            i32.const 4
-            call $__rust_alloc
-            local.tee 4
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 4
-            i32.const 1
-            i32.store offset=16
-            local.get 4
-            local.get 6
-            local.get 3
-            i32.add
-            i32.store offset=8
-            local.get 4
-            local.get 7
-            local.get 3
-            i32.sub
-            i32.store offset=4
-            local.get 4
-            local.get 5
-            local.get 3
-            i32.add
-            i32.store
-            local.get 4
-            local.get 2
-            i32.const 2
-            i32.shr_u
-            i32.const 7
-            i32.and
-            i32.store offset=12
-            br 1 (;@3;)
-          end
-          i32.const 4
-          i32.const 20
-          call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-          unreachable
-        end
-        local.get 0
-        local.get 4
-        i32.store offset=12
-      end
-      local.get 0
-      local.get 0
-      i32.load
-      local.get 1
-      i32.add
-      i32.store
-      local.get 0
-      local.get 0
-      i32.load offset=8
-      local.get 1
-      i32.sub
-      i32.store offset=8
-      local.get 0
-      i32.const 0
-      local.get 0
-      i32.load offset=4
-      local.tee 4
-      local.get 1
-      i32.sub
-      local.tee 1
-      local.get 1
-      local.get 4
-      i32.gt_u
-      select
-      i32.store offset=4
-    end)
-  (func $_ZN68_$LT$bytes..bytes_mut..BytesMut$u20$as$u20$core..ops..drop..Drop$GT$4drop17h694f9b0f8c62c807E (type 1) (param i32)
-    (local i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 0
-        i32.load offset=12
-        local.tee 1
-        i32.const 1
-        i32.and
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 0
-        i32.load offset=8
-        local.get 1
-        i32.const 5
-        i32.shr_u
-        local.tee 1
-        i32.add
-        local.tee 2
-        i32.eqz
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load
-        local.get 1
-        i32.sub
-        local.get 2
-        i32.const 1
-        call $__rust_dealloc
-        return
-      end
-      local.get 1
-      local.get 1
-      i32.load offset=16
-      local.tee 0
-      i32.const -1
-      i32.add
-      i32.store offset=16
-      local.get 0
-      i32.const 1
-      i32.ne
-      br_if 0 (;@1;)
-      block  ;; label = @2
-        local.get 1
-        i32.load
-        local.tee 0
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 1
-        i32.load offset=4
-        local.get 0
-        i32.const 1
-        call $__rust_dealloc
-      end
-      local.get 1
-      i32.const 20
-      i32.const 4
-      call $__rust_dealloc
-    end)
-  (func $_ZN74_$LT$bytes..bytes_mut..BytesMut$u20$as$u20$bytes..buf..buf_mut..BufMut$GT$9put_slice17h0e2daf131143dac5E (type 0) (param i32 i32 i32)
-    (local i32 i32)
-    block  ;; label = @1
-      local.get 0
-      i32.load offset=8
-      local.get 0
-      i32.load offset=4
-      local.tee 3
-      i32.sub
-      local.tee 4
-      local.get 2
-      i32.ge_u
-      br_if 0 (;@1;)
-      local.get 0
-      local.get 2
-      i32.const 1
-      call $_ZN5bytes9bytes_mut8BytesMut13reserve_inner17h8185434d4b750251E
-      drop
-      local.get 0
-      i32.load offset=8
-      local.get 0
-      i32.load offset=4
-      local.tee 3
-      i32.sub
-      local.set 4
-    end
-    local.get 0
-    i32.load
-    local.get 3
-    i32.add
-    local.get 1
-    local.get 2
-    call $memcpy
-    drop
-    block  ;; label = @1
-      local.get 4
-      local.get 2
-      i32.ge_u
-      br_if 0 (;@1;)
-      local.get 2
-      local.get 4
-      call $_ZN5bytes13panic_advance17heb816a5acb8c23c0E
-      unreachable
-    end
-    local.get 0
-    local.get 3
-    local.get 2
-    i32.add
-    i32.store offset=4)
-  (func $_ZN5bytes9bytes_mut11rebuild_vec17h38cce237df47590bE (type 7) (param i32 i32 i32 i32 i32)
-    local.get 0
-    local.get 4
-    local.get 2
-    i32.add
-    i32.store offset=8
-    local.get 0
-    local.get 1
-    local.get 4
-    i32.sub
-    i32.store offset=4
-    local.get 0
-    local.get 4
-    local.get 3
-    i32.add
-    i32.store)
-  (func $_ZN5bytes9bytes_mut14shared_v_clone17h1f76e68986705f75E (type 2) (param i32 i32 i32 i32)
-    (local i32)
-    local.get 1
-    i32.load
-    local.tee 1
-    local.get 1
-    i32.load offset=16
-    local.tee 4
-    i32.const 1
-    i32.add
-    i32.store offset=16
-    block  ;; label = @1
-      local.get 4
-      i32.const -1
-      i32.gt_s
-      br_if 0 (;@1;)
-      call $_ZN5bytes5abort17h7847ceaeaab8ab15E
-      unreachable
-    end
-    local.get 0
-    local.get 1
-    i32.store offset=12
-    local.get 0
-    local.get 3
-    i32.store offset=8
-    local.get 0
-    local.get 2
-    i32.store offset=4
-    local.get 0
-    i32.const 1050872
-    i32.store)
-  (func $_ZN5bytes9bytes_mut15shared_v_to_vec17he57e9e159f74f9c2E (type 2) (param i32 i32 i32 i32)
-    (local i32 i32 i32)
-    i32.const 1
-    local.set 4
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          i32.load
-          local.tee 1
-          i32.load offset=16
-          i32.const 1
-          i32.eq
-          br_if 0 (;@3;)
-          block  ;; label = @4
-            local.get 3
-            i32.eqz
-            br_if 0 (;@4;)
-            i32.const 0
-            local.set 5
-            local.get 3
-            i32.const 0
-            i32.lt_s
-            br_if 3 (;@1;)
-            i32.const 0
-            i32.load8_u offset=1051873
-            drop
-            i32.const 1
-            local.set 5
-            local.get 3
-            i32.const 1
-            call $__rust_alloc
-            local.tee 4
-            i32.eqz
-            br_if 3 (;@1;)
-          end
-          local.get 4
-          local.get 2
-          local.get 3
-          call $memcpy
-          drop
-          local.get 1
-          local.get 1
-          i32.load offset=16
-          local.tee 2
-          i32.const -1
-          i32.add
-          i32.store offset=16
-          local.get 3
-          local.set 5
-          local.get 2
-          i32.const 1
-          i32.ne
-          br_if 1 (;@2;)
-          block  ;; label = @4
-            local.get 1
-            i32.load
-            local.tee 5
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 1
-            i32.load offset=4
-            local.get 5
-            i32.const 1
-            call $__rust_dealloc
-          end
-          local.get 1
-          i32.const 20
-          i32.const 4
-          call $__rust_dealloc
-          local.get 3
-          local.set 5
-          br 1 (;@2;)
-        end
-        local.get 1
-        i32.const 0
-        i32.store offset=8
-        local.get 1
-        i32.load offset=4
-        local.set 4
-        local.get 1
-        i32.load
-        local.set 5
-        local.get 1
-        i64.const 4294967296
-        i64.store align=4
-        local.get 1
-        local.get 1
-        i32.load offset=16
-        local.tee 6
-        i32.const -1
-        i32.add
-        i32.store offset=16
-        block  ;; label = @3
-          local.get 6
-          i32.const 1
-          i32.ne
-          br_if 0 (;@3;)
-          block  ;; label = @4
-            local.get 1
-            i32.load
-            local.tee 6
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 1
-            i32.load offset=4
-            local.get 6
-            i32.const 1
-            call $__rust_dealloc
-          end
-          local.get 1
-          i32.const 20
-          i32.const 4
-          call $__rust_dealloc
-        end
-        local.get 4
-        local.get 2
-        local.get 3
-        call $memmove
-        drop
-      end
-      local.get 0
-      local.get 3
-      i32.store offset=8
-      local.get 0
-      local.get 4
-      i32.store offset=4
-      local.get 0
-      local.get 5
-      i32.store
-      return
-    end
-    local.get 5
-    local.get 3
-    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-    unreachable)
-  (func $_ZN5bytes9bytes_mut15shared_v_to_mut17h0a28fea12aa912d6E (type 2) (param i32 i32 i32 i32)
-    (local i32 i32)
-    i32.const 1
-    local.set 4
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          i32.load
-          local.tee 1
-          i32.load offset=16
-          i32.const 1
-          i32.eq
-          br_if 0 (;@3;)
-          block  ;; label = @4
-            local.get 3
-            i32.eqz
-            br_if 0 (;@4;)
-            i32.const 0
-            local.set 5
-            local.get 3
-            i32.const 0
-            i32.lt_s
-            br_if 3 (;@1;)
-            i32.const 0
-            i32.load8_u offset=1051873
-            drop
-            i32.const 1
-            local.set 5
-            local.get 3
-            i32.const 1
-            call $__rust_alloc
-            local.tee 4
-            i32.eqz
-            br_if 3 (;@1;)
-          end
-          local.get 4
-          local.get 2
-          local.get 3
-          call $memcpy
-          drop
-          local.get 1
-          local.get 1
-          i32.load offset=16
-          local.tee 2
-          i32.const -1
-          i32.add
-          i32.store offset=16
-          block  ;; label = @4
-            local.get 2
-            i32.const 1
-            i32.ne
-            br_if 0 (;@4;)
-            block  ;; label = @5
-              local.get 1
-              i32.load
-              local.tee 2
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 1
-              i32.load offset=4
-              local.get 2
-              i32.const 1
-              call $__rust_dealloc
-            end
-            local.get 1
-            i32.const 20
-            i32.const 4
-            call $__rust_dealloc
-          end
-          i32.const 32
-          local.get 3
-          i32.const 10
-          i32.shr_u
-          i32.clz
-          i32.sub
-          local.tee 1
-          i32.const 7
-          local.get 1
-          i32.const 7
-          i32.lt_u
-          select
-          i32.const 2
-          i32.shl
-          i32.const 1
-          i32.or
-          local.set 1
-          local.get 3
-          local.set 5
-          br 1 (;@2;)
-        end
-        local.get 1
-        i32.load
-        local.get 2
-        i32.sub
-        local.get 1
-        i32.load offset=4
-        i32.add
-        local.set 5
-        local.get 2
-        local.set 4
-      end
-      local.get 0
-      local.get 1
-      i32.store offset=12
-      local.get 0
-      local.get 5
-      i32.store offset=8
-      local.get 0
-      local.get 3
-      i32.store offset=4
-      local.get 0
-      local.get 4
-      i32.store
-      return
-    end
-    local.get 5
-    local.get 3
-    call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-    unreachable)
-  (func $_ZN5bytes9bytes_mut18shared_v_is_unique17h089cb643903ffe29E (type 10) (param i32) (result i32)
-    local.get 0
-    i32.load
-    i32.load offset=16
-    i32.const 1
-    i32.eq)
-  (func $_ZN5bytes9bytes_mut13shared_v_drop17hcb5bbcb630efea93E (type 0) (param i32 i32 i32)
-    (local i32)
-    local.get 0
-    i32.load
-    local.tee 0
-    local.get 0
-    i32.load offset=16
-    local.tee 3
-    i32.const -1
-    i32.add
-    i32.store offset=16
-    block  ;; label = @1
-      local.get 3
-      i32.const 1
-      i32.ne
-      br_if 0 (;@1;)
-      block  ;; label = @2
-        local.get 0
-        i32.load
-        local.tee 3
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 0
-        i32.load offset=4
-        local.get 3
-        i32.const 1
-        call $__rust_dealloc
-      end
-      local.get 0
-      i32.const 20
-      i32.const 4
-      call $__rust_dealloc
-    end)
-  (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h88d3cb239ded0a8bE (type 4) (param i32 i32)
-    local.get 0
-    i64.const -2989668174502565848
-    i64.store offset=8
-    local.get 0
-    i64.const -8255713724082750831
-    i64.store)
-  (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h9571516faba776b2E (type 4) (param i32 i32)
-    local.get 0
-    i64.const 9172487606043731407
-    i64.store offset=8
-    local.get 0
-    i64.const -8877450274954529964
-    i64.store)
-  (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17heb1b6f3656f479feE (type 4) (param i32 i32)
-    local.get 0
-    i64.const 7199936582794304877
-    i64.store offset=8
-    local.get 0
-    i64.const -5076933981314334344
-    i64.store)
-  (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h95d0e43a1ec4579dE (type 0) (param i32 i32 i32)
-    (local i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    block  ;; label = @1
-      local.get 1
-      local.get 2
-      i32.add
-      local.tee 2
-      local.get 1
-      i32.ge_u
-      br_if 0 (;@1;)
-      i32.const 0
-      i32.const 0
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    i32.const 1
-    local.set 4
-    local.get 0
-    i32.load
-    local.tee 5
-    i32.const 1
-    i32.shl
-    local.tee 1
-    local.get 2
-    local.get 1
-    local.get 2
-    i32.gt_u
-    select
-    local.tee 1
-    i32.const 8
-    local.get 1
-    i32.const 8
-    i32.gt_u
-    select
-    local.tee 1
-    i32.const -1
-    i32.xor
-    i32.const 31
-    i32.shr_u
-    local.set 2
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 5
-        br_if 0 (;@2;)
-        i32.const 0
-        local.set 4
-        br 1 (;@1;)
-      end
-      local.get 3
-      local.get 5
-      i32.store offset=28
-      local.get 3
-      local.get 0
-      i32.load offset=4
-      i32.store offset=20
-    end
-    local.get 3
-    local.get 4
-    i32.store offset=24
-    local.get 3
-    i32.const 8
-    i32.add
-    local.get 2
-    local.get 1
-    local.get 3
-    i32.const 20
-    i32.add
-    call $_ZN5alloc7raw_vec11finish_grow17ha0fc23de3e124241E
-    block  ;; label = @1
-      local.get 3
-      i32.load offset=8
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 3
-      i32.load offset=12
-      local.get 3
-      i32.load offset=16
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    local.get 3
-    i32.load offset=12
-    local.set 2
-    local.get 0
-    local.get 1
-    i32.store
-    local.get 0
-    local.get 2
-    i32.store offset=4
-    local.get 3
-    i32.const 32
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN4core3fmt5Write9write_fmt17h5450563fbb96cb70E (type 6) (param i32 i32) (result i32)
-    local.get 0
-    i32.const 1050892
-    local.get 1
-    call $_ZN4core3fmt5write17hbee61cd3fb7b52a3E)
-  (func $_ZN4core3ptr122drop_in_place$LT$$RF$alloc..boxed..Box$LT$dyn$u20$core..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17hafb4b80ed40fbfe0E (type 1) (param i32))
-  (func $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17hf58ee1d6076085b1E (type 1) (param i32))
-  (func $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17he0b9c7b9b779f017E (type 1) (param i32)
-    (local i32)
-    block  ;; label = @1
-      local.get 0
-      i32.load
-      local.tee 1
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 0
-      i32.load offset=4
-      local.get 1
-      i32.const 1
-      call $__rust_dealloc
-    end)
-  (func $_ZN4core3ptr77drop_in_place$LT$std..panicking..begin_panic_handler..FormatStringPayload$GT$17h0cdb96bb4afb8b69E (type 1) (param i32)
-    (local i32)
-    block  ;; label = @1
-      local.get 0
-      i32.load
-      local.tee 1
-      i32.const -2147483648
-      i32.or
-      i32.const -2147483648
-      i32.eq
-      br_if 0 (;@1;)
-      local.get 0
-      i32.load offset=4
-      local.get 1
-      i32.const 1
-      call $__rust_dealloc
-    end)
-  (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17h36d97d1c4726ee61E (type 6) (param i32 i32) (result i32)
-    (local i32 i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 1
-            i32.const 128
-            i32.lt_u
-            br_if 0 (;@4;)
-            local.get 2
-            i32.const 0
-            i32.store offset=12
-            local.get 1
-            i32.const 2048
-            i32.lt_u
-            br_if 1 (;@3;)
-            block  ;; label = @5
-              local.get 1
-              i32.const 65536
-              i32.ge_u
-              br_if 0 (;@5;)
-              local.get 2
-              local.get 1
-              i32.const 63
-              i32.and
-              i32.const 128
-              i32.or
-              i32.store8 offset=14
-              local.get 2
-              local.get 1
-              i32.const 12
-              i32.shr_u
-              i32.const 224
-              i32.or
-              i32.store8 offset=12
-              local.get 2
-              local.get 1
-              i32.const 6
-              i32.shr_u
-              i32.const 63
-              i32.and
-              i32.const 128
-              i32.or
-              i32.store8 offset=13
-              i32.const 3
-              local.set 1
-              br 3 (;@2;)
-            end
-            local.get 2
-            local.get 1
-            i32.const 63
-            i32.and
-            i32.const 128
-            i32.or
-            i32.store8 offset=15
-            local.get 2
-            local.get 1
-            i32.const 6
-            i32.shr_u
-            i32.const 63
-            i32.and
-            i32.const 128
-            i32.or
-            i32.store8 offset=14
-            local.get 2
-            local.get 1
-            i32.const 12
-            i32.shr_u
-            i32.const 63
-            i32.and
-            i32.const 128
-            i32.or
-            i32.store8 offset=13
-            local.get 2
-            local.get 1
-            i32.const 18
-            i32.shr_u
-            i32.const 7
-            i32.and
-            i32.const 240
-            i32.or
-            i32.store8 offset=12
-            i32.const 4
-            local.set 1
-            br 2 (;@2;)
-          end
-          block  ;; label = @4
-            local.get 0
-            i32.load offset=8
-            local.tee 3
-            local.get 0
-            i32.load
-            i32.ne
-            br_if 0 (;@4;)
-            local.get 0
-            call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17h249dd74981fa9ca3E
-          end
-          local.get 0
-          local.get 3
-          i32.const 1
-          i32.add
-          i32.store offset=8
-          local.get 0
-          i32.load offset=4
-          local.get 3
-          i32.add
-          local.get 1
-          i32.store8
-          br 2 (;@1;)
-        end
-        local.get 2
-        local.get 1
-        i32.const 63
-        i32.and
-        i32.const 128
-        i32.or
-        i32.store8 offset=13
-        local.get 2
-        local.get 1
-        i32.const 6
-        i32.shr_u
-        i32.const 192
-        i32.or
-        i32.store8 offset=12
-        i32.const 2
-        local.set 1
-      end
-      block  ;; label = @2
-        local.get 0
-        i32.load
-        local.get 0
-        i32.load offset=8
-        local.tee 3
-        i32.sub
-        local.get 1
-        i32.ge_u
-        br_if 0 (;@2;)
-        local.get 0
-        local.get 3
-        local.get 1
-        call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h95d0e43a1ec4579dE
-        local.get 0
-        i32.load offset=8
-        local.set 3
-      end
-      local.get 0
-      i32.load offset=4
-      local.get 3
-      i32.add
-      local.get 2
-      i32.const 12
-      i32.add
-      local.get 1
-      call $memcpy
-      drop
-      local.get 0
-      local.get 3
-      local.get 1
-      i32.add
-      i32.store offset=8
-    end
-    local.get 2
-    i32.const 16
-    i32.add
-    global.set $__stack_pointer
-    i32.const 0)
-  (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17h249dd74981fa9ca3E (type 1) (param i32)
-    (local i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 1
-    global.set $__stack_pointer
-    block  ;; label = @1
-      local.get 0
-      i32.load
-      local.tee 2
-      i32.const 1
-      i32.add
-      local.tee 3
-      br_if 0 (;@1;)
-      i32.const 0
-      i32.const 0
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    local.get 2
-    i32.const 1
-    i32.shl
-    local.tee 4
-    local.get 3
-    local.get 4
-    local.get 3
-    i32.gt_u
-    select
-    local.tee 3
-    i32.const 8
-    local.get 3
-    i32.const 8
-    i32.gt_u
-    select
-    local.tee 3
-    i32.const -1
-    i32.xor
-    i32.const 31
-    i32.shr_u
-    local.set 4
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 2
-        br_if 0 (;@2;)
-        i32.const 0
-        local.set 2
-        br 1 (;@1;)
-      end
-      local.get 1
-      local.get 2
-      i32.store offset=28
-      local.get 1
-      local.get 0
-      i32.load offset=4
-      i32.store offset=20
-      i32.const 1
-      local.set 2
-    end
-    local.get 1
-    local.get 2
-    i32.store offset=24
-    local.get 1
-    i32.const 8
-    i32.add
-    local.get 4
-    local.get 3
-    local.get 1
-    i32.const 20
-    i32.add
-    call $_ZN5alloc7raw_vec11finish_grow17ha0fc23de3e124241E
-    block  ;; label = @1
-      local.get 1
-      i32.load offset=8
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 1
-      i32.load offset=12
-      local.get 1
-      i32.load offset=16
-      call $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E
-      unreachable
-    end
-    local.get 1
-    i32.load offset=12
-    local.set 2
-    local.get 0
-    local.get 3
-    i32.store
-    local.get 0
-    local.get 2
-    i32.store offset=4
-    local.get 1
-    i32.const 32
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h932675f2c687b13fE (type 5) (param i32 i32 i32) (result i32)
-    (local i32)
-    block  ;; label = @1
-      local.get 0
-      i32.load
-      local.get 0
-      i32.load offset=8
-      local.tee 3
-      i32.sub
-      local.get 2
-      i32.ge_u
-      br_if 0 (;@1;)
-      local.get 0
-      local.get 3
-      local.get 2
-      call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h95d0e43a1ec4579dE
-      local.get 0
-      i32.load offset=8
-      local.set 3
-    end
-    local.get 0
-    i32.load offset=4
-    local.get 3
-    i32.add
-    local.get 1
-    local.get 2
-    call $memcpy
-    drop
-    local.get 0
-    local.get 3
-    local.get 2
-    i32.add
-    i32.store offset=8
-    i32.const 0)
-  (func $_ZN5alloc7raw_vec11finish_grow17ha0fc23de3e124241E (type 2) (param i32 i32 i32 i32)
-    (local i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 2
-          i32.const 0
-          i32.lt_s
-          br_if 1 (;@2;)
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                local.get 3
-                i32.load offset=4
-                i32.eqz
-                br_if 0 (;@6;)
-                block  ;; label = @7
-                  local.get 3
-                  i32.load offset=8
-                  local.tee 4
-                  br_if 0 (;@7;)
-                  block  ;; label = @8
-                    local.get 2
-                    br_if 0 (;@8;)
-                    local.get 1
-                    local.set 3
-                    br 4 (;@4;)
-                  end
-                  i32.const 0
-                  i32.load8_u offset=1051873
-                  drop
-                  br 2 (;@5;)
-                end
-                local.get 3
-                i32.load
-                local.get 4
-                local.get 1
-                local.get 2
-                call $__rust_realloc
-                local.set 3
-                br 2 (;@4;)
-              end
-              block  ;; label = @6
-                local.get 2
-                br_if 0 (;@6;)
-                local.get 1
-                local.set 3
-                br 2 (;@4;)
-              end
-              i32.const 0
-              i32.load8_u offset=1051873
-              drop
-            end
-            local.get 2
-            local.get 1
-            call $__rust_alloc
-            local.set 3
-          end
-          block  ;; label = @4
-            local.get 3
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 0
-            local.get 2
-            i32.store offset=8
-            local.get 0
-            local.get 3
-            i32.store offset=4
-            local.get 0
-            i32.const 0
-            i32.store
-            return
-          end
-          local.get 0
-          local.get 2
-          i32.store offset=8
-          local.get 0
-          local.get 1
-          i32.store offset=4
-          br 2 (;@1;)
-        end
-        local.get 0
-        i32.const 0
-        i32.store offset=4
-        br 1 (;@1;)
-      end
-      local.get 0
-      i32.const 0
-      i32.store offset=4
-    end
-    local.get 0
-    i32.const 1
-    i32.store)
-  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE (type 4) (param i32 i32)
-    (local i32 i32 i32 i32)
-    local.get 0
-    i32.load offset=12
-    local.set 2
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          i32.const 256
-          i32.lt_u
-          br_if 0 (;@3;)
-          local.get 0
-          i32.load offset=24
-          local.set 3
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                local.get 2
-                local.get 0
-                i32.ne
-                br_if 0 (;@6;)
-                local.get 0
-                i32.const 20
-                i32.const 16
-                local.get 0
-                i32.load offset=20
-                local.tee 2
-                select
-                i32.add
-                i32.load
-                local.tee 1
-                br_if 1 (;@5;)
-                i32.const 0
-                local.set 2
-                br 2 (;@4;)
-              end
-              local.get 0
-              i32.load offset=8
-              local.tee 1
-              local.get 2
-              i32.store offset=12
-              local.get 2
-              local.get 1
-              i32.store offset=8
-              br 1 (;@4;)
-            end
-            local.get 0
-            i32.const 20
-            i32.add
-            local.get 0
-            i32.const 16
-            i32.add
-            local.get 2
-            select
-            local.set 4
-            loop  ;; label = @5
-              local.get 4
-              local.set 5
-              local.get 1
-              local.tee 2
-              i32.const 20
-              i32.add
-              local.get 2
-              i32.const 16
-              i32.add
-              local.get 2
-              i32.load offset=20
-              local.tee 1
-              select
-              local.set 4
-              local.get 2
-              i32.const 20
-              i32.const 16
-              local.get 1
-              select
-              i32.add
-              i32.load
-              local.tee 1
-              br_if 0 (;@5;)
-            end
-            local.get 5
-            i32.const 0
-            i32.store
-          end
-          local.get 3
-          i32.eqz
-          br_if 2 (;@1;)
-          block  ;; label = @4
-            local.get 0
-            i32.load offset=28
-            i32.const 2
-            i32.shl
-            i32.const 1051896
-            i32.add
-            local.tee 1
-            i32.load
-            local.get 0
-            i32.eq
-            br_if 0 (;@4;)
-            local.get 3
-            i32.const 16
-            i32.const 20
-            local.get 3
-            i32.load offset=16
-            local.get 0
-            i32.eq
-            select
-            i32.add
-            local.get 2
-            i32.store
-            local.get 2
-            i32.eqz
-            br_if 3 (;@1;)
-            br 2 (;@2;)
-          end
-          local.get 1
-          local.get 2
-          i32.store
-          local.get 2
-          br_if 1 (;@2;)
-          i32.const 0
-          i32.const 0
-          i32.load offset=1052308
-          i32.const -2
-          local.get 0
-          i32.load offset=28
-          i32.rotl
-          i32.and
-          i32.store offset=1052308
-          br 2 (;@1;)
-        end
-        block  ;; label = @3
-          local.get 2
-          local.get 0
-          i32.load offset=8
-          local.tee 4
-          i32.eq
-          br_if 0 (;@3;)
-          local.get 4
-          local.get 2
-          i32.store offset=12
-          local.get 2
-          local.get 4
-          i32.store offset=8
-          return
-        end
-        i32.const 0
-        i32.const 0
-        i32.load offset=1052304
-        i32.const -2
-        local.get 1
-        i32.const 3
-        i32.shr_u
-        i32.rotl
-        i32.and
-        i32.store offset=1052304
-        return
-      end
-      local.get 2
-      local.get 3
-      i32.store offset=24
-      block  ;; label = @2
-        local.get 0
-        i32.load offset=16
-        local.tee 1
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 1
-        i32.store offset=16
-        local.get 1
-        local.get 2
-        i32.store offset=24
-      end
-      local.get 0
-      i32.load offset=20
-      local.tee 1
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 2
-      local.get 1
-      i32.store offset=20
-      local.get 1
-      local.get 2
-      i32.store offset=24
-      return
-    end)
-  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E (type 4) (param i32 i32)
-    (local i32 i32)
-    local.get 0
-    local.get 1
-    i32.add
-    local.set 2
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 0
-        i32.load offset=4
-        local.tee 3
-        i32.const 1
-        i32.and
-        br_if 0 (;@2;)
-        local.get 3
-        i32.const 2
-        i32.and
-        i32.eqz
-        br_if 1 (;@1;)
-        local.get 0
-        i32.load
-        local.tee 3
-        local.get 1
-        i32.add
-        local.set 1
-        block  ;; label = @3
-          local.get 0
-          local.get 3
-          i32.sub
-          local.tee 0
-          i32.const 0
-          i32.load offset=1052320
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 2
-          i32.load offset=4
-          i32.const 3
-          i32.and
-          i32.const 3
-          i32.ne
-          br_if 1 (;@2;)
-          i32.const 0
-          local.get 1
-          i32.store offset=1052312
-          local.get 2
-          local.get 2
-          i32.load offset=4
-          i32.const -2
-          i32.and
-          i32.store offset=4
-          local.get 0
-          local.get 1
-          i32.const 1
-          i32.or
-          i32.store offset=4
-          local.get 2
-          local.get 1
-          i32.store
-          br 2 (;@1;)
-        end
-        local.get 0
-        local.get 3
-        call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
-      end
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 2
-              i32.load offset=4
-              local.tee 3
-              i32.const 2
-              i32.and
-              br_if 0 (;@5;)
-              local.get 2
-              i32.const 0
-              i32.load offset=1052324
-              i32.eq
-              br_if 2 (;@3;)
-              local.get 2
-              i32.const 0
-              i32.load offset=1052320
-              i32.eq
-              br_if 3 (;@2;)
-              local.get 2
-              local.get 3
-              i32.const -8
-              i32.and
-              local.tee 3
-              call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
-              local.get 0
-              local.get 3
-              local.get 1
-              i32.add
-              local.tee 1
-              i32.const 1
-              i32.or
-              i32.store offset=4
-              local.get 0
-              local.get 1
-              i32.add
-              local.get 1
-              i32.store
-              local.get 0
-              i32.const 0
-              i32.load offset=1052320
-              i32.ne
-              br_if 1 (;@4;)
-              i32.const 0
-              local.get 1
-              i32.store offset=1052312
-              return
-            end
-            local.get 2
-            local.get 3
-            i32.const -2
-            i32.and
-            i32.store offset=4
-            local.get 0
-            local.get 1
-            i32.const 1
-            i32.or
-            i32.store offset=4
-            local.get 0
-            local.get 1
-            i32.add
-            local.get 1
-            i32.store
-          end
-          block  ;; label = @4
-            local.get 1
-            i32.const 256
-            i32.lt_u
-            br_if 0 (;@4;)
-            local.get 0
-            local.get 1
-            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
-            return
-          end
-          local.get 1
-          i32.const -8
-          i32.and
-          i32.const 1052040
-          i32.add
-          local.set 2
-          block  ;; label = @4
-            block  ;; label = @5
-              i32.const 0
-              i32.load offset=1052304
-              local.tee 3
-              i32.const 1
-              local.get 1
-              i32.const 3
-              i32.shr_u
-              i32.shl
-              local.tee 1
-              i32.and
-              br_if 0 (;@5;)
-              i32.const 0
-              local.get 3
-              local.get 1
-              i32.or
-              i32.store offset=1052304
-              local.get 2
-              local.set 1
-              br 1 (;@4;)
-            end
-            local.get 2
-            i32.load offset=8
-            local.set 1
-          end
-          local.get 2
-          local.get 0
-          i32.store offset=8
-          local.get 1
-          local.get 0
-          i32.store offset=12
-          local.get 0
-          local.get 2
-          i32.store offset=12
-          local.get 0
-          local.get 1
-          i32.store offset=8
-          return
-        end
-        i32.const 0
-        local.get 0
-        i32.store offset=1052324
-        i32.const 0
-        i32.const 0
-        i32.load offset=1052316
-        local.get 1
-        i32.add
-        local.tee 1
-        i32.store offset=1052316
-        local.get 0
-        local.get 1
-        i32.const 1
-        i32.or
-        i32.store offset=4
-        local.get 0
-        i32.const 0
-        i32.load offset=1052320
-        i32.ne
-        br_if 1 (;@1;)
-        i32.const 0
-        i32.const 0
-        i32.store offset=1052312
-        i32.const 0
-        i32.const 0
-        i32.store offset=1052320
-        return
-      end
-      i32.const 0
-      local.get 0
-      i32.store offset=1052320
-      i32.const 0
-      i32.const 0
-      i32.load offset=1052312
-      local.get 1
-      i32.add
-      local.tee 1
-      i32.store offset=1052312
-      local.get 0
-      local.get 1
-      i32.const 1
-      i32.or
-      i32.store offset=4
-      local.get 0
-      local.get 1
-      i32.add
-      local.get 1
-      i32.store
-      return
-    end)
-  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E (type 4) (param i32 i32)
-    (local i32 i32 i32 i32)
-    i32.const 0
-    local.set 2
-    block  ;; label = @1
-      local.get 1
-      i32.const 256
-      i32.lt_u
-      br_if 0 (;@1;)
-      i32.const 31
-      local.set 2
-      local.get 1
-      i32.const 16777215
-      i32.gt_u
-      br_if 0 (;@1;)
-      local.get 1
-      i32.const 6
-      local.get 1
-      i32.const 8
-      i32.shr_u
-      i32.clz
-      local.tee 2
-      i32.sub
-      i32.shr_u
-      i32.const 1
-      i32.and
-      local.get 2
-      i32.const 1
-      i32.shl
-      i32.sub
-      i32.const 62
-      i32.add
-      local.set 2
-    end
-    local.get 0
-    i64.const 0
-    i64.store offset=16 align=4
-    local.get 0
-    local.get 2
-    i32.store offset=28
-    local.get 2
-    i32.const 2
-    i32.shl
-    i32.const 1051896
-    i32.add
-    local.set 3
-    block  ;; label = @1
-      i32.const 0
-      i32.load offset=1052308
-      i32.const 1
-      local.get 2
-      i32.shl
-      local.tee 4
-      i32.and
-      br_if 0 (;@1;)
-      local.get 3
-      local.get 0
-      i32.store
-      local.get 0
-      local.get 3
-      i32.store offset=24
-      local.get 0
-      local.get 0
-      i32.store offset=12
-      local.get 0
-      local.get 0
-      i32.store offset=8
-      i32.const 0
-      i32.const 0
-      i32.load offset=1052308
-      local.get 4
-      i32.or
-      i32.store offset=1052308
-      return
-    end
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 3
-          i32.load
-          local.tee 4
-          i32.load offset=4
-          i32.const -8
-          i32.and
-          local.get 1
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 4
-          local.set 2
-          br 1 (;@2;)
-        end
-        local.get 1
-        i32.const 0
-        i32.const 25
-        local.get 2
-        i32.const 1
-        i32.shr_u
-        i32.sub
-        local.get 2
-        i32.const 31
-        i32.eq
-        select
-        i32.shl
-        local.set 3
-        loop  ;; label = @3
-          local.get 4
-          local.get 3
-          i32.const 29
-          i32.shr_u
-          i32.const 4
-          i32.and
-          i32.add
-          i32.const 16
-          i32.add
-          local.tee 5
-          i32.load
-          local.tee 2
-          i32.eqz
-          br_if 2 (;@1;)
-          local.get 3
-          i32.const 1
-          i32.shl
-          local.set 3
-          local.get 2
-          local.set 4
-          local.get 2
-          i32.load offset=4
-          i32.const -8
-          i32.and
-          local.get 1
-          i32.ne
-          br_if 0 (;@3;)
-        end
-      end
-      local.get 2
-      i32.load offset=8
-      local.tee 3
-      local.get 0
-      i32.store offset=12
-      local.get 2
-      local.get 0
-      i32.store offset=8
-      local.get 0
-      i32.const 0
-      i32.store offset=24
-      local.get 0
-      local.get 2
-      i32.store offset=12
-      local.get 0
-      local.get 3
-      i32.store offset=8
-      return
-    end
-    local.get 5
-    local.get 0
-    i32.store
-    local.get 0
-    local.get 4
-    i32.store offset=24
-    local.get 0
-    local.get 0
-    i32.store offset=12
-    local.get 0
-    local.get 0
-    i32.store offset=8)
-  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h21bf9d7572bd86f3E (type 1) (param i32)
-    (local i32 i32 i32 i32 i32)
-    local.get 0
-    i32.const -8
-    i32.add
-    local.tee 1
-    local.get 0
-    i32.const -4
-    i32.add
-    i32.load
-    local.tee 2
-    i32.const -8
-    i32.and
-    local.tee 0
-    i32.add
-    local.set 3
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 2
-            i32.const 1
-            i32.and
-            br_if 0 (;@4;)
-            local.get 2
-            i32.const 2
-            i32.and
-            i32.eqz
-            br_if 1 (;@3;)
-            local.get 1
-            i32.load
-            local.tee 2
-            local.get 0
-            i32.add
-            local.set 0
-            block  ;; label = @5
-              local.get 1
-              local.get 2
-              i32.sub
-              local.tee 1
-              i32.const 0
-              i32.load offset=1052320
-              i32.ne
-              br_if 0 (;@5;)
-              local.get 3
-              i32.load offset=4
-              i32.const 3
-              i32.and
-              i32.const 3
-              i32.ne
-              br_if 1 (;@4;)
-              i32.const 0
-              local.get 0
-              i32.store offset=1052312
-              local.get 3
-              local.get 3
-              i32.load offset=4
-              i32.const -2
-              i32.and
-              i32.store offset=4
-              local.get 1
-              local.get 0
-              i32.const 1
-              i32.or
-              i32.store offset=4
-              local.get 3
-              local.get 0
-              i32.store
-              return
-            end
-            local.get 1
-            local.get 2
-            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
-          end
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                local.get 3
-                i32.load offset=4
-                local.tee 2
-                i32.const 2
-                i32.and
-                br_if 0 (;@6;)
-                local.get 3
-                i32.const 0
-                i32.load offset=1052324
-                i32.eq
-                br_if 2 (;@4;)
-                local.get 3
-                i32.const 0
-                i32.load offset=1052320
-                i32.eq
-                br_if 5 (;@1;)
-                local.get 3
-                local.get 2
-                i32.const -8
-                i32.and
-                local.tee 2
-                call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
-                local.get 1
-                local.get 2
-                local.get 0
-                i32.add
-                local.tee 0
-                i32.const 1
-                i32.or
-                i32.store offset=4
-                local.get 1
-                local.get 0
-                i32.add
-                local.get 0
-                i32.store
-                local.get 1
-                i32.const 0
-                i32.load offset=1052320
-                i32.ne
-                br_if 1 (;@5;)
-                i32.const 0
-                local.get 0
-                i32.store offset=1052312
-                return
-              end
-              local.get 3
-              local.get 2
-              i32.const -2
-              i32.and
-              i32.store offset=4
-              local.get 1
-              local.get 0
-              i32.const 1
-              i32.or
-              i32.store offset=4
-              local.get 1
-              local.get 0
-              i32.add
-              local.get 0
-              i32.store
-            end
-            local.get 0
-            i32.const 256
-            i32.lt_u
-            br_if 2 (;@2;)
-            local.get 1
-            local.get 0
-            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
-            i32.const 0
-            local.set 1
-            i32.const 0
-            i32.const 0
-            i32.load offset=1052344
-            i32.const -1
-            i32.add
-            local.tee 0
-            i32.store offset=1052344
-            local.get 0
-            br_if 1 (;@3;)
-            block  ;; label = @5
-              i32.const 0
-              i32.load offset=1052032
-              local.tee 0
-              i32.eqz
-              br_if 0 (;@5;)
-              i32.const 0
-              local.set 1
-              loop  ;; label = @6
-                local.get 1
-                i32.const 1
-                i32.add
-                local.set 1
-                local.get 0
-                i32.load offset=8
-                local.tee 0
-                br_if 0 (;@6;)
-              end
-            end
-            i32.const 0
-            local.get 1
-            i32.const 4095
-            local.get 1
-            i32.const 4095
-            i32.gt_u
-            select
-            i32.store offset=1052344
-            return
-          end
-          i32.const 0
-          local.get 1
-          i32.store offset=1052324
-          i32.const 0
-          i32.const 0
-          i32.load offset=1052316
-          local.get 0
-          i32.add
-          local.tee 0
-          i32.store offset=1052316
-          local.get 1
-          local.get 0
-          i32.const 1
-          i32.or
-          i32.store offset=4
-          block  ;; label = @4
-            local.get 1
-            i32.const 0
-            i32.load offset=1052320
-            i32.ne
-            br_if 0 (;@4;)
-            i32.const 0
-            i32.const 0
-            i32.store offset=1052312
-            i32.const 0
-            i32.const 0
-            i32.store offset=1052320
-          end
-          local.get 0
-          i32.const 0
-          i32.load offset=1052336
-          local.tee 4
-          i32.le_u
-          br_if 0 (;@3;)
-          i32.const 0
-          i32.load offset=1052324
-          local.tee 3
-          i32.eqz
-          br_if 0 (;@3;)
-          i32.const 0
-          local.set 1
-          block  ;; label = @4
-            i32.const 0
-            i32.load offset=1052316
-            local.tee 5
-            i32.const 41
-            i32.lt_u
-            br_if 0 (;@4;)
-            i32.const 1052024
-            local.set 0
-            loop  ;; label = @5
-              block  ;; label = @6
-                local.get 0
-                i32.load
-                local.tee 2
-                local.get 3
-                i32.gt_u
-                br_if 0 (;@6;)
-                local.get 2
-                local.get 0
-                i32.load offset=4
-                i32.add
-                local.get 3
-                i32.gt_u
-                br_if 2 (;@4;)
-              end
-              local.get 0
-              i32.load offset=8
-              local.tee 0
-              br_if 0 (;@5;)
-            end
-          end
-          block  ;; label = @4
-            i32.const 0
-            i32.load offset=1052032
-            local.tee 0
-            i32.eqz
-            br_if 0 (;@4;)
-            i32.const 0
-            local.set 1
-            loop  ;; label = @5
-              local.get 1
-              i32.const 1
-              i32.add
-              local.set 1
-              local.get 0
-              i32.load offset=8
-              local.tee 0
-              br_if 0 (;@5;)
-            end
-          end
-          i32.const 0
-          local.get 1
-          i32.const 4095
-          local.get 1
-          i32.const 4095
-          i32.gt_u
-          select
-          i32.store offset=1052344
-          local.get 5
-          local.get 4
-          i32.le_u
-          br_if 0 (;@3;)
-          i32.const 0
-          i32.const -1
-          i32.store offset=1052336
-        end
-        return
-      end
-      local.get 0
-      i32.const -8
-      i32.and
-      i32.const 1052040
-      i32.add
-      local.set 3
-      block  ;; label = @2
-        block  ;; label = @3
-          i32.const 0
-          i32.load offset=1052304
-          local.tee 2
-          i32.const 1
-          local.get 0
-          i32.const 3
-          i32.shr_u
-          i32.shl
-          local.tee 0
-          i32.and
-          br_if 0 (;@3;)
-          i32.const 0
-          local.get 2
-          local.get 0
-          i32.or
-          i32.store offset=1052304
-          local.get 3
-          local.set 0
-          br 1 (;@2;)
-        end
-        local.get 3
-        i32.load offset=8
-        local.set 0
-      end
-      local.get 3
-      local.get 1
-      i32.store offset=8
-      local.get 0
-      local.get 1
-      i32.store offset=12
-      local.get 1
-      local.get 3
-      i32.store offset=12
-      local.get 1
-      local.get 0
-      i32.store offset=8
-      return
-    end
-    i32.const 0
-    local.get 1
-    i32.store offset=1052320
-    i32.const 0
-    i32.const 0
-    i32.load offset=1052312
-    local.get 0
-    i32.add
-    local.tee 0
-    i32.store offset=1052312
-    local.get 1
-    local.get 0
-    i32.const 1
-    i32.or
-    i32.store offset=4
-    local.get 1
-    local.get 0
-    i32.add
-    local.get 0
-    i32.store)
-  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h0483a0dc0f5e490bE (type 10) (param i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i64)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 1
-    global.set $__stack_pointer
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                block  ;; label = @7
-                  block  ;; label = @8
-                    local.get 0
-                    i32.const 245
-                    i32.lt_u
-                    br_if 0 (;@8;)
-                    i32.const 0
-                    local.set 2
-                    local.get 0
-                    i32.const -65587
-                    i32.ge_u
-                    br_if 7 (;@1;)
-                    local.get 0
-                    i32.const 11
-                    i32.add
-                    local.tee 0
-                    i32.const -8
-                    i32.and
-                    local.set 3
-                    i32.const 0
-                    i32.load offset=1052308
-                    local.tee 4
-                    i32.eqz
-                    br_if 4 (;@4;)
-                    i32.const 0
-                    local.set 5
-                    block  ;; label = @9
-                      local.get 3
-                      i32.const 256
-                      i32.lt_u
-                      br_if 0 (;@9;)
-                      i32.const 31
-                      local.set 5
-                      local.get 3
-                      i32.const 16777215
-                      i32.gt_u
-                      br_if 0 (;@9;)
-                      local.get 3
-                      i32.const 6
-                      local.get 0
-                      i32.const 8
-                      i32.shr_u
-                      i32.clz
-                      local.tee 0
-                      i32.sub
-                      i32.shr_u
-                      i32.const 1
-                      i32.and
-                      local.get 0
-                      i32.const 1
-                      i32.shl
-                      i32.sub
-                      i32.const 62
-                      i32.add
-                      local.set 5
-                    end
-                    i32.const 0
-                    local.get 3
-                    i32.sub
-                    local.set 2
-                    block  ;; label = @9
-                      local.get 5
-                      i32.const 2
-                      i32.shl
-                      i32.const 1051896
-                      i32.add
-                      i32.load
-                      local.tee 6
-                      br_if 0 (;@9;)
-                      i32.const 0
-                      local.set 0
-                      i32.const 0
-                      local.set 7
-                      br 2 (;@7;)
-                    end
-                    i32.const 0
-                    local.set 0
-                    local.get 3
-                    i32.const 0
-                    i32.const 25
-                    local.get 5
-                    i32.const 1
-                    i32.shr_u
-                    i32.sub
-                    local.get 5
-                    i32.const 31
-                    i32.eq
-                    select
-                    i32.shl
-                    local.set 8
-                    i32.const 0
-                    local.set 7
-                    loop  ;; label = @9
-                      block  ;; label = @10
-                        local.get 6
-                        local.tee 6
-                        i32.load offset=4
-                        i32.const -8
-                        i32.and
-                        local.tee 9
-                        local.get 3
-                        i32.lt_u
-                        br_if 0 (;@10;)
-                        local.get 9
-                        local.get 3
-                        i32.sub
-                        local.tee 9
-                        local.get 2
-                        i32.ge_u
-                        br_if 0 (;@10;)
-                        local.get 9
-                        local.set 2
-                        local.get 6
-                        local.set 7
-                        local.get 9
-                        br_if 0 (;@10;)
-                        i32.const 0
-                        local.set 2
-                        local.get 6
-                        local.set 7
-                        local.get 6
-                        local.set 0
-                        br 4 (;@6;)
-                      end
-                      local.get 6
-                      i32.load offset=20
-                      local.tee 9
-                      local.get 0
-                      local.get 9
-                      local.get 6
-                      local.get 8
-                      i32.const 29
-                      i32.shr_u
-                      i32.const 4
-                      i32.and
-                      i32.add
-                      i32.const 16
-                      i32.add
-                      i32.load
-                      local.tee 6
-                      i32.ne
-                      select
-                      local.get 0
-                      local.get 9
-                      select
-                      local.set 0
-                      local.get 8
-                      i32.const 1
-                      i32.shl
-                      local.set 8
-                      local.get 6
-                      i32.eqz
-                      br_if 2 (;@7;)
-                      br 0 (;@9;)
-                    end
-                  end
-                  block  ;; label = @8
-                    i32.const 0
-                    i32.load offset=1052304
-                    local.tee 6
-                    i32.const 16
-                    local.get 0
-                    i32.const 11
-                    i32.add
-                    i32.const 504
-                    i32.and
-                    local.get 0
-                    i32.const 11
-                    i32.lt_u
-                    select
-                    local.tee 3
-                    i32.const 3
-                    i32.shr_u
-                    local.tee 2
-                    i32.shr_u
-                    local.tee 0
-                    i32.const 3
-                    i32.and
-                    i32.eqz
-                    br_if 0 (;@8;)
-                    block  ;; label = @9
-                      block  ;; label = @10
-                        local.get 0
-                        i32.const -1
-                        i32.xor
-                        i32.const 1
-                        i32.and
-                        local.get 2
-                        i32.add
-                        local.tee 3
-                        i32.const 3
-                        i32.shl
-                        local.tee 0
-                        i32.const 1052040
-                        i32.add
-                        local.tee 2
-                        local.get 0
-                        i32.const 1052048
-                        i32.add
-                        i32.load
-                        local.tee 0
-                        i32.load offset=8
-                        local.tee 7
-                        i32.eq
-                        br_if 0 (;@10;)
-                        local.get 7
-                        local.get 2
-                        i32.store offset=12
-                        local.get 2
-                        local.get 7
-                        i32.store offset=8
-                        br 1 (;@9;)
-                      end
-                      i32.const 0
-                      local.get 6
-                      i32.const -2
-                      local.get 3
-                      i32.rotl
-                      i32.and
-                      i32.store offset=1052304
-                    end
-                    local.get 0
-                    i32.const 8
-                    i32.add
-                    local.set 2
-                    local.get 0
-                    local.get 3
-                    i32.const 3
-                    i32.shl
-                    local.tee 3
-                    i32.const 3
-                    i32.or
-                    i32.store offset=4
-                    local.get 0
-                    local.get 3
-                    i32.add
-                    local.tee 0
-                    local.get 0
-                    i32.load offset=4
-                    i32.const 1
-                    i32.or
-                    i32.store offset=4
-                    br 7 (;@1;)
-                  end
-                  local.get 3
-                  i32.const 0
-                  i32.load offset=1052312
-                  i32.le_u
-                  br_if 3 (;@4;)
-                  block  ;; label = @8
-                    block  ;; label = @9
-                      block  ;; label = @10
-                        local.get 0
-                        br_if 0 (;@10;)
-                        i32.const 0
-                        i32.load offset=1052308
-                        local.tee 0
-                        i32.eqz
-                        br_if 6 (;@4;)
-                        local.get 0
-                        i32.ctz
-                        i32.const 2
-                        i32.shl
-                        i32.const 1051896
-                        i32.add
-                        i32.load
-                        local.tee 7
-                        i32.load offset=4
-                        i32.const -8
-                        i32.and
-                        local.get 3
-                        i32.sub
-                        local.set 2
-                        local.get 7
-                        local.set 6
-                        loop  ;; label = @11
-                          block  ;; label = @12
-                            local.get 7
-                            i32.load offset=16
-                            local.tee 0
-                            br_if 0 (;@12;)
-                            local.get 7
-                            i32.load offset=20
-                            local.tee 0
-                            br_if 0 (;@12;)
-                            local.get 6
-                            i32.load offset=24
-                            local.set 5
-                            block  ;; label = @13
-                              block  ;; label = @14
-                                block  ;; label = @15
-                                  local.get 6
-                                  i32.load offset=12
-                                  local.tee 0
-                                  local.get 6
-                                  i32.ne
-                                  br_if 0 (;@15;)
-                                  local.get 6
-                                  i32.const 20
-                                  i32.const 16
-                                  local.get 6
-                                  i32.load offset=20
-                                  local.tee 0
-                                  select
-                                  i32.add
-                                  i32.load
-                                  local.tee 7
-                                  br_if 1 (;@14;)
-                                  i32.const 0
-                                  local.set 0
-                                  br 2 (;@13;)
-                                end
-                                local.get 6
-                                i32.load offset=8
-                                local.tee 7
-                                local.get 0
-                                i32.store offset=12
-                                local.get 0
-                                local.get 7
-                                i32.store offset=8
-                                br 1 (;@13;)
-                              end
-                              local.get 6
-                              i32.const 20
-                              i32.add
-                              local.get 6
-                              i32.const 16
-                              i32.add
-                              local.get 0
-                              select
-                              local.set 8
-                              loop  ;; label = @14
-                                local.get 8
-                                local.set 9
-                                local.get 7
-                                local.tee 0
-                                i32.const 20
-                                i32.add
-                                local.get 0
-                                i32.const 16
-                                i32.add
-                                local.get 0
-                                i32.load offset=20
-                                local.tee 7
-                                select
-                                local.set 8
-                                local.get 0
-                                i32.const 20
-                                i32.const 16
-                                local.get 7
-                                select
-                                i32.add
-                                i32.load
-                                local.tee 7
-                                br_if 0 (;@14;)
-                              end
-                              local.get 9
-                              i32.const 0
-                              i32.store
-                            end
-                            local.get 5
-                            i32.eqz
-                            br_if 4 (;@8;)
-                            block  ;; label = @13
-                              local.get 6
-                              i32.load offset=28
-                              i32.const 2
-                              i32.shl
-                              i32.const 1051896
-                              i32.add
-                              local.tee 7
-                              i32.load
-                              local.get 6
-                              i32.eq
-                              br_if 0 (;@13;)
-                              local.get 5
-                              i32.const 16
-                              i32.const 20
-                              local.get 5
-                              i32.load offset=16
-                              local.get 6
-                              i32.eq
-                              select
-                              i32.add
-                              local.get 0
-                              i32.store
-                              local.get 0
-                              i32.eqz
-                              br_if 5 (;@8;)
-                              br 4 (;@9;)
-                            end
-                            local.get 7
-                            local.get 0
-                            i32.store
-                            local.get 0
-                            br_if 3 (;@9;)
-                            i32.const 0
-                            i32.const 0
-                            i32.load offset=1052308
-                            i32.const -2
-                            local.get 6
-                            i32.load offset=28
-                            i32.rotl
-                            i32.and
-                            i32.store offset=1052308
-                            br 4 (;@8;)
-                          end
-                          local.get 0
-                          i32.load offset=4
-                          i32.const -8
-                          i32.and
-                          local.get 3
-                          i32.sub
-                          local.tee 7
-                          local.get 2
-                          local.get 7
-                          local.get 2
-                          i32.lt_u
-                          local.tee 7
-                          select
-                          local.set 2
-                          local.get 0
-                          local.get 6
-                          local.get 7
-                          select
-                          local.set 6
-                          local.get 0
-                          local.set 7
-                          br 0 (;@11;)
-                        end
-                      end
-                      block  ;; label = @10
-                        block  ;; label = @11
-                          local.get 0
-                          local.get 2
-                          i32.shl
-                          i32.const 2
-                          local.get 2
-                          i32.shl
-                          local.tee 0
-                          i32.const 0
-                          local.get 0
-                          i32.sub
-                          i32.or
-                          i32.and
-                          i32.ctz
-                          local.tee 2
-                          i32.const 3
-                          i32.shl
-                          local.tee 0
-                          i32.const 1052040
-                          i32.add
-                          local.tee 7
-                          local.get 0
-                          i32.const 1052048
-                          i32.add
-                          i32.load
-                          local.tee 0
-                          i32.load offset=8
-                          local.tee 8
-                          i32.eq
-                          br_if 0 (;@11;)
-                          local.get 8
-                          local.get 7
-                          i32.store offset=12
-                          local.get 7
-                          local.get 8
-                          i32.store offset=8
-                          br 1 (;@10;)
-                        end
-                        i32.const 0
-                        local.get 6
-                        i32.const -2
-                        local.get 2
-                        i32.rotl
-                        i32.and
-                        i32.store offset=1052304
-                      end
-                      local.get 0
-                      local.get 3
-                      i32.const 3
-                      i32.or
-                      i32.store offset=4
-                      local.get 0
-                      local.get 3
-                      i32.add
-                      local.tee 8
-                      local.get 2
-                      i32.const 3
-                      i32.shl
-                      local.tee 2
-                      local.get 3
-                      i32.sub
-                      local.tee 7
-                      i32.const 1
-                      i32.or
-                      i32.store offset=4
-                      local.get 0
-                      local.get 2
-                      i32.add
-                      local.get 7
-                      i32.store
-                      block  ;; label = @10
-                        i32.const 0
-                        i32.load offset=1052312
-                        local.tee 6
-                        i32.eqz
-                        br_if 0 (;@10;)
-                        local.get 6
-                        i32.const -8
-                        i32.and
-                        i32.const 1052040
-                        i32.add
-                        local.set 2
-                        i32.const 0
-                        i32.load offset=1052320
-                        local.set 3
-                        block  ;; label = @11
-                          block  ;; label = @12
-                            i32.const 0
-                            i32.load offset=1052304
-                            local.tee 9
-                            i32.const 1
-                            local.get 6
-                            i32.const 3
-                            i32.shr_u
-                            i32.shl
-                            local.tee 6
-                            i32.and
-                            br_if 0 (;@12;)
-                            i32.const 0
-                            local.get 9
-                            local.get 6
-                            i32.or
-                            i32.store offset=1052304
-                            local.get 2
-                            local.set 6
-                            br 1 (;@11;)
-                          end
-                          local.get 2
-                          i32.load offset=8
-                          local.set 6
-                        end
-                        local.get 2
-                        local.get 3
-                        i32.store offset=8
-                        local.get 6
-                        local.get 3
-                        i32.store offset=12
-                        local.get 3
-                        local.get 2
-                        i32.store offset=12
-                        local.get 3
-                        local.get 6
-                        i32.store offset=8
-                      end
-                      local.get 0
-                      i32.const 8
-                      i32.add
-                      local.set 2
-                      i32.const 0
-                      local.get 8
-                      i32.store offset=1052320
-                      i32.const 0
-                      local.get 7
-                      i32.store offset=1052312
-                      br 8 (;@1;)
-                    end
-                    local.get 0
-                    local.get 5
-                    i32.store offset=24
-                    block  ;; label = @9
-                      local.get 6
-                      i32.load offset=16
-                      local.tee 7
-                      i32.eqz
-                      br_if 0 (;@9;)
-                      local.get 0
-                      local.get 7
-                      i32.store offset=16
-                      local.get 7
-                      local.get 0
-                      i32.store offset=24
-                    end
-                    local.get 6
-                    i32.load offset=20
-                    local.tee 7
-                    i32.eqz
-                    br_if 0 (;@8;)
-                    local.get 0
-                    local.get 7
-                    i32.store offset=20
-                    local.get 7
-                    local.get 0
-                    i32.store offset=24
-                  end
-                  block  ;; label = @8
-                    block  ;; label = @9
-                      block  ;; label = @10
-                        local.get 2
-                        i32.const 16
-                        i32.lt_u
-                        br_if 0 (;@10;)
-                        local.get 6
-                        local.get 3
-                        i32.const 3
-                        i32.or
-                        i32.store offset=4
-                        local.get 6
-                        local.get 3
-                        i32.add
-                        local.tee 3
-                        local.get 2
-                        i32.const 1
-                        i32.or
-                        i32.store offset=4
-                        local.get 3
-                        local.get 2
-                        i32.add
-                        local.get 2
-                        i32.store
-                        i32.const 0
-                        i32.load offset=1052312
-                        local.tee 8
-                        i32.eqz
-                        br_if 1 (;@9;)
-                        local.get 8
-                        i32.const -8
-                        i32.and
-                        i32.const 1052040
-                        i32.add
-                        local.set 7
-                        i32.const 0
-                        i32.load offset=1052320
-                        local.set 0
-                        block  ;; label = @11
-                          block  ;; label = @12
-                            i32.const 0
-                            i32.load offset=1052304
-                            local.tee 9
-                            i32.const 1
-                            local.get 8
-                            i32.const 3
-                            i32.shr_u
-                            i32.shl
-                            local.tee 8
-                            i32.and
-                            br_if 0 (;@12;)
-                            i32.const 0
-                            local.get 9
-                            local.get 8
-                            i32.or
-                            i32.store offset=1052304
-                            local.get 7
-                            local.set 8
-                            br 1 (;@11;)
-                          end
-                          local.get 7
-                          i32.load offset=8
-                          local.set 8
-                        end
-                        local.get 7
-                        local.get 0
-                        i32.store offset=8
-                        local.get 8
-                        local.get 0
-                        i32.store offset=12
-                        local.get 0
-                        local.get 7
-                        i32.store offset=12
-                        local.get 0
-                        local.get 8
-                        i32.store offset=8
-                        br 1 (;@9;)
-                      end
-                      local.get 6
-                      local.get 2
-                      local.get 3
-                      i32.add
-                      local.tee 0
-                      i32.const 3
-                      i32.or
-                      i32.store offset=4
-                      local.get 6
-                      local.get 0
-                      i32.add
-                      local.tee 0
-                      local.get 0
-                      i32.load offset=4
-                      i32.const 1
-                      i32.or
-                      i32.store offset=4
-                      br 1 (;@8;)
-                    end
-                    i32.const 0
-                    local.get 3
-                    i32.store offset=1052320
-                    i32.const 0
-                    local.get 2
-                    i32.store offset=1052312
-                  end
-                  local.get 6
-                  i32.const 8
-                  i32.add
-                  local.set 2
-                  br 6 (;@1;)
-                end
-                block  ;; label = @7
-                  local.get 0
-                  local.get 7
-                  i32.or
-                  br_if 0 (;@7;)
-                  i32.const 0
-                  local.set 7
-                  i32.const 2
-                  local.get 5
-                  i32.shl
-                  local.tee 0
-                  i32.const 0
-                  local.get 0
-                  i32.sub
-                  i32.or
-                  local.get 4
-                  i32.and
-                  local.tee 0
-                  i32.eqz
-                  br_if 3 (;@4;)
-                  local.get 0
-                  i32.ctz
-                  i32.const 2
-                  i32.shl
-                  i32.const 1051896
-                  i32.add
-                  i32.load
-                  local.set 0
-                end
-                local.get 0
-                i32.eqz
-                br_if 1 (;@5;)
-              end
-              loop  ;; label = @6
-                local.get 0
-                local.get 7
-                local.get 0
-                i32.load offset=4
-                i32.const -8
-                i32.and
-                local.tee 6
-                local.get 3
-                i32.sub
-                local.tee 9
-                local.get 2
-                i32.lt_u
-                local.tee 5
-                select
-                local.set 4
-                local.get 6
-                local.get 3
-                i32.lt_u
-                local.set 8
-                local.get 9
-                local.get 2
-                local.get 5
-                select
-                local.set 9
-                block  ;; label = @7
-                  local.get 0
-                  i32.load offset=16
-                  local.tee 6
-                  br_if 0 (;@7;)
-                  local.get 0
-                  i32.load offset=20
-                  local.set 6
-                end
-                local.get 7
-                local.get 4
-                local.get 8
-                select
-                local.set 7
-                local.get 2
-                local.get 9
-                local.get 8
-                select
-                local.set 2
-                local.get 6
-                local.set 0
-                local.get 6
-                br_if 0 (;@6;)
-              end
-            end
-            local.get 7
-            i32.eqz
-            br_if 0 (;@4;)
-            block  ;; label = @5
-              i32.const 0
-              i32.load offset=1052312
-              local.tee 0
-              local.get 3
-              i32.lt_u
-              br_if 0 (;@5;)
-              local.get 2
-              local.get 0
-              local.get 3
-              i32.sub
-              i32.ge_u
-              br_if 1 (;@4;)
-            end
-            local.get 7
-            i32.load offset=24
-            local.set 5
-            block  ;; label = @5
-              block  ;; label = @6
-                block  ;; label = @7
-                  local.get 7
-                  i32.load offset=12
-                  local.tee 0
-                  local.get 7
-                  i32.ne
-                  br_if 0 (;@7;)
-                  local.get 7
-                  i32.const 20
-                  i32.const 16
-                  local.get 7
-                  i32.load offset=20
-                  local.tee 0
-                  select
-                  i32.add
-                  i32.load
-                  local.tee 6
-                  br_if 1 (;@6;)
-                  i32.const 0
-                  local.set 0
-                  br 2 (;@5;)
-                end
-                local.get 7
-                i32.load offset=8
-                local.tee 6
-                local.get 0
-                i32.store offset=12
-                local.get 0
-                local.get 6
-                i32.store offset=8
-                br 1 (;@5;)
-              end
-              local.get 7
-              i32.const 20
-              i32.add
-              local.get 7
-              i32.const 16
-              i32.add
-              local.get 0
-              select
-              local.set 8
-              loop  ;; label = @6
-                local.get 8
-                local.set 9
-                local.get 6
-                local.tee 0
-                i32.const 20
-                i32.add
-                local.get 0
-                i32.const 16
-                i32.add
-                local.get 0
-                i32.load offset=20
-                local.tee 6
-                select
-                local.set 8
-                local.get 0
-                i32.const 20
-                i32.const 16
-                local.get 6
-                select
-                i32.add
-                i32.load
-                local.tee 6
-                br_if 0 (;@6;)
-              end
-              local.get 9
-              i32.const 0
-              i32.store
-            end
-            local.get 5
-            i32.eqz
-            br_if 2 (;@2;)
-            block  ;; label = @5
-              local.get 7
-              i32.load offset=28
-              i32.const 2
-              i32.shl
-              i32.const 1051896
-              i32.add
-              local.tee 6
-              i32.load
-              local.get 7
-              i32.eq
-              br_if 0 (;@5;)
-              local.get 5
-              i32.const 16
-              i32.const 20
-              local.get 5
-              i32.load offset=16
-              local.get 7
-              i32.eq
-              select
-              i32.add
-              local.get 0
-              i32.store
-              local.get 0
-              i32.eqz
-              br_if 3 (;@2;)
-              br 2 (;@3;)
-            end
-            local.get 6
-            local.get 0
-            i32.store
-            local.get 0
-            br_if 1 (;@3;)
-            i32.const 0
-            i32.const 0
-            i32.load offset=1052308
-            i32.const -2
-            local.get 7
-            i32.load offset=28
-            i32.rotl
-            i32.and
-            i32.store offset=1052308
-            br 2 (;@2;)
-          end
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                block  ;; label = @7
-                  block  ;; label = @8
-                    block  ;; label = @9
-                      i32.const 0
-                      i32.load offset=1052312
-                      local.tee 0
-                      local.get 3
-                      i32.ge_u
-                      br_if 0 (;@9;)
-                      block  ;; label = @10
-                        i32.const 0
-                        i32.load offset=1052316
-                        local.tee 0
-                        local.get 3
-                        i32.gt_u
-                        br_if 0 (;@10;)
-                        local.get 1
-                        i32.const 4
-                        i32.add
-                        i32.const 1052348
-                        local.get 3
-                        i32.const 65583
-                        i32.add
-                        i32.const -65536
-                        i32.and
-                        call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5alloc17h32bf5aa7613bca1cE
-                        block  ;; label = @11
-                          local.get 1
-                          i32.load offset=4
-                          local.tee 6
-                          br_if 0 (;@11;)
-                          i32.const 0
-                          local.set 2
-                          br 10 (;@1;)
-                        end
-                        local.get 1
-                        i32.load offset=12
-                        local.set 5
-                        i32.const 0
-                        i32.const 0
-                        i32.load offset=1052328
-                        local.get 1
-                        i32.load offset=8
-                        local.tee 9
-                        i32.add
-                        local.tee 0
-                        i32.store offset=1052328
-                        i32.const 0
-                        i32.const 0
-                        i32.load offset=1052332
-                        local.tee 2
-                        local.get 0
-                        local.get 2
-                        local.get 0
-                        i32.gt_u
-                        select
-                        i32.store offset=1052332
-                        block  ;; label = @11
-                          block  ;; label = @12
-                            block  ;; label = @13
-                              i32.const 0
-                              i32.load offset=1052324
-                              local.tee 2
-                              i32.eqz
-                              br_if 0 (;@13;)
-                              i32.const 1052024
-                              local.set 0
-                              loop  ;; label = @14
-                                local.get 6
-                                local.get 0
-                                i32.load
-                                local.tee 7
-                                local.get 0
-                                i32.load offset=4
-                                local.tee 8
-                                i32.add
-                                i32.eq
-                                br_if 2 (;@12;)
-                                local.get 0
-                                i32.load offset=8
-                                local.tee 0
-                                br_if 0 (;@14;)
-                                br 3 (;@11;)
-                              end
-                            end
-                            block  ;; label = @13
-                              block  ;; label = @14
-                                i32.const 0
-                                i32.load offset=1052340
-                                local.tee 0
-                                i32.eqz
-                                br_if 0 (;@14;)
-                                local.get 6
-                                local.get 0
-                                i32.ge_u
-                                br_if 1 (;@13;)
-                              end
-                              i32.const 0
-                              local.get 6
-                              i32.store offset=1052340
-                            end
-                            i32.const 0
-                            i32.const 4095
-                            i32.store offset=1052344
-                            i32.const 0
-                            local.get 5
-                            i32.store offset=1052036
-                            i32.const 0
-                            local.get 9
-                            i32.store offset=1052028
-                            i32.const 0
-                            local.get 6
-                            i32.store offset=1052024
-                            i32.const 0
-                            i32.const 1052040
-                            i32.store offset=1052052
-                            i32.const 0
-                            i32.const 1052048
-                            i32.store offset=1052060
-                            i32.const 0
-                            i32.const 1052040
-                            i32.store offset=1052048
-                            i32.const 0
-                            i32.const 1052056
-                            i32.store offset=1052068
-                            i32.const 0
-                            i32.const 1052048
-                            i32.store offset=1052056
-                            i32.const 0
-                            i32.const 1052064
-                            i32.store offset=1052076
-                            i32.const 0
-                            i32.const 1052056
-                            i32.store offset=1052064
-                            i32.const 0
-                            i32.const 1052072
-                            i32.store offset=1052084
-                            i32.const 0
-                            i32.const 1052064
-                            i32.store offset=1052072
-                            i32.const 0
-                            i32.const 1052080
-                            i32.store offset=1052092
-                            i32.const 0
-                            i32.const 1052072
-                            i32.store offset=1052080
-                            i32.const 0
-                            i32.const 1052088
-                            i32.store offset=1052100
-                            i32.const 0
-                            i32.const 1052080
-                            i32.store offset=1052088
-                            i32.const 0
-                            i32.const 1052096
-                            i32.store offset=1052108
-                            i32.const 0
-                            i32.const 1052088
-                            i32.store offset=1052096
-                            i32.const 0
-                            i32.const 1052104
-                            i32.store offset=1052116
-                            i32.const 0
-                            i32.const 1052096
-                            i32.store offset=1052104
-                            i32.const 0
-                            i32.const 1052104
-                            i32.store offset=1052112
-                            i32.const 0
-                            i32.const 1052112
-                            i32.store offset=1052124
-                            i32.const 0
-                            i32.const 1052112
-                            i32.store offset=1052120
-                            i32.const 0
-                            i32.const 1052120
-                            i32.store offset=1052132
-                            i32.const 0
-                            i32.const 1052120
-                            i32.store offset=1052128
-                            i32.const 0
-                            i32.const 1052128
-                            i32.store offset=1052140
-                            i32.const 0
-                            i32.const 1052128
-                            i32.store offset=1052136
-                            i32.const 0
-                            i32.const 1052136
-                            i32.store offset=1052148
-                            i32.const 0
-                            i32.const 1052136
-                            i32.store offset=1052144
-                            i32.const 0
-                            i32.const 1052144
-                            i32.store offset=1052156
-                            i32.const 0
-                            i32.const 1052144
-                            i32.store offset=1052152
-                            i32.const 0
-                            i32.const 1052152
-                            i32.store offset=1052164
-                            i32.const 0
-                            i32.const 1052152
-                            i32.store offset=1052160
-                            i32.const 0
-                            i32.const 1052160
-                            i32.store offset=1052172
-                            i32.const 0
-                            i32.const 1052160
-                            i32.store offset=1052168
-                            i32.const 0
-                            i32.const 1052168
-                            i32.store offset=1052180
-                            i32.const 0
-                            i32.const 1052176
-                            i32.store offset=1052188
-                            i32.const 0
-                            i32.const 1052168
-                            i32.store offset=1052176
-                            i32.const 0
-                            i32.const 1052184
-                            i32.store offset=1052196
-                            i32.const 0
-                            i32.const 1052176
-                            i32.store offset=1052184
-                            i32.const 0
-                            i32.const 1052192
-                            i32.store offset=1052204
-                            i32.const 0
-                            i32.const 1052184
-                            i32.store offset=1052192
-                            i32.const 0
-                            i32.const 1052200
-                            i32.store offset=1052212
-                            i32.const 0
-                            i32.const 1052192
-                            i32.store offset=1052200
-                            i32.const 0
-                            i32.const 1052208
-                            i32.store offset=1052220
-                            i32.const 0
-                            i32.const 1052200
-                            i32.store offset=1052208
-                            i32.const 0
-                            i32.const 1052216
-                            i32.store offset=1052228
-                            i32.const 0
-                            i32.const 1052208
-                            i32.store offset=1052216
-                            i32.const 0
-                            i32.const 1052224
-                            i32.store offset=1052236
-                            i32.const 0
-                            i32.const 1052216
-                            i32.store offset=1052224
-                            i32.const 0
-                            i32.const 1052232
-                            i32.store offset=1052244
-                            i32.const 0
-                            i32.const 1052224
-                            i32.store offset=1052232
-                            i32.const 0
-                            i32.const 1052240
-                            i32.store offset=1052252
-                            i32.const 0
-                            i32.const 1052232
-                            i32.store offset=1052240
-                            i32.const 0
-                            i32.const 1052248
-                            i32.store offset=1052260
-                            i32.const 0
-                            i32.const 1052240
-                            i32.store offset=1052248
-                            i32.const 0
-                            i32.const 1052256
-                            i32.store offset=1052268
-                            i32.const 0
-                            i32.const 1052248
-                            i32.store offset=1052256
-                            i32.const 0
-                            i32.const 1052264
-                            i32.store offset=1052276
-                            i32.const 0
-                            i32.const 1052256
-                            i32.store offset=1052264
-                            i32.const 0
-                            i32.const 1052272
-                            i32.store offset=1052284
-                            i32.const 0
-                            i32.const 1052264
-                            i32.store offset=1052272
-                            i32.const 0
-                            i32.const 1052280
-                            i32.store offset=1052292
-                            i32.const 0
-                            i32.const 1052272
-                            i32.store offset=1052280
-                            i32.const 0
-                            i32.const 1052288
-                            i32.store offset=1052300
-                            i32.const 0
-                            i32.const 1052280
-                            i32.store offset=1052288
-                            i32.const 0
-                            local.get 6
-                            i32.const 15
-                            i32.add
-                            i32.const -8
-                            i32.and
-                            local.tee 0
-                            i32.const -8
-                            i32.add
-                            local.tee 2
-                            i32.store offset=1052324
-                            i32.const 0
-                            i32.const 1052288
-                            i32.store offset=1052296
-                            i32.const 0
-                            local.get 6
-                            local.get 0
-                            i32.sub
-                            local.get 9
-                            i32.const -40
-                            i32.add
-                            local.tee 0
-                            i32.add
-                            i32.const 8
-                            i32.add
-                            local.tee 7
-                            i32.store offset=1052316
-                            local.get 2
-                            local.get 7
-                            i32.const 1
-                            i32.or
-                            i32.store offset=4
-                            local.get 6
-                            local.get 0
-                            i32.add
-                            i32.const 40
-                            i32.store offset=4
-                            i32.const 0
-                            i32.const 2097152
-                            i32.store offset=1052336
-                            br 8 (;@4;)
-                          end
-                          local.get 2
-                          local.get 6
-                          i32.ge_u
-                          br_if 0 (;@11;)
-                          local.get 7
-                          local.get 2
-                          i32.gt_u
-                          br_if 0 (;@11;)
-                          local.get 0
-                          i32.load offset=12
-                          local.tee 7
-                          i32.const 1
-                          i32.and
-                          br_if 0 (;@11;)
-                          local.get 7
-                          i32.const 1
-                          i32.shr_u
-                          local.get 5
-                          i32.eq
-                          br_if 3 (;@8;)
-                        end
-                        i32.const 0
-                        i32.const 0
-                        i32.load offset=1052340
-                        local.tee 0
-                        local.get 6
-                        local.get 6
-                        local.get 0
-                        i32.gt_u
-                        select
-                        i32.store offset=1052340
-                        local.get 6
-                        local.get 9
-                        i32.add
-                        local.set 7
-                        i32.const 1052024
-                        local.set 0
-                        block  ;; label = @11
-                          block  ;; label = @12
-                            block  ;; label = @13
-                              loop  ;; label = @14
-                                local.get 0
-                                i32.load
-                                local.get 7
-                                i32.eq
-                                br_if 1 (;@13;)
-                                local.get 0
-                                i32.load offset=8
-                                local.tee 0
-                                br_if 0 (;@14;)
-                                br 2 (;@12;)
-                              end
-                            end
-                            local.get 0
-                            i32.load offset=12
-                            local.tee 8
-                            i32.const 1
-                            i32.and
-                            br_if 0 (;@12;)
-                            local.get 8
-                            i32.const 1
-                            i32.shr_u
-                            local.get 5
-                            i32.eq
-                            br_if 1 (;@11;)
-                          end
-                          i32.const 1052024
-                          local.set 0
-                          block  ;; label = @12
-                            loop  ;; label = @13
-                              block  ;; label = @14
-                                local.get 0
-                                i32.load
-                                local.tee 7
-                                local.get 2
-                                i32.gt_u
-                                br_if 0 (;@14;)
-                                local.get 7
-                                local.get 0
-                                i32.load offset=4
-                                i32.add
-                                local.tee 7
-                                local.get 2
-                                i32.gt_u
-                                br_if 2 (;@12;)
-                              end
-                              local.get 0
-                              i32.load offset=8
-                              local.set 0
-                              br 0 (;@13;)
-                            end
-                          end
-                          i32.const 0
-                          local.get 6
-                          i32.const 15
-                          i32.add
-                          i32.const -8
-                          i32.and
-                          local.tee 0
-                          i32.const -8
-                          i32.add
-                          local.tee 8
-                          i32.store offset=1052324
-                          i32.const 0
-                          local.get 6
-                          local.get 0
-                          i32.sub
-                          local.get 9
-                          i32.const -40
-                          i32.add
-                          local.tee 0
-                          i32.add
-                          i32.const 8
-                          i32.add
-                          local.tee 4
-                          i32.store offset=1052316
-                          local.get 8
-                          local.get 4
-                          i32.const 1
-                          i32.or
-                          i32.store offset=4
-                          local.get 6
-                          local.get 0
-                          i32.add
-                          i32.const 40
-                          i32.store offset=4
-                          i32.const 0
-                          i32.const 2097152
-                          i32.store offset=1052336
-                          local.get 2
-                          local.get 7
-                          i32.const -32
-                          i32.add
-                          i32.const -8
-                          i32.and
-                          i32.const -8
-                          i32.add
-                          local.tee 0
-                          local.get 0
-                          local.get 2
-                          i32.const 16
-                          i32.add
-                          i32.lt_u
-                          select
-                          local.tee 8
-                          i32.const 27
-                          i32.store offset=4
-                          i32.const 0
-                          i64.load offset=1052024 align=4
-                          local.set 10
-                          local.get 8
-                          i32.const 16
-                          i32.add
-                          i32.const 0
-                          i64.load offset=1052032 align=4
-                          i64.store align=4
-                          local.get 8
-                          local.get 10
-                          i64.store offset=8 align=4
-                          i32.const 0
-                          local.get 5
-                          i32.store offset=1052036
-                          i32.const 0
-                          local.get 9
-                          i32.store offset=1052028
-                          i32.const 0
-                          local.get 6
-                          i32.store offset=1052024
-                          i32.const 0
-                          local.get 8
-                          i32.const 8
-                          i32.add
-                          i32.store offset=1052032
-                          local.get 8
-                          i32.const 28
-                          i32.add
-                          local.set 0
-                          loop  ;; label = @12
-                            local.get 0
-                            i32.const 7
-                            i32.store
-                            local.get 0
-                            i32.const 4
-                            i32.add
-                            local.tee 0
-                            local.get 7
-                            i32.lt_u
-                            br_if 0 (;@12;)
-                          end
-                          local.get 8
-                          local.get 2
-                          i32.eq
-                          br_if 7 (;@4;)
-                          local.get 8
-                          local.get 8
-                          i32.load offset=4
-                          i32.const -2
-                          i32.and
-                          i32.store offset=4
-                          local.get 2
-                          local.get 8
-                          local.get 2
-                          i32.sub
-                          local.tee 0
-                          i32.const 1
-                          i32.or
-                          i32.store offset=4
-                          local.get 8
-                          local.get 0
-                          i32.store
-                          block  ;; label = @12
-                            local.get 0
-                            i32.const 256
-                            i32.lt_u
-                            br_if 0 (;@12;)
-                            local.get 2
-                            local.get 0
-                            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
-                            br 8 (;@4;)
-                          end
-                          local.get 0
-                          i32.const -8
-                          i32.and
-                          i32.const 1052040
-                          i32.add
-                          local.set 7
-                          block  ;; label = @12
-                            block  ;; label = @13
-                              i32.const 0
-                              i32.load offset=1052304
-                              local.tee 6
-                              i32.const 1
-                              local.get 0
-                              i32.const 3
-                              i32.shr_u
-                              i32.shl
-                              local.tee 0
-                              i32.and
-                              br_if 0 (;@13;)
-                              i32.const 0
-                              local.get 6
-                              local.get 0
-                              i32.or
-                              i32.store offset=1052304
-                              local.get 7
-                              local.set 0
-                              br 1 (;@12;)
-                            end
-                            local.get 7
-                            i32.load offset=8
-                            local.set 0
-                          end
-                          local.get 7
-                          local.get 2
-                          i32.store offset=8
-                          local.get 0
-                          local.get 2
-                          i32.store offset=12
-                          local.get 2
-                          local.get 7
-                          i32.store offset=12
-                          local.get 2
-                          local.get 0
-                          i32.store offset=8
-                          br 7 (;@4;)
-                        end
-                        local.get 0
-                        local.get 6
-                        i32.store
-                        local.get 0
-                        local.get 0
-                        i32.load offset=4
-                        local.get 9
-                        i32.add
-                        i32.store offset=4
-                        local.get 6
-                        i32.const 15
-                        i32.add
-                        i32.const -8
-                        i32.and
-                        i32.const -8
-                        i32.add
-                        local.tee 6
-                        local.get 3
-                        i32.const 3
-                        i32.or
-                        i32.store offset=4
-                        local.get 7
-                        i32.const 15
-                        i32.add
-                        i32.const -8
-                        i32.and
-                        i32.const -8
-                        i32.add
-                        local.tee 2
-                        local.get 6
-                        local.get 3
-                        i32.add
-                        local.tee 0
-                        i32.sub
-                        local.set 3
-                        local.get 2
-                        i32.const 0
-                        i32.load offset=1052324
-                        i32.eq
-                        br_if 3 (;@7;)
-                        local.get 2
-                        i32.const 0
-                        i32.load offset=1052320
-                        i32.eq
-                        br_if 4 (;@6;)
-                        block  ;; label = @11
-                          local.get 2
-                          i32.load offset=4
-                          local.tee 7
-                          i32.const 3
-                          i32.and
-                          i32.const 1
-                          i32.ne
-                          br_if 0 (;@11;)
-                          local.get 2
-                          local.get 7
-                          i32.const -8
-                          i32.and
-                          local.tee 7
-                          call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
-                          local.get 7
-                          local.get 3
-                          i32.add
-                          local.set 3
-                          local.get 2
-                          local.get 7
-                          i32.add
-                          local.tee 2
-                          i32.load offset=4
-                          local.set 7
-                        end
-                        local.get 2
-                        local.get 7
-                        i32.const -2
-                        i32.and
-                        i32.store offset=4
-                        local.get 0
-                        local.get 3
-                        i32.const 1
-                        i32.or
-                        i32.store offset=4
-                        local.get 0
-                        local.get 3
-                        i32.add
-                        local.get 3
-                        i32.store
-                        block  ;; label = @11
-                          local.get 3
-                          i32.const 256
-                          i32.lt_u
-                          br_if 0 (;@11;)
-                          local.get 0
-                          local.get 3
-                          call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
-                          br 6 (;@5;)
-                        end
-                        local.get 3
-                        i32.const -8
-                        i32.and
-                        i32.const 1052040
-                        i32.add
-                        local.set 2
-                        block  ;; label = @11
-                          block  ;; label = @12
-                            i32.const 0
-                            i32.load offset=1052304
-                            local.tee 7
-                            i32.const 1
-                            local.get 3
-                            i32.const 3
-                            i32.shr_u
-                            i32.shl
-                            local.tee 3
-                            i32.and
-                            br_if 0 (;@12;)
-                            i32.const 0
-                            local.get 7
-                            local.get 3
-                            i32.or
-                            i32.store offset=1052304
-                            local.get 2
-                            local.set 3
-                            br 1 (;@11;)
-                          end
-                          local.get 2
-                          i32.load offset=8
-                          local.set 3
-                        end
-                        local.get 2
-                        local.get 0
-                        i32.store offset=8
-                        local.get 3
-                        local.get 0
-                        i32.store offset=12
-                        local.get 0
-                        local.get 2
-                        i32.store offset=12
-                        local.get 0
-                        local.get 3
-                        i32.store offset=8
-                        br 5 (;@5;)
-                      end
-                      i32.const 0
-                      local.get 0
-                      local.get 3
-                      i32.sub
-                      local.tee 2
-                      i32.store offset=1052316
-                      i32.const 0
-                      i32.const 0
-                      i32.load offset=1052324
-                      local.tee 0
-                      local.get 3
-                      i32.add
-                      local.tee 7
-                      i32.store offset=1052324
-                      local.get 7
-                      local.get 2
-                      i32.const 1
-                      i32.or
-                      i32.store offset=4
-                      local.get 0
-                      local.get 3
-                      i32.const 3
-                      i32.or
-                      i32.store offset=4
-                      local.get 0
-                      i32.const 8
-                      i32.add
-                      local.set 2
-                      br 8 (;@1;)
-                    end
-                    i32.const 0
-                    i32.load offset=1052320
-                    local.set 2
-                    block  ;; label = @9
-                      block  ;; label = @10
-                        local.get 0
-                        local.get 3
-                        i32.sub
-                        local.tee 7
-                        i32.const 15
-                        i32.gt_u
-                        br_if 0 (;@10;)
-                        i32.const 0
-                        i32.const 0
-                        i32.store offset=1052320
-                        i32.const 0
-                        i32.const 0
-                        i32.store offset=1052312
-                        local.get 2
-                        local.get 0
-                        i32.const 3
-                        i32.or
-                        i32.store offset=4
-                        local.get 2
-                        local.get 0
-                        i32.add
-                        local.tee 0
-                        local.get 0
-                        i32.load offset=4
-                        i32.const 1
-                        i32.or
-                        i32.store offset=4
-                        br 1 (;@9;)
-                      end
-                      i32.const 0
-                      local.get 7
-                      i32.store offset=1052312
-                      i32.const 0
-                      local.get 2
-                      local.get 3
-                      i32.add
-                      local.tee 6
-                      i32.store offset=1052320
-                      local.get 6
-                      local.get 7
-                      i32.const 1
-                      i32.or
-                      i32.store offset=4
-                      local.get 2
-                      local.get 0
-                      i32.add
-                      local.get 7
-                      i32.store
-                      local.get 2
-                      local.get 3
-                      i32.const 3
-                      i32.or
-                      i32.store offset=4
-                    end
-                    local.get 2
-                    i32.const 8
-                    i32.add
-                    local.set 2
-                    br 7 (;@1;)
-                  end
-                  local.get 0
-                  local.get 8
-                  local.get 9
-                  i32.add
-                  i32.store offset=4
-                  i32.const 0
-                  i32.const 0
-                  i32.load offset=1052324
-                  local.tee 0
-                  i32.const 15
-                  i32.add
-                  i32.const -8
-                  i32.and
-                  local.tee 2
-                  i32.const -8
-                  i32.add
-                  local.tee 7
-                  i32.store offset=1052324
-                  i32.const 0
-                  local.get 0
-                  local.get 2
-                  i32.sub
-                  i32.const 0
-                  i32.load offset=1052316
-                  local.get 9
-                  i32.add
-                  local.tee 2
-                  i32.add
-                  i32.const 8
-                  i32.add
-                  local.tee 6
-                  i32.store offset=1052316
-                  local.get 7
-                  local.get 6
-                  i32.const 1
-                  i32.or
-                  i32.store offset=4
-                  local.get 0
-                  local.get 2
-                  i32.add
-                  i32.const 40
-                  i32.store offset=4
-                  i32.const 0
-                  i32.const 2097152
-                  i32.store offset=1052336
-                  br 3 (;@4;)
-                end
-                i32.const 0
-                local.get 0
-                i32.store offset=1052324
-                i32.const 0
-                i32.const 0
-                i32.load offset=1052316
-                local.get 3
-                i32.add
-                local.tee 3
-                i32.store offset=1052316
-                local.get 0
-                local.get 3
-                i32.const 1
-                i32.or
-                i32.store offset=4
-                br 1 (;@5;)
-              end
-              i32.const 0
-              local.get 0
-              i32.store offset=1052320
-              i32.const 0
-              i32.const 0
-              i32.load offset=1052312
-              local.get 3
-              i32.add
-              local.tee 3
-              i32.store offset=1052312
-              local.get 0
-              local.get 3
-              i32.const 1
-              i32.or
-              i32.store offset=4
-              local.get 0
-              local.get 3
-              i32.add
-              local.get 3
-              i32.store
-            end
-            local.get 6
-            i32.const 8
-            i32.add
-            local.set 2
-            br 3 (;@1;)
-          end
-          i32.const 0
-          local.set 2
-          i32.const 0
-          i32.load offset=1052316
-          local.tee 0
-          local.get 3
-          i32.le_u
-          br_if 2 (;@1;)
-          i32.const 0
-          local.get 0
-          local.get 3
-          i32.sub
-          local.tee 2
-          i32.store offset=1052316
-          i32.const 0
-          i32.const 0
-          i32.load offset=1052324
-          local.tee 0
-          local.get 3
-          i32.add
-          local.tee 7
-          i32.store offset=1052324
-          local.get 7
-          local.get 2
-          i32.const 1
-          i32.or
-          i32.store offset=4
-          local.get 0
-          local.get 3
-          i32.const 3
-          i32.or
-          i32.store offset=4
-          local.get 0
-          i32.const 8
-          i32.add
-          local.set 2
-          br 2 (;@1;)
-        end
-        local.get 0
-        local.get 5
-        i32.store offset=24
-        block  ;; label = @3
-          local.get 7
-          i32.load offset=16
-          local.tee 6
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 0
-          local.get 6
-          i32.store offset=16
-          local.get 6
-          local.get 0
-          i32.store offset=24
-        end
-        local.get 7
-        i32.load offset=20
-        local.tee 6
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 0
-        local.get 6
-        i32.store offset=20
-        local.get 6
-        local.get 0
-        i32.store offset=24
-      end
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 2
-          i32.const 16
-          i32.lt_u
-          br_if 0 (;@3;)
-          local.get 7
-          local.get 3
-          i32.const 3
-          i32.or
-          i32.store offset=4
-          local.get 7
-          local.get 3
-          i32.add
-          local.tee 0
-          local.get 2
-          i32.const 1
-          i32.or
-          i32.store offset=4
-          local.get 0
-          local.get 2
-          i32.add
-          local.get 2
-          i32.store
-          block  ;; label = @4
-            local.get 2
-            i32.const 256
-            i32.lt_u
-            br_if 0 (;@4;)
-            local.get 0
-            local.get 2
-            call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h67b2ff06c0e8b9e0E
-            br 2 (;@2;)
-          end
-          local.get 2
-          i32.const -8
-          i32.and
-          i32.const 1052040
-          i32.add
-          local.set 3
-          block  ;; label = @4
-            block  ;; label = @5
-              i32.const 0
-              i32.load offset=1052304
-              local.tee 6
-              i32.const 1
-              local.get 2
-              i32.const 3
-              i32.shr_u
-              i32.shl
-              local.tee 2
-              i32.and
-              br_if 0 (;@5;)
-              i32.const 0
-              local.get 6
-              local.get 2
-              i32.or
-              i32.store offset=1052304
-              local.get 3
-              local.set 2
-              br 1 (;@4;)
-            end
-            local.get 3
-            i32.load offset=8
-            local.set 2
-          end
-          local.get 3
-          local.get 0
-          i32.store offset=8
-          local.get 2
-          local.get 0
-          i32.store offset=12
-          local.get 0
-          local.get 3
-          i32.store offset=12
-          local.get 0
-          local.get 2
-          i32.store offset=8
-          br 1 (;@2;)
-        end
-        local.get 7
-        local.get 2
-        local.get 3
-        i32.add
-        local.tee 0
-        i32.const 3
-        i32.or
-        i32.store offset=4
-        local.get 7
-        local.get 0
-        i32.add
-        local.tee 0
-        local.get 0
-        i32.load offset=4
-        i32.const 1
-        i32.or
-        i32.store offset=4
-      end
-      local.get 7
-      i32.const 8
-      i32.add
-      local.set 2
-    end
-    local.get 1
-    i32.const 16
-    i32.add
-    global.set $__stack_pointer
-    local.get 2)
-  (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17hae661cd81f1d1708E (type 6) (param i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32)
-    i32.const 0
-    local.set 2
-    block  ;; label = @1
-      i32.const -65587
-      local.get 0
-      i32.const 16
-      local.get 0
-      i32.const 16
-      i32.gt_u
-      select
-      local.tee 0
-      i32.sub
-      local.get 1
-      i32.le_u
-      br_if 0 (;@1;)
-      local.get 0
-      i32.const 16
-      local.get 1
-      i32.const 11
-      i32.add
-      i32.const -8
-      i32.and
-      local.get 1
-      i32.const 11
-      i32.lt_u
-      select
-      local.tee 3
-      i32.add
-      i32.const 12
-      i32.add
-      call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h0483a0dc0f5e490bE
-      local.tee 1
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 1
-      i32.const -8
-      i32.add
-      local.set 2
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 0
-          i32.const -1
-          i32.add
-          local.tee 4
-          local.get 1
-          i32.and
-          br_if 0 (;@3;)
-          local.get 2
-          local.set 0
-          br 1 (;@2;)
-        end
-        local.get 1
-        i32.const -4
-        i32.add
-        local.tee 5
-        i32.load
-        local.tee 6
-        i32.const -8
-        i32.and
-        local.get 4
-        local.get 1
-        i32.add
-        i32.const 0
-        local.get 0
-        i32.sub
-        i32.and
-        i32.const -8
-        i32.add
-        local.tee 1
-        i32.const 0
-        local.get 0
-        local.get 1
-        local.get 2
-        i32.sub
-        i32.const 16
-        i32.gt_u
-        select
-        i32.add
-        local.tee 0
-        local.get 2
-        i32.sub
-        local.tee 1
-        i32.sub
-        local.set 4
-        block  ;; label = @3
-          local.get 6
-          i32.const 3
-          i32.and
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 0
-          local.get 4
-          local.get 0
-          i32.load offset=4
-          i32.const 1
-          i32.and
-          i32.or
-          i32.const 2
-          i32.or
-          i32.store offset=4
-          local.get 0
-          local.get 4
-          i32.add
-          local.tee 4
-          local.get 4
-          i32.load offset=4
-          i32.const 1
-          i32.or
-          i32.store offset=4
-          local.get 5
-          local.get 1
-          local.get 5
-          i32.load
-          i32.const 1
-          i32.and
-          i32.or
-          i32.const 2
-          i32.or
-          i32.store
-          local.get 2
-          local.get 1
-          i32.add
-          local.tee 4
-          local.get 4
-          i32.load offset=4
-          i32.const 1
-          i32.or
-          i32.store offset=4
-          local.get 2
-          local.get 1
-          call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E
-          br 1 (;@2;)
-        end
-        local.get 2
-        i32.load
-        local.set 2
-        local.get 0
-        local.get 4
-        i32.store offset=4
-        local.get 0
-        local.get 2
-        local.get 1
-        i32.add
-        i32.store
-      end
-      block  ;; label = @2
-        local.get 0
-        i32.load offset=4
-        local.tee 1
-        i32.const 3
-        i32.and
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 1
-        i32.const -8
-        i32.and
-        local.tee 2
-        local.get 3
-        i32.const 16
-        i32.add
-        i32.le_u
-        br_if 0 (;@2;)
-        local.get 0
-        local.get 3
-        local.get 1
-        i32.const 1
-        i32.and
-        i32.or
-        i32.const 2
-        i32.or
-        i32.store offset=4
-        local.get 0
-        local.get 3
-        i32.add
-        local.tee 1
-        local.get 2
-        local.get 3
-        i32.sub
-        local.tee 3
-        i32.const 3
-        i32.or
-        i32.store offset=4
-        local.get 0
-        local.get 2
-        i32.add
-        local.tee 2
-        local.get 2
-        i32.load offset=4
-        i32.const 1
-        i32.or
-        i32.store offset=4
-        local.get 1
-        local.get 3
-        call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E
-      end
-      local.get 0
-      i32.const 8
-      i32.add
-      local.set 2
-    end
-    local.get 2)
-  (func $_ZN3std7process5abort17h38dc887bf8ba17f6E (type 11)
-    unreachable
-    unreachable)
-  (func $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17hbdf3ddeb21a1e747E (type 1) (param i32)
-    local.get 0
-    call $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17hb6cd8464ed39ae71E
-    unreachable)
-  (func $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17hb6cd8464ed39ae71E (type 1) (param i32)
-    (local i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 1
-    global.set $__stack_pointer
-    local.get 0
-    i32.load
-    local.tee 2
-    i32.load offset=12
-    local.set 3
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 2
-            i32.load offset=4
-            br_table 0 (;@4;) 1 (;@3;) 2 (;@2;)
-          end
-          local.get 3
-          br_if 1 (;@2;)
-          i32.const 1
-          local.set 2
-          i32.const 0
-          local.set 3
-          br 2 (;@1;)
-        end
-        local.get 3
-        br_if 0 (;@2;)
-        local.get 2
-        i32.load
-        local.tee 2
-        i32.load offset=4
-        local.set 3
-        local.get 2
-        i32.load
-        local.set 2
-        br 1 (;@1;)
-      end
-      local.get 1
-      local.get 2
-      i32.store offset=12
-      local.get 1
-      i32.const -2147483648
-      i32.store
-      local.get 1
-      i32.const 1051272
-      local.get 0
-      i32.load offset=4
-      local.tee 2
-      i32.load offset=8
-      local.get 0
-      i32.load offset=8
-      local.get 2
-      i32.load8_u offset=16
-      local.get 2
-      i32.load8_u offset=17
-      call $_ZN3std9panicking20rust_panic_with_hook17h6731baa78621a747E
-      unreachable
-    end
-    local.get 1
-    local.get 3
-    i32.store offset=4
-    local.get 1
-    local.get 2
-    i32.store
-    local.get 1
-    i32.const 1051252
-    local.get 0
-    i32.load offset=4
-    local.tee 2
-    i32.load offset=8
-    local.get 0
-    i32.load offset=8
-    local.get 2
-    i32.load8_u offset=16
-    local.get 2
-    i32.load8_u offset=17
-    call $_ZN3std9panicking20rust_panic_with_hook17h6731baa78621a747E
-    unreachable)
-  (func $_ZN3std5alloc24default_alloc_error_hook17h9d6d7bb51d97ec4fE (type 4) (param i32 i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 48
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    block  ;; label = @1
-      i32.const 0
-      i32.load8_u offset=1051872
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 2
-      i32.const 2
-      i32.store offset=12
-      local.get 2
-      i32.const 1051120
-      i32.store offset=8
-      local.get 2
-      i64.const 1
-      i64.store offset=20 align=4
-      local.get 2
-      local.get 1
-      i32.store offset=44
-      local.get 2
-      i32.const 37
-      i64.extend_i32_u
-      i64.const 32
-      i64.shl
-      local.get 2
-      i32.const 44
-      i32.add
-      i64.extend_i32_u
-      i64.or
-      i64.store offset=32
-      local.get 2
-      local.get 2
-      i32.const 32
-      i32.add
-      i32.store offset=16
-      local.get 2
-      i32.const 8
-      i32.add
-      i32.const 1051160
-      call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-      unreachable
-    end
-    local.get 2
-    i32.const 48
-    i32.add
-    global.set $__stack_pointer)
-  (func $__rdl_alloc (type 6) (param i32 i32) (result i32)
-    block  ;; label = @1
-      local.get 1
-      i32.const 9
-      i32.lt_u
-      br_if 0 (;@1;)
-      local.get 1
-      local.get 0
-      call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17hae661cd81f1d1708E
-      return
-    end
-    local.get 0
-    call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h0483a0dc0f5e490bE)
-  (func $__rdl_dealloc (type 0) (param i32 i32 i32)
-    (local i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 0
-        i32.const -4
-        i32.add
-        i32.load
-        local.tee 3
-        i32.const -8
-        i32.and
-        local.tee 4
-        i32.const 4
-        i32.const 8
-        local.get 3
-        i32.const 3
-        i32.and
-        local.tee 3
-        select
-        local.get 1
-        i32.add
-        i32.lt_u
-        br_if 0 (;@2;)
-        block  ;; label = @3
-          local.get 3
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 4
-          local.get 1
-          i32.const 39
-          i32.add
-          i32.gt_u
-          br_if 2 (;@1;)
-        end
-        local.get 0
-        call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h21bf9d7572bd86f3E
-        return
-      end
-      i32.const 1050957
-      i32.const 46
-      i32.const 1051004
-      call $_ZN4core9panicking5panic17h3b99507adb69386aE
-      unreachable
-    end
-    i32.const 1051020
-    i32.const 46
-    i32.const 1051068
-    call $_ZN4core9panicking5panic17h3b99507adb69386aE
-    unreachable)
-  (func $__rdl_realloc (type 9) (param i32 i32 i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 0
-              i32.const -4
-              i32.add
-              local.tee 4
-              i32.load
-              local.tee 5
-              i32.const -8
-              i32.and
-              local.tee 6
-              i32.const 4
-              i32.const 8
-              local.get 5
-              i32.const 3
-              i32.and
-              local.tee 7
-              select
-              local.get 1
-              i32.add
-              i32.lt_u
-              br_if 0 (;@5;)
-              local.get 1
-              i32.const 39
-              i32.add
-              local.set 8
-              block  ;; label = @6
-                local.get 7
-                i32.eqz
-                br_if 0 (;@6;)
-                local.get 6
-                local.get 8
-                i32.gt_u
-                br_if 2 (;@4;)
-              end
-              block  ;; label = @6
-                block  ;; label = @7
-                  block  ;; label = @8
-                    local.get 2
-                    i32.const 9
-                    i32.lt_u
-                    br_if 0 (;@8;)
-                    local.get 2
-                    local.get 3
-                    call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17hae661cd81f1d1708E
-                    local.tee 2
-                    br_if 1 (;@7;)
-                    i32.const 0
-                    return
-                  end
-                  i32.const 0
-                  local.set 2
-                  local.get 3
-                  i32.const -65588
-                  i32.gt_u
-                  br_if 1 (;@6;)
-                  i32.const 16
-                  local.get 3
-                  i32.const 11
-                  i32.add
-                  i32.const -8
-                  i32.and
-                  local.get 3
-                  i32.const 11
-                  i32.lt_u
-                  select
-                  local.set 1
-                  block  ;; label = @8
-                    block  ;; label = @9
-                      local.get 7
-                      br_if 0 (;@9;)
-                      local.get 1
-                      i32.const 256
-                      i32.lt_u
-                      br_if 1 (;@8;)
-                      local.get 6
-                      local.get 1
-                      i32.const 4
-                      i32.or
-                      i32.lt_u
-                      br_if 1 (;@8;)
-                      local.get 6
-                      local.get 1
-                      i32.sub
-                      i32.const 131073
-                      i32.ge_u
-                      br_if 1 (;@8;)
-                      local.get 0
-                      return
-                    end
-                    local.get 0
-                    i32.const -8
-                    i32.add
-                    local.tee 8
-                    local.get 6
-                    i32.add
-                    local.set 7
-                    block  ;; label = @9
-                      block  ;; label = @10
-                        block  ;; label = @11
-                          block  ;; label = @12
-                            block  ;; label = @13
-                              local.get 6
-                              local.get 1
-                              i32.ge_u
-                              br_if 0 (;@13;)
-                              local.get 7
-                              i32.const 0
-                              i32.load offset=1052324
-                              i32.eq
-                              br_if 4 (;@9;)
-                              local.get 7
-                              i32.const 0
-                              i32.load offset=1052320
-                              i32.eq
-                              br_if 2 (;@11;)
-                              local.get 7
-                              i32.load offset=4
-                              local.tee 5
-                              i32.const 2
-                              i32.and
-                              br_if 5 (;@8;)
-                              local.get 5
-                              i32.const -8
-                              i32.and
-                              local.tee 9
-                              local.get 6
-                              i32.add
-                              local.tee 5
-                              local.get 1
-                              i32.lt_u
-                              br_if 5 (;@8;)
-                              local.get 7
-                              local.get 9
-                              call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$12unlink_chunk17h8d0d81757dd7de5dE
-                              local.get 5
-                              local.get 1
-                              i32.sub
-                              local.tee 3
-                              i32.const 16
-                              i32.lt_u
-                              br_if 1 (;@12;)
-                              local.get 4
-                              local.get 1
-                              local.get 4
-                              i32.load
-                              i32.const 1
-                              i32.and
-                              i32.or
-                              i32.const 2
-                              i32.or
-                              i32.store
-                              local.get 8
-                              local.get 1
-                              i32.add
-                              local.tee 1
-                              local.get 3
-                              i32.const 3
-                              i32.or
-                              i32.store offset=4
-                              local.get 8
-                              local.get 5
-                              i32.add
-                              local.tee 2
-                              local.get 2
-                              i32.load offset=4
-                              i32.const 1
-                              i32.or
-                              i32.store offset=4
-                              local.get 1
-                              local.get 3
-                              call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E
-                              local.get 0
-                              return
-                            end
-                            local.get 6
-                            local.get 1
-                            i32.sub
-                            local.tee 3
-                            i32.const 15
-                            i32.gt_u
-                            br_if 2 (;@10;)
-                            local.get 0
-                            return
-                          end
-                          local.get 4
-                          local.get 5
-                          local.get 4
-                          i32.load
-                          i32.const 1
-                          i32.and
-                          i32.or
-                          i32.const 2
-                          i32.or
-                          i32.store
-                          local.get 8
-                          local.get 5
-                          i32.add
-                          local.tee 1
-                          local.get 1
-                          i32.load offset=4
-                          i32.const 1
-                          i32.or
-                          i32.store offset=4
-                          local.get 0
-                          return
-                        end
-                        i32.const 0
-                        i32.load offset=1052312
-                        local.get 6
-                        i32.add
-                        local.tee 7
-                        local.get 1
-                        i32.lt_u
-                        br_if 2 (;@8;)
-                        block  ;; label = @11
-                          block  ;; label = @12
-                            local.get 7
-                            local.get 1
-                            i32.sub
-                            local.tee 3
-                            i32.const 15
-                            i32.gt_u
-                            br_if 0 (;@12;)
-                            local.get 4
-                            local.get 5
-                            i32.const 1
-                            i32.and
-                            local.get 7
-                            i32.or
-                            i32.const 2
-                            i32.or
-                            i32.store
-                            local.get 8
-                            local.get 7
-                            i32.add
-                            local.tee 1
-                            local.get 1
-                            i32.load offset=4
-                            i32.const 1
-                            i32.or
-                            i32.store offset=4
-                            i32.const 0
-                            local.set 3
-                            i32.const 0
-                            local.set 1
-                            br 1 (;@11;)
-                          end
-                          local.get 4
-                          local.get 1
-                          local.get 5
-                          i32.const 1
-                          i32.and
-                          i32.or
-                          i32.const 2
-                          i32.or
-                          i32.store
-                          local.get 8
-                          local.get 1
-                          i32.add
-                          local.tee 1
-                          local.get 3
-                          i32.const 1
-                          i32.or
-                          i32.store offset=4
-                          local.get 8
-                          local.get 7
-                          i32.add
-                          local.tee 2
-                          local.get 3
-                          i32.store
-                          local.get 2
-                          local.get 2
-                          i32.load offset=4
-                          i32.const -2
-                          i32.and
-                          i32.store offset=4
-                        end
-                        i32.const 0
-                        local.get 1
-                        i32.store offset=1052320
-                        i32.const 0
-                        local.get 3
-                        i32.store offset=1052312
-                        local.get 0
-                        return
-                      end
-                      local.get 4
-                      local.get 1
-                      local.get 5
-                      i32.const 1
-                      i32.and
-                      i32.or
-                      i32.const 2
-                      i32.or
-                      i32.store
-                      local.get 8
-                      local.get 1
-                      i32.add
-                      local.tee 1
-                      local.get 3
-                      i32.const 3
-                      i32.or
-                      i32.store offset=4
-                      local.get 7
-                      local.get 7
-                      i32.load offset=4
-                      i32.const 1
-                      i32.or
-                      i32.store offset=4
-                      local.get 1
-                      local.get 3
-                      call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hc51238bb547bf9d7E
-                      local.get 0
-                      return
-                    end
-                    i32.const 0
-                    i32.load offset=1052316
-                    local.get 6
-                    i32.add
-                    local.tee 7
-                    local.get 1
-                    i32.gt_u
-                    br_if 7 (;@1;)
-                  end
-                  local.get 3
-                  call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h0483a0dc0f5e490bE
-                  local.tee 1
-                  i32.eqz
-                  br_if 1 (;@6;)
-                  local.get 1
-                  local.get 0
-                  i32.const -4
-                  i32.const -8
-                  local.get 4
-                  i32.load
-                  local.tee 2
-                  i32.const 3
-                  i32.and
-                  select
-                  local.get 2
-                  i32.const -8
-                  i32.and
-                  i32.add
-                  local.tee 2
-                  local.get 3
-                  local.get 2
-                  local.get 3
-                  i32.lt_u
-                  select
-                  call $memcpy
-                  local.set 1
-                  local.get 0
-                  call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h21bf9d7572bd86f3E
-                  local.get 1
-                  return
-                end
-                local.get 2
-                local.get 0
-                local.get 1
-                local.get 3
-                local.get 1
-                local.get 3
-                i32.lt_u
-                select
-                call $memcpy
-                drop
-                local.get 4
-                i32.load
-                local.tee 3
-                i32.const -8
-                i32.and
-                local.tee 7
-                i32.const 4
-                i32.const 8
-                local.get 3
-                i32.const 3
-                i32.and
-                local.tee 3
-                select
-                local.get 1
-                i32.add
-                i32.lt_u
-                br_if 3 (;@3;)
-                block  ;; label = @7
-                  local.get 3
-                  i32.eqz
-                  br_if 0 (;@7;)
-                  local.get 7
-                  local.get 8
-                  i32.gt_u
-                  br_if 5 (;@2;)
-                end
-                local.get 0
-                call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h21bf9d7572bd86f3E
-              end
-              local.get 2
-              return
-            end
-            i32.const 1050957
-            i32.const 46
-            i32.const 1051004
-            call $_ZN4core9panicking5panic17h3b99507adb69386aE
-            unreachable
-          end
-          i32.const 1051020
-          i32.const 46
-          i32.const 1051068
-          call $_ZN4core9panicking5panic17h3b99507adb69386aE
-          unreachable
-        end
-        i32.const 1050957
-        i32.const 46
-        i32.const 1051004
-        call $_ZN4core9panicking5panic17h3b99507adb69386aE
-        unreachable
-      end
-      i32.const 1051020
-      i32.const 46
-      i32.const 1051068
-      call $_ZN4core9panicking5panic17h3b99507adb69386aE
-      unreachable
-    end
-    local.get 4
-    local.get 1
-    local.get 5
-    i32.const 1
-    i32.and
-    i32.or
-    i32.const 2
-    i32.or
-    i32.store
-    local.get 8
-    local.get 1
-    i32.add
-    local.tee 3
-    local.get 7
-    local.get 1
-    i32.sub
-    local.tee 1
-    i32.const 1
-    i32.or
-    i32.store offset=4
-    i32.const 0
-    local.get 1
-    i32.store offset=1052316
-    i32.const 0
-    local.get 3
-    i32.store offset=1052324
-    local.get 0)
-  (func $rust_begin_unwind (type 1) (param i32)
-    (local i32 i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 1
-    global.set $__stack_pointer
-    block  ;; label = @1
-      local.get 0
-      i32.load offset=8
-      local.tee 2
-      br_if 0 (;@1;)
-      i32.const 1051204
-      call $_ZN4core6option13unwrap_failed17h0d060778de0f79e8E
-      unreachable
-    end
-    local.get 1
-    local.get 0
-    i32.load offset=12
-    i32.store offset=12
-    local.get 1
-    local.get 0
-    i32.store offset=8
-    local.get 1
-    local.get 2
-    i32.store offset=4
-    local.get 1
-    i32.const 4
-    i32.add
-    call $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17hbdf3ddeb21a1e747E
-    unreachable)
-  (func $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17he725486881b42bbeE (type 4) (param i32 i32)
-    (local i32 i32 i32 i64)
-    global.get $__stack_pointer
-    i32.const 48
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    block  ;; label = @1
-      local.get 1
-      i32.load
-      i32.const -2147483648
-      i32.ne
-      br_if 0 (;@1;)
-      local.get 1
-      i32.load offset=12
-      local.set 3
-      local.get 2
-      i32.const 36
-      i32.add
-      i32.const 8
-      i32.add
-      local.tee 4
-      i32.const 0
-      i32.store
-      local.get 2
-      i64.const 4294967296
-      i64.store offset=36 align=4
-      local.get 2
-      i32.const 36
-      i32.add
-      i32.const 1050892
-      local.get 3
-      call $_ZN4core3fmt5write17hbee61cd3fb7b52a3E
-      drop
-      local.get 2
-      i32.const 24
-      i32.add
-      i32.const 8
-      i32.add
-      local.get 4
-      i32.load
-      local.tee 3
-      i32.store
-      local.get 2
-      local.get 2
-      i64.load offset=36 align=4
-      local.tee 5
-      i64.store offset=24
-      local.get 1
-      i32.const 8
-      i32.add
-      local.get 3
-      i32.store
-      local.get 1
-      local.get 5
-      i64.store align=4
-    end
-    local.get 1
-    i64.load align=4
-    local.set 5
-    local.get 1
-    i64.const 4294967296
-    i64.store align=4
-    local.get 2
-    i32.const 8
-    i32.add
-    i32.const 8
-    i32.add
-    local.tee 3
-    local.get 1
-    i32.const 8
-    i32.add
-    local.tee 1
-    i32.load
-    i32.store
-    local.get 1
-    i32.const 0
-    i32.store
-    i32.const 0
-    i32.load8_u offset=1051873
-    drop
-    local.get 2
-    local.get 5
-    i64.store offset=8
-    block  ;; label = @1
-      i32.const 12
-      i32.const 4
-      call $__rust_alloc
-      local.tee 1
-      br_if 0 (;@1;)
-      i32.const 4
-      i32.const 12
-      call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-      unreachable
-    end
-    local.get 1
-    local.get 2
-    i64.load offset=8
-    i64.store align=4
-    local.get 1
-    i32.const 8
-    i32.add
-    local.get 3
-    i32.load
-    i32.store
-    local.get 0
-    i32.const 1051220
-    i32.store offset=4
-    local.get 0
-    local.get 1
-    i32.store
-    local.get 2
-    i32.const 48
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17ha699b76f30386534E (type 4) (param i32 i32)
-    (local i32 i32 i32 i64)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    block  ;; label = @1
-      local.get 1
-      i32.load
-      i32.const -2147483648
-      i32.ne
-      br_if 0 (;@1;)
-      local.get 1
-      i32.load offset=12
-      local.set 3
-      local.get 2
-      i32.const 20
-      i32.add
-      i32.const 8
-      i32.add
-      local.tee 4
-      i32.const 0
-      i32.store
-      local.get 2
-      i64.const 4294967296
-      i64.store offset=20 align=4
-      local.get 2
-      i32.const 20
-      i32.add
-      i32.const 1050892
-      local.get 3
-      call $_ZN4core3fmt5write17hbee61cd3fb7b52a3E
-      drop
-      local.get 2
-      i32.const 8
-      i32.add
-      i32.const 8
-      i32.add
-      local.get 4
-      i32.load
-      local.tee 3
-      i32.store
-      local.get 2
-      local.get 2
-      i64.load offset=20 align=4
-      local.tee 5
-      i64.store offset=8
-      local.get 1
-      i32.const 8
-      i32.add
-      local.get 3
-      i32.store
-      local.get 1
-      local.get 5
-      i64.store align=4
-    end
-    local.get 0
-    i32.const 1051220
-    i32.store offset=4
-    local.get 0
-    local.get 1
-    i32.store
-    local.get 2
-    i32.const 32
-    i32.add
-    global.set $__stack_pointer)
-  (func $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17h00db27ffc0f86bc9E (type 4) (param i32 i32)
-    (local i32 i32)
-    i32.const 0
-    i32.load8_u offset=1051873
-    drop
-    local.get 1
-    i32.load offset=4
-    local.set 2
-    local.get 1
-    i32.load
-    local.set 3
-    block  ;; label = @1
-      i32.const 8
-      i32.const 4
-      call $__rust_alloc
-      local.tee 1
-      br_if 0 (;@1;)
-      i32.const 4
-      i32.const 8
-      call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-      unreachable
-    end
-    local.get 1
-    local.get 2
-    i32.store offset=4
-    local.get 1
-    local.get 3
-    i32.store
-    local.get 0
-    i32.const 1051236
-    i32.store offset=4
-    local.get 0
-    local.get 1
-    i32.store)
-  (func $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17h25e87be0acf0cba3E (type 4) (param i32 i32)
-    local.get 0
-    i32.const 1051236
-    i32.store offset=4
-    local.get 0
-    local.get 1
-    i32.store)
-  (func $_ZN3std9panicking20rust_panic_with_hook17h6731baa78621a747E (type 3) (param i32 i32 i32 i32 i32 i32)
-    (local i32 i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 6
-    global.set $__stack_pointer
-    i32.const 0
-    i32.const 0
-    i32.load offset=1051892
-    local.tee 7
-    i32.const 1
-    i32.add
-    i32.store offset=1051892
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 7
-        i32.const 0
-        i32.lt_s
-        br_if 0 (;@2;)
-        i32.const 0
-        i32.load8_u offset=1052352
-        i32.const 255
-        i32.and
-        br_if 0 (;@2;)
-        i32.const 0
-        i32.const 1
-        i32.store8 offset=1052352
-        i32.const 0
-        i32.const 0
-        i32.load offset=1052348
-        i32.const 1
-        i32.add
-        i32.store offset=1052348
-        local.get 6
-        local.get 5
-        i32.store8 offset=29
-        local.get 6
-        local.get 4
-        i32.store8 offset=28
-        local.get 6
-        local.get 3
-        i32.store offset=24
-        local.get 6
-        local.get 2
-        i32.store offset=20
-        local.get 6
-        i32.const 1051292
-        i32.store offset=16
-        local.get 6
-        i32.const 1
-        i32.store offset=12
-        i32.const 0
-        i32.load offset=1051880
-        local.tee 7
-        i32.const -1
-        i32.le_s
-        br_if 0 (;@2;)
-        i32.const 0
-        local.get 7
-        i32.const 1
-        i32.add
-        i32.store offset=1051880
-        block  ;; label = @3
-          i32.const 0
-          i32.load offset=1051884
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 6
-          local.get 0
-          local.get 1
-          i32.load offset=16
-          call_indirect (type 4)
-          local.get 6
-          local.get 6
-          i64.load
-          i64.store offset=12 align=4
-          i32.const 0
-          i32.load offset=1051884
-          local.get 6
-          i32.const 12
-          i32.add
-          i32.const 0
-          i32.load offset=1051888
-          i32.load offset=20
-          call_indirect (type 4)
-          i32.const 0
-          i32.load offset=1051880
-          i32.const -1
-          i32.add
-          local.set 7
-        end
-        i32.const 0
-        local.get 7
-        i32.store offset=1051880
-        i32.const 0
-        i32.const 0
-        i32.store8 offset=1052352
-        local.get 4
-        br_if 1 (;@1;)
-      end
-      unreachable
-      unreachable
-    end
-    local.get 0
-    local.get 1
-    call $rust_panic
-    unreachable)
-  (func $rust_panic (type 4) (param i32 i32)
-    local.get 0
-    local.get 1
-    call $__rust_start_panic
-    drop
-    unreachable
-    unreachable)
-  (func $__rg_oom (type 4) (param i32 i32)
-    (local i32)
-    local.get 1
-    local.get 0
-    i32.const 0
-    i32.load offset=1051876
-    local.tee 2
-    i32.const 43
-    local.get 2
-    select
-    call_indirect (type 4)
-    unreachable
-    unreachable)
-  (func $__rust_start_panic (type 6) (param i32 i32) (result i32)
-    unreachable
-    unreachable)
-  (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5alloc17h32bf5aa7613bca1cE (type 0) (param i32 i32 i32)
-    (local i32)
-    local.get 2
-    i32.const 16
-    i32.shr_u
-    memory.grow
-    local.set 3
-    local.get 0
-    i32.const 0
-    i32.store offset=8
-    local.get 0
-    i32.const 0
-    local.get 2
-    i32.const -65536
-    i32.and
-    local.get 3
-    i32.const -1
-    i32.eq
-    local.tee 2
-    select
-    i32.store offset=4
-    local.get 0
-    i32.const 0
-    local.get 3
-    i32.const 16
-    i32.shl
-    local.get 2
-    select
-    i32.store)
-  (func $_ZN5alloc7raw_vec17capacity_overflow17ha85462faabb43c69E (type 11)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 0
-    global.set $__stack_pointer
-    local.get 0
-    i32.const 0
-    i32.store offset=24
-    local.get 0
-    i32.const 1
-    i32.store offset=12
-    local.get 0
-    i32.const 1051328
-    i32.store offset=8
-    local.get 0
-    i64.const 4
-    i64.store offset=16 align=4
-    local.get 0
-    i32.const 8
-    i32.add
-    i32.const 1051364
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN5alloc7raw_vec12handle_error17h6991f391977ec209E (type 4) (param i32 i32)
-    block  ;; label = @1
-      local.get 0
-      br_if 0 (;@1;)
-      call $_ZN5alloc7raw_vec17capacity_overflow17ha85462faabb43c69E
-      unreachable
-    end
-    local.get 0
-    local.get 1
-    call $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E
-    unreachable)
-  (func $_ZN5alloc5alloc18handle_alloc_error17h246ea5f196567ce5E (type 4) (param i32 i32)
-    local.get 1
-    local.get 0
-    call $__rust_alloc_error_handler
-    unreachable)
-  (func $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h1c3f1cbd1368fccaE (type 1) (param i32))
-  (func $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE (type 4) (param i32 i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    i32.const 1
-    i32.store16 offset=28
-    local.get 2
-    local.get 1
-    i32.store offset=24
-    local.get 2
-    local.get 0
-    i32.store offset=20
-    local.get 2
-    i32.const 1051520
-    i32.store offset=16
-    local.get 2
-    i32.const 1
-    i32.store offset=12
-    local.get 2
-    i32.const 12
-    i32.add
-    call $rust_begin_unwind
-    unreachable)
-  (func $_ZN4core5slice5index26slice_start_index_len_fail17hdf8c0aea852237a1E (type 0) (param i32 i32 i32)
-    local.get 0
-    local.get 1
-    local.get 2
-    call $_ZN4core5slice5index29slice_start_index_len_fail_rt17h457337ef10e44172E
-    unreachable)
-  (func $_ZN4core3fmt9Formatter3pad17hbad76490c47154d2E (type 5) (param i32 i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32)
-    block  ;; label = @1
-      local.get 0
-      i32.load
-      local.tee 3
-      local.get 0
-      i32.load offset=8
-      local.tee 4
-      i32.or
-      i32.eqz
-      br_if 0 (;@1;)
-      block  ;; label = @2
-        local.get 4
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 1
-        local.get 2
-        i32.add
-        local.set 5
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 0
-            i32.load offset=12
-            local.tee 6
-            br_if 0 (;@4;)
-            i32.const 0
-            local.set 7
-            local.get 1
-            local.set 8
-            br 1 (;@3;)
-          end
-          i32.const 0
-          local.set 7
-          local.get 1
-          local.set 8
-          loop  ;; label = @4
-            local.get 8
-            local.tee 4
-            local.get 5
-            i32.eq
-            br_if 2 (;@2;)
-            block  ;; label = @5
-              block  ;; label = @6
-                local.get 4
-                i32.load8_s
-                local.tee 8
-                i32.const -1
-                i32.le_s
-                br_if 0 (;@6;)
-                local.get 4
-                i32.const 1
-                i32.add
-                local.set 8
-                br 1 (;@5;)
-              end
-              block  ;; label = @6
-                local.get 8
-                i32.const -32
-                i32.ge_u
-                br_if 0 (;@6;)
-                local.get 4
-                i32.const 2
-                i32.add
-                local.set 8
-                br 1 (;@5;)
-              end
-              block  ;; label = @6
-                local.get 8
-                i32.const -16
-                i32.ge_u
-                br_if 0 (;@6;)
-                local.get 4
-                i32.const 3
-                i32.add
-                local.set 8
-                br 1 (;@5;)
-              end
-              local.get 4
-              i32.load8_u offset=2
-              i32.const 63
-              i32.and
-              i32.const 6
-              i32.shl
-              local.get 4
-              i32.load8_u offset=1
-              i32.const 63
-              i32.and
-              i32.const 12
-              i32.shl
-              i32.or
-              local.get 4
-              i32.load8_u offset=3
-              i32.const 63
-              i32.and
-              i32.or
-              local.get 8
-              i32.const 255
-              i32.and
-              i32.const 18
-              i32.shl
-              i32.const 1835008
-              i32.and
-              i32.or
-              i32.const 1114112
-              i32.eq
-              br_if 3 (;@2;)
-              local.get 4
-              i32.const 4
-              i32.add
-              local.set 8
-            end
-            local.get 7
-            local.get 4
-            i32.sub
-            local.get 8
-            i32.add
-            local.set 7
-            local.get 6
-            i32.const -1
-            i32.add
-            local.tee 6
-            br_if 0 (;@4;)
-          end
-        end
-        local.get 8
-        local.get 5
-        i32.eq
-        br_if 0 (;@2;)
-        block  ;; label = @3
-          local.get 8
-          i32.load8_s
-          local.tee 4
-          i32.const -1
-          i32.gt_s
-          br_if 0 (;@3;)
-          local.get 4
-          i32.const -32
-          i32.lt_u
-          br_if 0 (;@3;)
-          local.get 4
-          i32.const -16
-          i32.lt_u
-          br_if 0 (;@3;)
-          local.get 8
-          i32.load8_u offset=2
-          i32.const 63
-          i32.and
-          i32.const 6
-          i32.shl
-          local.get 8
-          i32.load8_u offset=1
-          i32.const 63
-          i32.and
-          i32.const 12
-          i32.shl
-          i32.or
-          local.get 8
-          i32.load8_u offset=3
-          i32.const 63
-          i32.and
-          i32.or
-          local.get 4
-          i32.const 255
-          i32.and
-          i32.const 18
-          i32.shl
-          i32.const 1835008
-          i32.and
-          i32.or
-          i32.const 1114112
-          i32.eq
-          br_if 1 (;@2;)
-        end
-        block  ;; label = @3
-          local.get 7
-          i32.eqz
-          br_if 0 (;@3;)
-          block  ;; label = @4
-            local.get 7
-            local.get 2
-            i32.lt_u
-            br_if 0 (;@4;)
-            local.get 7
-            local.get 2
-            i32.eq
-            br_if 1 (;@3;)
-            br 2 (;@2;)
-          end
-          local.get 1
-          local.get 7
-          i32.add
-          i32.load8_s
-          i32.const -64
-          i32.lt_s
-          br_if 1 (;@2;)
-        end
-        local.get 7
-        local.set 2
-      end
-      block  ;; label = @2
-        local.get 3
-        br_if 0 (;@2;)
-        local.get 0
-        i32.load offset=20
-        local.get 1
-        local.get 2
-        local.get 0
-        i32.load offset=24
-        i32.load offset=12
-        call_indirect (type 5)
-        return
-      end
-      local.get 0
-      i32.load offset=4
-      local.set 3
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 2
-          i32.const 16
-          i32.lt_u
-          br_if 0 (;@3;)
-          local.get 1
-          local.get 2
-          call $_ZN4core3str5count14do_count_chars17h66d99444d2bc554aE
-          local.set 4
-          br 1 (;@2;)
-        end
-        block  ;; label = @3
-          local.get 2
-          br_if 0 (;@3;)
-          i32.const 0
-          local.set 4
-          br 1 (;@2;)
-        end
-        local.get 2
-        i32.const 3
-        i32.and
-        local.set 6
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 2
-            i32.const 4
-            i32.ge_u
-            br_if 0 (;@4;)
-            i32.const 0
-            local.set 4
-            i32.const 0
-            local.set 7
-            br 1 (;@3;)
-          end
-          local.get 2
-          i32.const 12
-          i32.and
-          local.set 5
-          i32.const 0
-          local.set 4
-          i32.const 0
-          local.set 7
-          loop  ;; label = @4
-            local.get 4
-            local.get 1
-            local.get 7
-            i32.add
-            local.tee 8
-            i32.load8_s
-            i32.const -65
-            i32.gt_s
-            i32.add
-            local.get 8
-            i32.const 1
-            i32.add
-            i32.load8_s
-            i32.const -65
-            i32.gt_s
-            i32.add
-            local.get 8
-            i32.const 2
-            i32.add
-            i32.load8_s
-            i32.const -65
-            i32.gt_s
-            i32.add
-            local.get 8
-            i32.const 3
-            i32.add
-            i32.load8_s
-            i32.const -65
-            i32.gt_s
-            i32.add
-            local.set 4
-            local.get 5
-            local.get 7
-            i32.const 4
-            i32.add
-            local.tee 7
-            i32.ne
-            br_if 0 (;@4;)
-          end
-        end
-        local.get 6
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 1
-        local.get 7
-        i32.add
-        local.set 8
-        loop  ;; label = @3
-          local.get 4
-          local.get 8
-          i32.load8_s
-          i32.const -65
-          i32.gt_s
-          i32.add
-          local.set 4
-          local.get 8
-          i32.const 1
-          i32.add
-          local.set 8
-          local.get 6
-          i32.const -1
-          i32.add
-          local.tee 6
-          br_if 0 (;@3;)
-        end
-      end
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 3
-          local.get 4
-          i32.le_u
-          br_if 0 (;@3;)
-          local.get 3
-          local.get 4
-          i32.sub
-          local.set 5
-          i32.const 0
-          local.set 4
-          block  ;; label = @4
-            block  ;; label = @5
-              block  ;; label = @6
-                local.get 0
-                i32.load8_u offset=32
-                br_table 2 (;@4;) 0 (;@6;) 1 (;@5;) 2 (;@4;) 2 (;@4;)
-              end
-              local.get 5
-              local.set 4
-              i32.const 0
-              local.set 5
-              br 1 (;@4;)
-            end
-            local.get 5
-            i32.const 1
-            i32.shr_u
-            local.set 4
-            local.get 5
-            i32.const 1
-            i32.add
-            i32.const 1
-            i32.shr_u
-            local.set 5
-          end
-          local.get 4
-          i32.const 1
-          i32.add
-          local.set 4
-          local.get 0
-          i32.load offset=16
-          local.set 6
-          local.get 0
-          i32.load offset=24
-          local.set 8
-          local.get 0
-          i32.load offset=20
-          local.set 7
-          loop  ;; label = @4
-            local.get 4
-            i32.const -1
-            i32.add
-            local.tee 4
-            i32.eqz
-            br_if 2 (;@2;)
-            local.get 7
-            local.get 6
-            local.get 8
-            i32.load offset=16
-            call_indirect (type 6)
-            i32.eqz
-            br_if 0 (;@4;)
-          end
-          i32.const 1
-          return
-        end
-        local.get 0
-        i32.load offset=20
-        local.get 1
-        local.get 2
-        local.get 0
-        i32.load offset=24
-        i32.load offset=12
-        call_indirect (type 5)
-        return
-      end
-      i32.const 1
-      local.set 4
-      block  ;; label = @2
-        local.get 7
-        local.get 1
-        local.get 2
-        local.get 8
-        i32.load offset=12
-        call_indirect (type 5)
-        br_if 0 (;@2;)
-        i32.const 0
-        local.set 4
-        block  ;; label = @3
-          loop  ;; label = @4
-            block  ;; label = @5
-              local.get 5
-              local.get 4
-              i32.ne
-              br_if 0 (;@5;)
-              local.get 5
-              local.set 4
-              br 2 (;@3;)
-            end
-            local.get 4
-            i32.const 1
-            i32.add
-            local.set 4
-            local.get 7
-            local.get 6
-            local.get 8
-            i32.load offset=16
-            call_indirect (type 6)
-            i32.eqz
-            br_if 0 (;@4;)
-          end
-          local.get 4
-          i32.const -1
-          i32.add
-          local.set 4
-        end
-        local.get 4
-        local.get 5
-        i32.lt_u
-        local.set 4
-      end
-      local.get 4
-      return
-    end
-    local.get 0
-    i32.load offset=20
-    local.get 1
-    local.get 2
-    local.get 0
-    i32.load offset=24
-    i32.load offset=12
-    call_indirect (type 5))
-  (func $_ZN4core9panicking5panic17h3b99507adb69386aE (type 0) (param i32 i32 i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    local.get 3
-    i32.const 0
-    i32.store offset=16
-    local.get 3
-    i32.const 1
-    i32.store offset=4
-    local.get 3
-    i64.const 4
-    i64.store offset=8 align=4
-    local.get 3
-    local.get 1
-    i32.store offset=28
-    local.get 3
-    local.get 0
-    i32.store offset=24
-    local.get 3
-    local.get 3
-    i32.const 24
-    i32.add
-    i32.store
-    local.get 3
-    local.get 2
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE (type 6) (param i32 i32) (result i32)
-    local.get 0
-    i64.load32_u
-    i32.const 1
-    local.get 1
-    call $_ZN4core3fmt3num3imp7fmt_u6417haef35ab823acabf1E)
-  (func $_ZN4core3fmt5write17hbee61cd3fb7b52a3E (type 5) (param i32 i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 48
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    local.get 3
-    i32.const 3
-    i32.store8 offset=44
-    local.get 3
-    i32.const 32
-    i32.store offset=28
-    i32.const 0
-    local.set 4
-    local.get 3
-    i32.const 0
-    i32.store offset=40
-    local.get 3
-    local.get 1
-    i32.store offset=36
-    local.get 3
-    local.get 0
-    i32.store offset=32
-    local.get 3
-    i32.const 0
-    i32.store offset=20
-    local.get 3
-    i32.const 0
-    i32.store offset=12
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 2
-              i32.load offset=16
-              local.tee 5
-              br_if 0 (;@5;)
-              local.get 2
-              i32.load offset=12
-              local.tee 0
-              i32.eqz
-              br_if 1 (;@4;)
-              local.get 2
-              i32.load offset=8
-              local.set 1
-              local.get 0
-              i32.const 3
-              i32.shl
-              local.set 6
-              local.get 0
-              i32.const -1
-              i32.add
-              i32.const 536870911
-              i32.and
-              i32.const 1
-              i32.add
-              local.set 4
-              local.get 2
-              i32.load
-              local.set 0
-              loop  ;; label = @6
-                block  ;; label = @7
-                  local.get 0
-                  i32.const 4
-                  i32.add
-                  i32.load
-                  local.tee 7
-                  i32.eqz
-                  br_if 0 (;@7;)
-                  local.get 3
-                  i32.load offset=32
-                  local.get 0
-                  i32.load
-                  local.get 7
-                  local.get 3
-                  i32.load offset=36
-                  i32.load offset=12
-                  call_indirect (type 5)
-                  br_if 4 (;@3;)
-                end
-                local.get 1
-                i32.load
-                local.get 3
-                i32.const 12
-                i32.add
-                local.get 1
-                i32.load offset=4
-                call_indirect (type 6)
-                br_if 3 (;@3;)
-                local.get 1
-                i32.const 8
-                i32.add
-                local.set 1
-                local.get 0
-                i32.const 8
-                i32.add
-                local.set 0
-                local.get 6
-                i32.const -8
-                i32.add
-                local.tee 6
-                br_if 0 (;@6;)
-                br 2 (;@4;)
-              end
-            end
-            local.get 2
-            i32.load offset=20
-            local.tee 1
-            i32.eqz
-            br_if 0 (;@4;)
-            local.get 1
-            i32.const 5
-            i32.shl
-            local.set 8
-            local.get 1
-            i32.const -1
-            i32.add
-            i32.const 134217727
-            i32.and
-            i32.const 1
-            i32.add
-            local.set 4
-            local.get 2
-            i32.load offset=8
-            local.set 9
-            local.get 2
-            i32.load
-            local.set 0
-            i32.const 0
-            local.set 6
-            loop  ;; label = @5
-              block  ;; label = @6
-                local.get 0
-                i32.const 4
-                i32.add
-                i32.load
-                local.tee 1
-                i32.eqz
-                br_if 0 (;@6;)
-                local.get 3
-                i32.load offset=32
-                local.get 0
-                i32.load
-                local.get 1
-                local.get 3
-                i32.load offset=36
-                i32.load offset=12
-                call_indirect (type 5)
-                br_if 3 (;@3;)
-              end
-              local.get 3
-              local.get 5
-              local.get 6
-              i32.add
-              local.tee 1
-              i32.const 16
-              i32.add
-              i32.load
-              i32.store offset=28
-              local.get 3
-              local.get 1
-              i32.const 28
-              i32.add
-              i32.load8_u
-              i32.store8 offset=44
-              local.get 3
-              local.get 1
-              i32.const 24
-              i32.add
-              i32.load
-              i32.store offset=40
-              local.get 1
-              i32.const 12
-              i32.add
-              i32.load
-              local.set 7
-              i32.const 0
-              local.set 10
-              i32.const 0
-              local.set 11
-              block  ;; label = @6
-                block  ;; label = @7
-                  block  ;; label = @8
-                    local.get 1
-                    i32.const 8
-                    i32.add
-                    i32.load
-                    br_table 1 (;@7;) 0 (;@8;) 2 (;@6;) 1 (;@7;)
-                  end
-                  local.get 7
-                  i32.const 3
-                  i32.shl
-                  local.set 12
-                  i32.const 0
-                  local.set 11
-                  local.get 9
-                  local.get 12
-                  i32.add
-                  local.tee 12
-                  i32.load offset=4
-                  br_if 1 (;@6;)
-                  local.get 12
-                  i32.load
-                  local.set 7
-                end
-                i32.const 1
-                local.set 11
-              end
-              local.get 3
-              local.get 7
-              i32.store offset=16
-              local.get 3
-              local.get 11
-              i32.store offset=12
-              local.get 1
-              i32.const 4
-              i32.add
-              i32.load
-              local.set 7
-              block  ;; label = @6
-                block  ;; label = @7
-                  block  ;; label = @8
-                    local.get 1
-                    i32.load
-                    br_table 1 (;@7;) 0 (;@8;) 2 (;@6;) 1 (;@7;)
-                  end
-                  local.get 7
-                  i32.const 3
-                  i32.shl
-                  local.set 11
-                  local.get 9
-                  local.get 11
-                  i32.add
-                  local.tee 11
-                  i32.load offset=4
-                  br_if 1 (;@6;)
-                  local.get 11
-                  i32.load
-                  local.set 7
-                end
-                i32.const 1
-                local.set 10
-              end
-              local.get 3
-              local.get 7
-              i32.store offset=24
-              local.get 3
-              local.get 10
-              i32.store offset=20
-              local.get 9
-              local.get 1
-              i32.const 20
-              i32.add
-              i32.load
-              i32.const 3
-              i32.shl
-              i32.add
-              local.tee 1
-              i32.load
-              local.get 3
-              i32.const 12
-              i32.add
-              local.get 1
-              i32.load offset=4
-              call_indirect (type 6)
-              br_if 2 (;@3;)
-              local.get 0
-              i32.const 8
-              i32.add
-              local.set 0
-              local.get 8
-              local.get 6
-              i32.const 32
-              i32.add
-              local.tee 6
-              i32.ne
-              br_if 0 (;@5;)
-            end
-          end
-          local.get 4
-          local.get 2
-          i32.load offset=4
-          i32.ge_u
-          br_if 1 (;@2;)
-          local.get 3
-          i32.load offset=32
-          local.get 2
-          i32.load
-          local.get 4
-          i32.const 3
-          i32.shl
-          i32.add
-          local.tee 1
-          i32.load
-          local.get 1
-          i32.load offset=4
-          local.get 3
-          i32.load offset=36
-          i32.load offset=12
-          call_indirect (type 5)
-          i32.eqz
-          br_if 1 (;@2;)
-        end
-        i32.const 1
-        local.set 1
-        br 1 (;@1;)
-      end
-      i32.const 0
-      local.set 1
-    end
-    local.get 3
-    i32.const 48
-    i32.add
-    global.set $__stack_pointer
-    local.get 1)
-  (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h4e5a4609280a40f1E (type 4) (param i32 i32)
-    local.get 0
-    i64.const 9172487606043731407
-    i64.store offset=8
-    local.get 0
-    i64.const -8877450274954529964
-    i64.store)
-  (func $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17h235ec3ceaa677e72E (type 6) (param i32 i32) (result i32)
-    local.get 1
-    i32.load offset=20
-    i32.const 1051380
-    i32.const 11
-    local.get 1
-    i32.load offset=24
-    i32.load offset=12
-    call_indirect (type 5))
-  (func $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h81bacf94bd657e5cE (type 6) (param i32 i32) (result i32)
-    local.get 1
-    i32.load offset=20
-    i32.const 1051391
-    i32.const 14
-    local.get 1
-    i32.load offset=24
-    i32.load offset=12
-    call_indirect (type 5))
-  (func $_ZN4core4cell22panic_already_borrowed17h18b8189a0fdd8b58E (type 1) (param i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 48
-    i32.sub
-    local.tee 1
-    global.set $__stack_pointer
-    local.get 1
-    i32.const 1
-    i32.store offset=12
-    local.get 1
-    i32.const 1051424
-    i32.store offset=8
-    local.get 1
-    i64.const 1
-    i64.store offset=20 align=4
-    local.get 1
-    i32.const 58
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.get 1
-    i32.const 47
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=32
-    local.get 1
-    local.get 1
-    i32.const 32
-    i32.add
-    i32.store offset=16
-    local.get 1
-    i32.const 8
-    i32.add
-    local.get 0
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN4core4cell30panic_already_mutably_borrowed17h793f3780fe6f3b88E (type 1) (param i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 48
-    i32.sub
-    local.tee 1
-    global.set $__stack_pointer
-    local.get 1
-    i32.const 1
-    i32.store offset=12
-    local.get 1
-    i32.const 1051460
-    i32.store offset=8
-    local.get 1
-    i64.const 1
-    i64.store offset=20 align=4
-    local.get 1
-    i32.const 59
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.get 1
-    i32.const 47
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=32
-    local.get 1
-    local.get 1
-    i32.const 32
-    i32.add
-    i32.store offset=16
-    local.get 1
-    i32.const 8
-    i32.add
-    local.get 0
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN4core6result13unwrap_failed17h4ed86702351a3017E (type 7) (param i32 i32 i32 i32 i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 64
-    i32.sub
-    local.tee 5
-    global.set $__stack_pointer
-    local.get 5
-    local.get 1
-    i32.store offset=12
-    local.get 5
-    local.get 0
-    i32.store offset=8
-    local.get 5
-    local.get 3
-    i32.store offset=20
-    local.get 5
-    local.get 2
-    i32.store offset=16
-    local.get 5
-    i32.const 2
-    i32.store offset=28
-    local.get 5
-    i32.const 1051540
-    i32.store offset=24
-    local.get 5
-    i64.const 2
-    i64.store offset=36 align=4
-    local.get 5
-    i32.const 60
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.get 5
-    i32.const 16
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=56
-    local.get 5
-    i32.const 61
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.get 5
-    i32.const 8
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=48
-    local.get 5
-    local.get 5
-    i32.const 48
-    i32.add
-    i32.store offset=32
-    local.get 5
-    i32.const 24
-    i32.add
-    local.get 4
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN4core6option13unwrap_failed17h0d060778de0f79e8E (type 1) (param i32)
-    i32.const 1051476
-    i32.const 43
-    local.get 0
-    call $_ZN4core9panicking5panic17h3b99507adb69386aE
-    unreachable)
-  (func $_ZN4core6option13expect_failed17h637b3c5bf9792ea8E (type 0) (param i32 i32 i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 16
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    local.get 3
-    local.get 1
-    i32.store offset=12
-    local.get 3
-    local.get 0
-    i32.store offset=8
-    local.get 3
-    i32.const 8
-    i32.add
-    local.get 2
-    call $_ZN4core9panicking13panic_display17hbd841ae85eb3dff4E
-    unreachable)
-  (func $_ZN4core9panicking13panic_display17hbd841ae85eb3dff4E (type 4) (param i32 i32)
-    (local i32)
-    global.get $__stack_pointer
-    i32.const 32
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 2
-    i32.const 1
-    i32.store offset=4
-    local.get 2
-    i32.const 1051468
-    i32.store
-    local.get 2
-    i64.const 1
-    i64.store offset=12 align=4
-    local.get 2
-    i32.const 61
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.get 0
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=24
-    local.get 2
-    local.get 2
-    i32.const 24
-    i32.add
-    i32.store offset=8
-    local.get 2
-    local.get 1
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h87ef43d072a4bed1E (type 6) (param i32 i32) (result i32)
-    local.get 1
-    local.get 0
-    i32.load
-    local.get 0
-    i32.load offset=4
-    call $_ZN4core3fmt9Formatter3pad17hbad76490c47154d2E)
-  (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h3be2bf5a24d84447E (type 6) (param i32 i32) (result i32)
-    (local i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 128
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 0
-    i32.load
-    local.set 0
-    i32.const 0
-    local.set 3
-    loop  ;; label = @1
-      local.get 2
-      local.get 3
-      i32.add
-      i32.const 127
-      i32.add
-      local.get 0
-      i32.const 15
-      i32.and
-      local.tee 4
-      i32.const 48
-      i32.or
-      local.get 4
-      i32.const 87
-      i32.add
-      local.get 4
-      i32.const 10
-      i32.lt_u
-      select
-      i32.store8
-      local.get 3
-      i32.const -1
-      i32.add
-      local.set 3
-      local.get 0
-      i32.const 16
-      i32.lt_u
-      local.set 4
-      local.get 0
-      i32.const 4
-      i32.shr_u
-      local.set 0
-      local.get 4
-      i32.eqz
-      br_if 0 (;@1;)
-    end
-    block  ;; label = @1
-      local.get 3
-      i32.const 128
-      i32.add
-      local.tee 0
-      i32.const 129
-      i32.lt_u
-      br_if 0 (;@1;)
-      local.get 0
-      i32.const 128
-      i32.const 1051584
-      call $_ZN4core5slice5index26slice_start_index_len_fail17hdf8c0aea852237a1E
-      unreachable
-    end
-    local.get 1
-    i32.const 1
-    i32.const 1051600
-    i32.const 2
-    local.get 2
-    local.get 3
-    i32.add
-    i32.const 128
-    i32.add
-    i32.const 0
-    local.get 3
-    i32.sub
-    call $_ZN4core3fmt9Formatter12pad_integral17hcbbcc5e70706fcddE
-    local.set 0
-    local.get 2
-    i32.const 128
-    i32.add
-    global.set $__stack_pointer
-    local.get 0)
-  (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7a9a11a22d9e302cE (type 6) (param i32 i32) (result i32)
-    local.get 0
-    i32.load
-    local.get 1
-    local.get 0
-    i32.load offset=4
-    i32.load offset=12
-    call_indirect (type 6))
-  (func $_ZN4core3fmt9Formatter12pad_integral17hcbbcc5e70706fcddE (type 12) (param i32 i32 i32 i32 i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 1
-        br_if 0 (;@2;)
-        local.get 5
-        i32.const 1
-        i32.add
-        local.set 6
-        local.get 0
-        i32.load offset=28
-        local.set 7
-        i32.const 45
-        local.set 8
-        br 1 (;@1;)
-      end
-      i32.const 43
-      i32.const 1114112
-      local.get 0
-      i32.load offset=28
-      local.tee 7
-      i32.const 1
-      i32.and
-      local.tee 1
-      select
-      local.set 8
-      local.get 1
-      local.get 5
-      i32.add
-      local.set 6
-    end
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 7
-        i32.const 4
-        i32.and
-        br_if 0 (;@2;)
-        i32.const 0
-        local.set 2
-        br 1 (;@1;)
-      end
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 3
-          i32.const 16
-          i32.lt_u
-          br_if 0 (;@3;)
-          local.get 2
-          local.get 3
-          call $_ZN4core3str5count14do_count_chars17h66d99444d2bc554aE
-          local.set 1
-          br 1 (;@2;)
-        end
-        block  ;; label = @3
-          local.get 3
-          br_if 0 (;@3;)
-          i32.const 0
-          local.set 1
-          br 1 (;@2;)
-        end
-        local.get 3
-        i32.const 3
-        i32.and
-        local.set 9
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 3
-            i32.const 4
-            i32.ge_u
-            br_if 0 (;@4;)
-            i32.const 0
-            local.set 1
-            i32.const 0
-            local.set 10
-            br 1 (;@3;)
-          end
-          local.get 3
-          i32.const 12
-          i32.and
-          local.set 11
-          i32.const 0
-          local.set 1
-          i32.const 0
-          local.set 10
-          loop  ;; label = @4
-            local.get 1
-            local.get 2
-            local.get 10
-            i32.add
-            local.tee 12
-            i32.load8_s
-            i32.const -65
-            i32.gt_s
-            i32.add
-            local.get 12
-            i32.const 1
-            i32.add
-            i32.load8_s
-            i32.const -65
-            i32.gt_s
-            i32.add
-            local.get 12
-            i32.const 2
-            i32.add
-            i32.load8_s
-            i32.const -65
-            i32.gt_s
-            i32.add
-            local.get 12
-            i32.const 3
-            i32.add
-            i32.load8_s
-            i32.const -65
-            i32.gt_s
-            i32.add
-            local.set 1
-            local.get 11
-            local.get 10
-            i32.const 4
-            i32.add
-            local.tee 10
-            i32.ne
-            br_if 0 (;@4;)
-          end
-        end
-        local.get 9
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 2
-        local.get 10
-        i32.add
-        local.set 12
-        loop  ;; label = @3
-          local.get 1
-          local.get 12
-          i32.load8_s
-          i32.const -65
-          i32.gt_s
-          i32.add
-          local.set 1
-          local.get 12
-          i32.const 1
-          i32.add
-          local.set 12
-          local.get 9
-          i32.const -1
-          i32.add
-          local.tee 9
-          br_if 0 (;@3;)
-        end
-      end
-      local.get 1
-      local.get 6
-      i32.add
-      local.set 6
-    end
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 0
-        i32.load
-        br_if 0 (;@2;)
-        i32.const 1
-        local.set 1
-        local.get 0
-        i32.load offset=20
-        local.tee 12
-        local.get 0
-        i32.load offset=24
-        local.tee 10
-        local.get 8
-        local.get 2
-        local.get 3
-        call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E
-        br_if 1 (;@1;)
-        local.get 12
-        local.get 4
-        local.get 5
-        local.get 10
-        i32.load offset=12
-        call_indirect (type 5)
-        return
-      end
-      block  ;; label = @2
-        local.get 0
-        i32.load offset=4
-        local.tee 9
-        local.get 6
-        i32.gt_u
-        br_if 0 (;@2;)
-        i32.const 1
-        local.set 1
-        local.get 0
-        i32.load offset=20
-        local.tee 12
-        local.get 0
-        i32.load offset=24
-        local.tee 10
-        local.get 8
-        local.get 2
-        local.get 3
-        call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E
-        br_if 1 (;@1;)
-        local.get 12
-        local.get 4
-        local.get 5
-        local.get 10
-        i32.load offset=12
-        call_indirect (type 5)
-        return
-      end
-      block  ;; label = @2
-        local.get 7
-        i32.const 8
-        i32.and
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 0
-        i32.load offset=16
-        local.set 11
-        local.get 0
-        i32.const 48
-        i32.store offset=16
-        local.get 0
-        i32.load8_u offset=32
-        local.set 7
-        i32.const 1
-        local.set 1
-        local.get 0
-        i32.const 1
-        i32.store8 offset=32
-        local.get 0
-        i32.load offset=20
-        local.tee 12
-        local.get 0
-        i32.load offset=24
-        local.tee 10
-        local.get 8
-        local.get 2
-        local.get 3
-        call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E
-        br_if 1 (;@1;)
-        local.get 9
-        local.get 6
-        i32.sub
-        i32.const 1
-        i32.add
-        local.set 1
-        block  ;; label = @3
-          loop  ;; label = @4
-            local.get 1
-            i32.const -1
-            i32.add
-            local.tee 1
-            i32.eqz
-            br_if 1 (;@3;)
-            local.get 12
-            i32.const 48
-            local.get 10
-            i32.load offset=16
-            call_indirect (type 6)
-            i32.eqz
-            br_if 0 (;@4;)
-          end
-          i32.const 1
-          return
-        end
-        i32.const 1
-        local.set 1
-        local.get 12
-        local.get 4
-        local.get 5
-        local.get 10
-        i32.load offset=12
-        call_indirect (type 5)
-        br_if 1 (;@1;)
-        local.get 0
-        local.get 7
-        i32.store8 offset=32
-        local.get 0
-        local.get 11
-        i32.store offset=16
-        i32.const 0
-        local.set 1
-        br 1 (;@1;)
-      end
-      local.get 9
-      local.get 6
-      i32.sub
-      local.set 6
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 0
-            i32.load8_u offset=32
-            local.tee 1
-            br_table 2 (;@2;) 0 (;@4;) 1 (;@3;) 0 (;@4;) 2 (;@2;)
-          end
-          local.get 6
-          local.set 1
-          i32.const 0
-          local.set 6
-          br 1 (;@2;)
-        end
-        local.get 6
-        i32.const 1
-        i32.shr_u
-        local.set 1
-        local.get 6
-        i32.const 1
-        i32.add
-        i32.const 1
-        i32.shr_u
-        local.set 6
-      end
-      local.get 1
-      i32.const 1
-      i32.add
-      local.set 1
-      local.get 0
-      i32.load offset=16
-      local.set 9
-      local.get 0
-      i32.load offset=24
-      local.set 12
-      local.get 0
-      i32.load offset=20
-      local.set 10
-      block  ;; label = @2
-        loop  ;; label = @3
-          local.get 1
-          i32.const -1
-          i32.add
-          local.tee 1
-          i32.eqz
-          br_if 1 (;@2;)
-          local.get 10
-          local.get 9
-          local.get 12
-          i32.load offset=16
-          call_indirect (type 6)
-          i32.eqz
-          br_if 0 (;@3;)
-        end
-        i32.const 1
-        return
-      end
-      i32.const 1
-      local.set 1
-      local.get 10
-      local.get 12
-      local.get 8
-      local.get 2
-      local.get 3
-      call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E
-      br_if 0 (;@1;)
-      local.get 10
-      local.get 4
-      local.get 5
-      local.get 12
-      i32.load offset=12
-      call_indirect (type 5)
-      br_if 0 (;@1;)
-      i32.const 0
-      local.set 1
-      loop  ;; label = @2
-        block  ;; label = @3
-          local.get 6
-          local.get 1
-          i32.ne
-          br_if 0 (;@3;)
-          local.get 6
-          local.get 6
-          i32.lt_u
-          return
-        end
-        local.get 1
-        i32.const 1
-        i32.add
-        local.set 1
-        local.get 10
-        local.get 9
-        local.get 12
-        i32.load offset=16
-        call_indirect (type 6)
-        i32.eqz
-        br_if 0 (;@2;)
-      end
-      local.get 1
-      i32.const -1
-      i32.add
-      local.get 6
-      i32.lt_u
-      return
-    end
-    local.get 1)
-  (func $_ZN4core3str5count14do_count_chars17h66d99444d2bc554aE (type 6) (param i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 1
-        local.get 0
-        i32.const 3
-        i32.add
-        i32.const -4
-        i32.and
-        local.tee 2
-        local.get 0
-        i32.sub
-        local.tee 3
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 1
-        local.get 3
-        i32.sub
-        local.tee 4
-        i32.const 4
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 4
-        i32.const 3
-        i32.and
-        local.set 5
-        i32.const 0
-        local.set 6
-        i32.const 0
-        local.set 1
-        block  ;; label = @3
-          local.get 2
-          local.get 0
-          i32.eq
-          local.tee 7
-          br_if 0 (;@3;)
-          i32.const 0
-          local.set 1
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 0
-              local.get 2
-              i32.sub
-              local.tee 8
-              i32.const -4
-              i32.le_u
-              br_if 0 (;@5;)
-              i32.const 0
-              local.set 9
-              br 1 (;@4;)
-            end
-            i32.const 0
-            local.set 9
-            loop  ;; label = @5
-              local.get 1
-              local.get 0
-              local.get 9
-              i32.add
-              local.tee 2
-              i32.load8_s
-              i32.const -65
-              i32.gt_s
-              i32.add
-              local.get 2
-              i32.const 1
-              i32.add
-              i32.load8_s
-              i32.const -65
-              i32.gt_s
-              i32.add
-              local.get 2
-              i32.const 2
-              i32.add
-              i32.load8_s
-              i32.const -65
-              i32.gt_s
-              i32.add
-              local.get 2
-              i32.const 3
-              i32.add
-              i32.load8_s
-              i32.const -65
-              i32.gt_s
-              i32.add
-              local.set 1
-              local.get 9
-              i32.const 4
-              i32.add
-              local.tee 9
-              br_if 0 (;@5;)
-            end
-          end
-          local.get 7
-          br_if 0 (;@3;)
-          local.get 0
-          local.get 9
-          i32.add
-          local.set 2
-          loop  ;; label = @4
-            local.get 1
-            local.get 2
-            i32.load8_s
-            i32.const -65
-            i32.gt_s
-            i32.add
-            local.set 1
-            local.get 2
-            i32.const 1
-            i32.add
-            local.set 2
-            local.get 8
-            i32.const 1
-            i32.add
-            local.tee 8
-            br_if 0 (;@4;)
-          end
-        end
-        local.get 0
-        local.get 3
-        i32.add
-        local.set 9
-        block  ;; label = @3
-          local.get 5
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 9
-          local.get 4
-          i32.const -4
-          i32.and
-          i32.add
-          local.tee 2
-          i32.load8_s
-          i32.const -65
-          i32.gt_s
-          local.set 6
-          local.get 5
-          i32.const 1
-          i32.eq
-          br_if 0 (;@3;)
-          local.get 6
-          local.get 2
-          i32.load8_s offset=1
-          i32.const -65
-          i32.gt_s
-          i32.add
-          local.set 6
-          local.get 5
-          i32.const 2
-          i32.eq
-          br_if 0 (;@3;)
-          local.get 6
-          local.get 2
-          i32.load8_s offset=2
-          i32.const -65
-          i32.gt_s
-          i32.add
-          local.set 6
-        end
-        local.get 4
-        i32.const 2
-        i32.shr_u
-        local.set 3
-        local.get 6
-        local.get 1
-        i32.add
-        local.set 8
-        loop  ;; label = @3
-          local.get 9
-          local.set 4
-          local.get 3
-          i32.eqz
-          br_if 2 (;@1;)
-          local.get 3
-          i32.const 192
-          local.get 3
-          i32.const 192
-          i32.lt_u
-          select
-          local.tee 6
-          i32.const 3
-          i32.and
-          local.set 7
-          local.get 6
-          i32.const 2
-          i32.shl
-          local.set 5
-          i32.const 0
-          local.set 2
-          block  ;; label = @4
-            local.get 3
-            i32.const 4
-            i32.lt_u
-            br_if 0 (;@4;)
-            local.get 4
-            local.get 5
-            i32.const 1008
-            i32.and
-            i32.add
-            local.set 0
-            i32.const 0
-            local.set 2
-            local.get 4
-            local.set 1
-            loop  ;; label = @5
-              local.get 1
-              i32.load offset=12
-              local.tee 9
-              i32.const -1
-              i32.xor
-              i32.const 7
-              i32.shr_u
-              local.get 9
-              i32.const 6
-              i32.shr_u
-              i32.or
-              i32.const 16843009
-              i32.and
-              local.get 1
-              i32.load offset=8
-              local.tee 9
-              i32.const -1
-              i32.xor
-              i32.const 7
-              i32.shr_u
-              local.get 9
-              i32.const 6
-              i32.shr_u
-              i32.or
-              i32.const 16843009
-              i32.and
-              local.get 1
-              i32.load offset=4
-              local.tee 9
-              i32.const -1
-              i32.xor
-              i32.const 7
-              i32.shr_u
-              local.get 9
-              i32.const 6
-              i32.shr_u
-              i32.or
-              i32.const 16843009
-              i32.and
-              local.get 1
-              i32.load
-              local.tee 9
-              i32.const -1
-              i32.xor
-              i32.const 7
-              i32.shr_u
-              local.get 9
-              i32.const 6
-              i32.shr_u
-              i32.or
-              i32.const 16843009
-              i32.and
-              local.get 2
-              i32.add
-              i32.add
-              i32.add
-              i32.add
-              local.set 2
-              local.get 1
-              i32.const 16
-              i32.add
-              local.tee 1
-              local.get 0
-              i32.ne
-              br_if 0 (;@5;)
-            end
-          end
-          local.get 3
-          local.get 6
-          i32.sub
-          local.set 3
-          local.get 4
-          local.get 5
-          i32.add
-          local.set 9
-          local.get 2
-          i32.const 8
-          i32.shr_u
-          i32.const 16711935
-          i32.and
-          local.get 2
-          i32.const 16711935
-          i32.and
-          i32.add
-          i32.const 65537
-          i32.mul
-          i32.const 16
-          i32.shr_u
-          local.get 8
-          i32.add
-          local.set 8
-          local.get 7
-          i32.eqz
-          br_if 0 (;@3;)
-        end
-        local.get 4
-        local.get 6
-        i32.const 252
-        i32.and
-        i32.const 2
-        i32.shl
-        i32.add
-        local.tee 2
-        i32.load
-        local.tee 1
-        i32.const -1
-        i32.xor
-        i32.const 7
-        i32.shr_u
-        local.get 1
-        i32.const 6
-        i32.shr_u
-        i32.or
-        i32.const 16843009
-        i32.and
-        local.set 1
-        block  ;; label = @3
-          local.get 7
-          i32.const 1
-          i32.eq
-          br_if 0 (;@3;)
-          local.get 2
-          i32.load offset=4
-          local.tee 9
-          i32.const -1
-          i32.xor
-          i32.const 7
-          i32.shr_u
-          local.get 9
-          i32.const 6
-          i32.shr_u
-          i32.or
-          i32.const 16843009
-          i32.and
-          local.get 1
-          i32.add
-          local.set 1
-          local.get 7
-          i32.const 2
-          i32.eq
-          br_if 0 (;@3;)
-          local.get 2
-          i32.load offset=8
-          local.tee 2
-          i32.const -1
-          i32.xor
-          i32.const 7
-          i32.shr_u
-          local.get 2
-          i32.const 6
-          i32.shr_u
-          i32.or
-          i32.const 16843009
-          i32.and
-          local.get 1
-          i32.add
-          local.set 1
-        end
-        local.get 1
-        i32.const 8
-        i32.shr_u
-        i32.const 459007
-        i32.and
-        local.get 1
-        i32.const 16711935
-        i32.and
-        i32.add
-        i32.const 65537
-        i32.mul
-        i32.const 16
-        i32.shr_u
-        local.get 8
-        i32.add
-        return
-      end
-      block  ;; label = @2
-        local.get 1
-        br_if 0 (;@2;)
-        i32.const 0
-        return
-      end
-      local.get 1
-      i32.const 3
-      i32.and
-      local.set 9
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          i32.const 4
-          i32.ge_u
-          br_if 0 (;@3;)
-          i32.const 0
-          local.set 8
-          i32.const 0
-          local.set 2
-          br 1 (;@2;)
-        end
-        local.get 1
-        i32.const -4
-        i32.and
-        local.set 3
-        i32.const 0
-        local.set 8
-        i32.const 0
-        local.set 2
-        loop  ;; label = @3
-          local.get 8
-          local.get 0
-          local.get 2
-          i32.add
-          local.tee 1
-          i32.load8_s
-          i32.const -65
-          i32.gt_s
-          i32.add
-          local.get 1
-          i32.const 1
-          i32.add
-          i32.load8_s
-          i32.const -65
-          i32.gt_s
-          i32.add
-          local.get 1
-          i32.const 2
-          i32.add
-          i32.load8_s
-          i32.const -65
-          i32.gt_s
-          i32.add
-          local.get 1
-          i32.const 3
-          i32.add
-          i32.load8_s
-          i32.const -65
-          i32.gt_s
-          i32.add
-          local.set 8
-          local.get 3
-          local.get 2
-          i32.const 4
-          i32.add
-          local.tee 2
-          i32.ne
-          br_if 0 (;@3;)
-        end
-      end
-      local.get 9
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 0
-      local.get 2
-      i32.add
-      local.set 1
-      loop  ;; label = @2
-        local.get 8
-        local.get 1
-        i32.load8_s
-        i32.const -65
-        i32.gt_s
-        i32.add
-        local.set 8
-        local.get 1
-        i32.const 1
-        i32.add
-        local.set 1
-        local.get 9
-        i32.const -1
-        i32.add
-        local.tee 9
-        br_if 0 (;@2;)
-      end
-    end
-    local.get 8)
-  (func $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h45be8b7045bf0ef1E (type 13) (param i32 i32 i32 i32 i32) (result i32)
-    (local i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 2
-          i32.const 1114112
-          i32.eq
-          br_if 0 (;@3;)
-          i32.const 1
-          local.set 5
-          local.get 0
-          local.get 2
-          local.get 1
-          i32.load offset=16
-          call_indirect (type 6)
-          br_if 1 (;@2;)
-        end
-        local.get 3
-        br_if 1 (;@1;)
-        i32.const 0
-        local.set 5
-      end
-      local.get 5
-      return
-    end
-    local.get 0
-    local.get 3
-    local.get 4
-    local.get 1
-    i32.load offset=12
-    call_indirect (type 5))
-  (func $_ZN4core3fmt9Formatter9write_str17hb14ec2e1267025f3E (type 5) (param i32 i32 i32) (result i32)
-    local.get 0
-    i32.load offset=20
-    local.get 1
-    local.get 2
-    local.get 0
-    i32.load offset=24
-    i32.load offset=12
-    call_indirect (type 5))
-  (func $_ZN4core5slice5index29slice_start_index_len_fail_rt17h457337ef10e44172E (type 0) (param i32 i32 i32)
-    (local i32 i64)
-    global.get $__stack_pointer
-    i32.const 48
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    local.get 3
-    local.get 1
-    i32.store offset=4
-    local.get 3
-    local.get 0
-    i32.store
-    local.get 3
-    i32.const 2
-    i32.store offset=12
-    local.get 3
-    i32.const 1051856
-    i32.store offset=8
-    local.get 3
-    i64.const 2
-    i64.store offset=20 align=4
-    local.get 3
-    i32.const 37
-    i64.extend_i32_u
-    i64.const 32
-    i64.shl
-    local.tee 4
-    local.get 3
-    i32.const 4
-    i32.add
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=40
-    local.get 3
-    local.get 4
-    local.get 3
-    i64.extend_i32_u
-    i64.or
-    i64.store offset=32
-    local.get 3
-    local.get 3
-    i32.const 32
-    i32.add
-    i32.store offset=16
-    local.get 3
-    i32.const 8
-    i32.add
-    local.get 2
-    call $_ZN4core9panicking9panic_fmt17h5c7ce52813e94bcdE
-    unreachable)
-  (func $_ZN4core3fmt3num3imp7fmt_u6417haef35ab823acabf1E (type 14) (param i64 i32 i32) (result i32)
-    (local i32 i32 i64 i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 48
-    i32.sub
-    local.tee 3
-    global.set $__stack_pointer
-    i32.const 39
-    local.set 4
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 0
-        i64.const 10000
-        i64.ge_u
-        br_if 0 (;@2;)
-        local.get 0
-        local.set 5
-        br 1 (;@1;)
-      end
-      i32.const 39
-      local.set 4
-      loop  ;; label = @2
-        local.get 3
-        i32.const 9
-        i32.add
-        local.get 4
-        i32.add
-        local.tee 6
-        i32.const -4
-        i32.add
-        local.get 0
-        local.get 0
-        i64.const 10000
-        i64.div_u
-        local.tee 5
-        i64.const 10000
-        i64.mul
-        i64.sub
-        i32.wrap_i64
-        local.tee 7
-        i32.const 65535
-        i32.and
-        i32.const 100
-        i32.div_u
-        local.tee 8
-        i32.const 1
-        i32.shl
-        i32.const 1051602
-        i32.add
-        i32.load16_u align=1
-        i32.store16 align=1
-        local.get 6
-        i32.const -2
-        i32.add
-        local.get 7
-        local.get 8
-        i32.const 100
-        i32.mul
-        i32.sub
-        i32.const 65535
-        i32.and
-        i32.const 1
-        i32.shl
-        i32.const 1051602
-        i32.add
-        i32.load16_u align=1
-        i32.store16 align=1
-        local.get 4
-        i32.const -4
-        i32.add
-        local.set 4
-        local.get 0
-        i64.const 99999999
-        i64.gt_u
-        local.set 6
-        local.get 5
-        local.set 0
-        local.get 6
-        br_if 0 (;@2;)
-      end
-    end
-    block  ;; label = @1
-      local.get 5
-      i32.wrap_i64
-      local.tee 6
-      i32.const 99
-      i32.le_u
-      br_if 0 (;@1;)
-      local.get 3
-      i32.const 9
-      i32.add
-      local.get 4
-      i32.const -2
-      i32.add
-      local.tee 4
-      i32.add
-      local.get 5
-      i32.wrap_i64
-      local.tee 6
-      local.get 6
-      i32.const 65535
-      i32.and
-      i32.const 100
-      i32.div_u
-      local.tee 6
-      i32.const 100
-      i32.mul
-      i32.sub
-      i32.const 65535
-      i32.and
-      i32.const 1
-      i32.shl
-      i32.const 1051602
-      i32.add
-      i32.load16_u align=1
-      i32.store16 align=1
-    end
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 6
-        i32.const 10
-        i32.lt_u
-        br_if 0 (;@2;)
-        local.get 3
-        i32.const 9
-        i32.add
-        local.get 4
-        i32.const -2
-        i32.add
-        local.tee 4
-        i32.add
-        local.get 6
-        i32.const 1
-        i32.shl
-        i32.const 1051602
-        i32.add
-        i32.load16_u align=1
-        i32.store16 align=1
-        br 1 (;@1;)
-      end
-      local.get 3
-      i32.const 9
-      i32.add
-      local.get 4
-      i32.const -1
-      i32.add
-      local.tee 4
-      i32.add
-      local.get 6
-      i32.const 48
-      i32.or
-      i32.store8
-    end
-    local.get 2
-    local.get 1
-    i32.const 1
-    i32.const 0
-    local.get 3
-    i32.const 9
-    i32.add
-    local.get 4
-    i32.add
-    i32.const 39
-    local.get 4
-    i32.sub
-    call $_ZN4core3fmt9Formatter12pad_integral17hcbbcc5e70706fcddE
-    local.set 4
-    local.get 3
-    i32.const 48
-    i32.add
-    global.set $__stack_pointer
-    local.get 4)
-  (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17hd504c8c64d2f0cadE (type 6) (param i32 i32) (result i32)
-    (local i32 i32 i32)
-    global.get $__stack_pointer
-    i32.const 128
-    i32.sub
-    local.tee 2
-    global.set $__stack_pointer
-    local.get 0
-    i32.load
-    local.set 0
-    i32.const 0
-    local.set 3
-    loop  ;; label = @1
-      local.get 2
-      local.get 3
-      i32.add
-      i32.const 127
-      i32.add
-      local.get 0
-      i32.const 15
-      i32.and
-      local.tee 4
-      i32.const 48
-      i32.or
-      local.get 4
-      i32.const 55
-      i32.add
-      local.get 4
-      i32.const 10
-      i32.lt_u
-      select
-      i32.store8
-      local.get 3
-      i32.const -1
-      i32.add
-      local.set 3
-      local.get 0
-      i32.const 16
-      i32.lt_u
-      local.set 4
-      local.get 0
-      i32.const 4
-      i32.shr_u
-      local.set 0
-      local.get 4
-      i32.eqz
-      br_if 0 (;@1;)
-    end
-    block  ;; label = @1
-      local.get 3
-      i32.const 128
-      i32.add
-      local.tee 0
-      i32.const 129
-      i32.lt_u
-      br_if 0 (;@1;)
-      local.get 0
-      i32.const 128
-      i32.const 1051584
-      call $_ZN4core5slice5index26slice_start_index_len_fail17hdf8c0aea852237a1E
-      unreachable
-    end
-    local.get 1
-    i32.const 1
-    i32.const 1051600
-    i32.const 2
-    local.get 2
-    local.get 3
-    i32.add
-    i32.const 128
-    i32.add
-    i32.const 0
-    local.get 3
-    i32.sub
-    call $_ZN4core3fmt9Formatter12pad_integral17hcbbcc5e70706fcddE
-    local.set 0
-    local.get 2
-    i32.const 128
-    i32.add
-    global.set $__stack_pointer
-    local.get 0)
-  (func $_ZN17compiler_builtins3mem6memcpy17he2d289fa2eb42ef2E (type 5) (param i32 i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        local.get 2
-        i32.const 16
-        i32.ge_u
-        br_if 0 (;@2;)
-        local.get 0
-        local.set 3
-        br 1 (;@1;)
-      end
-      local.get 0
-      i32.const 0
-      local.get 0
-      i32.sub
-      i32.const 3
-      i32.and
-      local.tee 4
-      i32.add
-      local.set 5
-      block  ;; label = @2
-        local.get 4
-        i32.eqz
-        br_if 0 (;@2;)
-        local.get 0
-        local.set 3
-        local.get 1
-        local.set 6
-        loop  ;; label = @3
-          local.get 3
-          local.get 6
-          i32.load8_u
-          i32.store8
-          local.get 6
-          i32.const 1
-          i32.add
-          local.set 6
-          local.get 3
-          i32.const 1
-          i32.add
-          local.tee 3
-          local.get 5
-          i32.lt_u
-          br_if 0 (;@3;)
-        end
-      end
-      local.get 5
-      local.get 2
-      local.get 4
-      i32.sub
-      local.tee 7
-      i32.const -4
-      i32.and
-      local.tee 8
-      i32.add
-      local.set 3
-      block  ;; label = @2
-        block  ;; label = @3
-          local.get 1
-          local.get 4
-          i32.add
-          local.tee 9
-          i32.const 3
-          i32.and
-          i32.eqz
-          br_if 0 (;@3;)
-          local.get 8
-          i32.const 1
-          i32.lt_s
-          br_if 1 (;@2;)
-          local.get 9
-          i32.const 3
-          i32.shl
-          local.tee 6
-          i32.const 24
-          i32.and
-          local.set 2
-          local.get 9
-          i32.const -4
-          i32.and
-          local.tee 10
-          i32.const 4
-          i32.add
-          local.set 1
-          i32.const 0
-          local.get 6
-          i32.sub
-          i32.const 24
-          i32.and
-          local.set 4
-          local.get 10
-          i32.load
-          local.set 6
-          loop  ;; label = @4
-            local.get 5
-            local.get 6
-            local.get 2
-            i32.shr_u
-            local.get 1
-            i32.load
-            local.tee 6
-            local.get 4
-            i32.shl
-            i32.or
-            i32.store
-            local.get 1
-            i32.const 4
-            i32.add
-            local.set 1
-            local.get 5
-            i32.const 4
-            i32.add
-            local.tee 5
-            local.get 3
-            i32.lt_u
-            br_if 0 (;@4;)
-            br 2 (;@2;)
-          end
-        end
-        local.get 8
-        i32.const 1
-        i32.lt_s
-        br_if 0 (;@2;)
-        local.get 9
-        local.set 1
-        loop  ;; label = @3
-          local.get 5
-          local.get 1
-          i32.load
-          i32.store
-          local.get 1
-          i32.const 4
-          i32.add
-          local.set 1
-          local.get 5
-          i32.const 4
-          i32.add
-          local.tee 5
-          local.get 3
-          i32.lt_u
-          br_if 0 (;@3;)
-        end
-      end
-      local.get 7
-      i32.const 3
-      i32.and
-      local.set 2
-      local.get 9
-      local.get 8
-      i32.add
-      local.set 1
-    end
-    block  ;; label = @1
-      local.get 2
-      i32.eqz
-      br_if 0 (;@1;)
-      local.get 3
-      local.get 2
-      i32.add
-      local.set 5
-      loop  ;; label = @2
-        local.get 3
-        local.get 1
-        i32.load8_u
-        i32.store8
-        local.get 1
-        i32.const 1
-        i32.add
-        local.set 1
-        local.get 3
-        i32.const 1
-        i32.add
-        local.tee 3
-        local.get 5
-        i32.lt_u
-        br_if 0 (;@2;)
-      end
-    end
-    local.get 0)
-  (func $_ZN17compiler_builtins3mem7memmove17h269e2e7a3fe7eb2aE (type 5) (param i32 i32 i32) (result i32)
-    (local i32 i32 i32 i32 i32 i32 i32 i32)
-    block  ;; label = @1
-      block  ;; label = @2
-        block  ;; label = @3
-          block  ;; label = @4
-            local.get 0
-            local.get 1
-            i32.sub
-            local.get 2
-            i32.ge_u
-            br_if 0 (;@4;)
-            local.get 1
-            local.get 2
-            i32.add
-            local.set 3
-            local.get 0
-            local.get 2
-            i32.add
-            local.set 4
-            block  ;; label = @5
-              local.get 2
-              i32.const 16
-              i32.ge_u
-              br_if 0 (;@5;)
-              local.get 0
-              local.set 5
-              br 3 (;@2;)
-            end
-            local.get 4
-            i32.const -4
-            i32.and
-            local.set 5
-            i32.const 0
-            local.get 4
-            i32.const 3
-            i32.and
-            local.tee 6
-            i32.sub
-            local.set 7
-            block  ;; label = @5
-              local.get 6
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 1
-              local.get 2
-              i32.add
-              i32.const -1
-              i32.add
-              local.set 8
-              loop  ;; label = @6
-                local.get 4
-                i32.const -1
-                i32.add
-                local.tee 4
-                local.get 8
-                i32.load8_u
-                i32.store8
-                local.get 8
-                i32.const -1
-                i32.add
-                local.set 8
-                local.get 5
-                local.get 4
-                i32.lt_u
-                br_if 0 (;@6;)
-              end
-            end
-            local.get 5
-            local.get 2
-            local.get 6
-            i32.sub
-            local.tee 9
-            i32.const -4
-            i32.and
-            local.tee 6
-            i32.sub
-            local.set 4
-            block  ;; label = @5
-              local.get 3
-              local.get 7
-              i32.add
-              local.tee 7
-              i32.const 3
-              i32.and
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 6
-              i32.const 1
-              i32.lt_s
-              br_if 2 (;@3;)
-              local.get 7
-              i32.const 3
-              i32.shl
-              local.tee 8
-              i32.const 24
-              i32.and
-              local.set 2
-              local.get 7
-              i32.const -4
-              i32.and
-              local.tee 10
-              i32.const -4
-              i32.add
-              local.set 1
-              i32.const 0
-              local.get 8
-              i32.sub
-              i32.const 24
-              i32.and
-              local.set 3
-              local.get 10
-              i32.load
-              local.set 8
-              loop  ;; label = @6
-                local.get 5
-                i32.const -4
-                i32.add
-                local.tee 5
-                local.get 8
-                local.get 3
-                i32.shl
-                local.get 1
-                i32.load
-                local.tee 8
-                local.get 2
-                i32.shr_u
-                i32.or
-                i32.store
-                local.get 1
-                i32.const -4
-                i32.add
-                local.set 1
-                local.get 4
-                local.get 5
-                i32.lt_u
-                br_if 0 (;@6;)
-                br 3 (;@3;)
-              end
-            end
-            local.get 6
-            i32.const 1
-            i32.lt_s
-            br_if 1 (;@3;)
-            local.get 9
-            local.get 1
-            i32.add
-            i32.const -4
-            i32.add
-            local.set 1
-            loop  ;; label = @5
-              local.get 5
-              i32.const -4
-              i32.add
-              local.tee 5
-              local.get 1
-              i32.load
-              i32.store
-              local.get 1
-              i32.const -4
-              i32.add
-              local.set 1
-              local.get 4
-              local.get 5
-              i32.lt_u
-              br_if 0 (;@5;)
-              br 2 (;@3;)
-            end
-          end
-          block  ;; label = @4
-            block  ;; label = @5
-              local.get 2
-              i32.const 16
-              i32.ge_u
-              br_if 0 (;@5;)
-              local.get 0
-              local.set 4
-              br 1 (;@4;)
-            end
-            local.get 0
-            i32.const 0
-            local.get 0
-            i32.sub
-            i32.const 3
-            i32.and
-            local.tee 3
-            i32.add
-            local.set 5
-            block  ;; label = @5
-              local.get 3
-              i32.eqz
-              br_if 0 (;@5;)
-              local.get 0
-              local.set 4
-              local.get 1
-              local.set 8
-              loop  ;; label = @6
-                local.get 4
-                local.get 8
-                i32.load8_u
-                i32.store8
-                local.get 8
-                i32.const 1
-                i32.add
-                local.set 8
-                local.get 4
-                i32.const 1
-                i32.add
-                local.tee 4
-                local.get 5
-                i32.lt_u
-                br_if 0 (;@6;)
-              end
-            end
-            local.get 5
-            local.get 2
-            local.get 3
-            i32.sub
-            local.tee 9
-            i32.const -4
-            i32.and
-            local.tee 7
-            i32.add
-            local.set 4
-            block  ;; label = @5
-              block  ;; label = @6
-                local.get 1
-                local.get 3
-                i32.add
-                local.tee 6
-                i32.const 3
-                i32.and
-                i32.eqz
-                br_if 0 (;@6;)
-                local.get 7
-                i32.const 1
-                i32.lt_s
-                br_if 1 (;@5;)
-                local.get 6
-                i32.const 3
-                i32.shl
-                local.tee 8
-                i32.const 24
-                i32.and
-                local.set 2
-                local.get 6
-                i32.const -4
-                i32.and
-                local.tee 10
-                i32.const 4
-                i32.add
-                local.set 1
-                i32.const 0
-                local.get 8
-                i32.sub
-                i32.const 24
-                i32.and
-                local.set 3
-                local.get 10
-                i32.load
-                local.set 8
-                loop  ;; label = @7
-                  local.get 5
-                  local.get 8
-                  local.get 2
-                  i32.shr_u
-                  local.get 1
-                  i32.load
-                  local.tee 8
-                  local.get 3
-                  i32.shl
-                  i32.or
-                  i32.store
-                  local.get 1
-                  i32.const 4
-                  i32.add
-                  local.set 1
-                  local.get 5
-                  i32.const 4
-                  i32.add
-                  local.tee 5
-                  local.get 4
-                  i32.lt_u
-                  br_if 0 (;@7;)
-                  br 2 (;@5;)
-                end
-              end
-              local.get 7
-              i32.const 1
-              i32.lt_s
-              br_if 0 (;@5;)
-              local.get 6
-              local.set 1
-              loop  ;; label = @6
-                local.get 5
-                local.get 1
-                i32.load
-                i32.store
-                local.get 1
-                i32.const 4
-                i32.add
-                local.set 1
-                local.get 5
-                i32.const 4
-                i32.add
-                local.tee 5
-                local.get 4
-                i32.lt_u
-                br_if 0 (;@6;)
-              end
-            end
-            local.get 9
-            i32.const 3
-            i32.and
-            local.set 2
-            local.get 6
-            local.get 7
-            i32.add
-            local.set 1
-          end
-          local.get 2
-          i32.eqz
-          br_if 2 (;@1;)
-          local.get 4
-          local.get 2
-          i32.add
-          local.set 5
-          loop  ;; label = @4
-            local.get 4
-            local.get 1
-            i32.load8_u
-            i32.store8
-            local.get 1
-            i32.const 1
-            i32.add
-            local.set 1
-            local.get 4
-            i32.const 1
-            i32.add
-            local.tee 4
-            local.get 5
-            i32.lt_u
-            br_if 0 (;@4;)
-            br 3 (;@1;)
-          end
-        end
-        local.get 9
-        i32.const 3
-        i32.and
-        local.tee 1
-        i32.eqz
-        br_if 1 (;@1;)
-        local.get 7
-        i32.const 0
-        local.get 6
-        i32.sub
-        i32.add
-        local.set 3
-        local.get 4
-        local.get 1
-        i32.sub
-        local.set 5
-      end
-      local.get 3
-      i32.const -1
-      i32.add
-      local.set 1
-      loop  ;; label = @2
-        local.get 4
-        i32.const -1
-        i32.add
-        local.tee 4
-        local.get 1
-        i32.load8_u
-        i32.store8
-        local.get 1
-        i32.const -1
-        i32.add
-        local.set 1
-        local.get 5
-        local.get 4
-        i32.lt_u
-        br_if 0 (;@2;)
-      end
-    end
-    local.get 0)
-  (func $_ZN17compiler_builtins3mem6memcmp17h95f992c5648d6561E (type 5) (param i32 i32 i32) (result i32)
-    (local i32 i32 i32)
-    i32.const 0
-    local.set 3
-    block  ;; label = @1
-      local.get 2
-      i32.eqz
-      br_if 0 (;@1;)
-      block  ;; label = @2
-        loop  ;; label = @3
-          local.get 0
-          i32.load8_u
-          local.tee 4
-          local.get 1
-          i32.load8_u
-          local.tee 5
-          i32.ne
-          br_if 1 (;@2;)
-          local.get 0
-          i32.const 1
-          i32.add
-          local.set 0
-          local.get 1
-          i32.const 1
-          i32.add
-          local.set 1
-          local.get 2
-          i32.const -1
-          i32.add
-          local.tee 2
-          i32.eqz
-          br_if 2 (;@1;)
-          br 0 (;@3;)
-        end
-      end
-      local.get 4
-      local.get 5
-      i32.sub
-      local.set 3
-    end
-    local.get 3)
-  (func $memcpy (type 5) (param i32 i32 i32) (result i32)
-    local.get 0
-    local.get 1
-    local.get 2
-    call $_ZN17compiler_builtins3mem6memcpy17he2d289fa2eb42ef2E)
-  (func $memmove (type 5) (param i32 i32 i32) (result i32)
-    local.get 0
-    local.get 1
-    local.get 2
-    call $_ZN17compiler_builtins3mem7memmove17h269e2e7a3fe7eb2aE)
-  (func $memcmp (type 5) (param i32 i32 i32) (result i32)
-    local.get 0
-    local.get 1
-    local.get 2
-    call $_ZN17compiler_builtins3mem6memcmp17h95f992c5648d6561E)
-  (table (;0;) 64 64 funcref)
-  (memory (;0;) 17)
-  (global $__stack_pointer (mut i32) (i32.const 1048576))
-  (global (;1;) i32 (i32.const 1052353))
-  (global (;2;) i32 (i32.const 1052368))
-  (export "memory" (memory 0))
-  (export "ulmDispatchCaller" (func $ulmDispatchCaller))
-  (export "__data_end" (global 1))
-  (export "__heap_base" (global 2))
-  (elem (;0;) (i32.const 1) func $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE $_ZN5bytes5bytes12static_clone17h8ee0bb07f5e580ccE $_ZN5bytes5bytes12owned_to_vec17hf4b7c7dcc83df6d0E $_ZN5bytes5bytes13static_to_mut17h581aa0a2fd8464aeE $_ZN5bytes5bytes16static_is_unique17h6e19e52823949186E $_ZN5bytes5bytes11static_drop17h80d4e6ae9b05ca89E $_ZN4core3ptr47drop_in_place$LT$erc20..ulm..impl_..UlmImpl$GT$17he64bf1bacb8d0b6cE $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$4log317h987612607e9e3762E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$6caller17h6e5bbf9110a580a2E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$16call_data_length17h5a8338a3b18df8f2E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$9call_data17hde8d81abbe4336aeE $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$19get_account_storage17h6b89d1f69d088ff9E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$19set_account_storage17ha7c75946c5f297f3E $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$10set_output17h316dcbd7c3c0529dE $_ZN62_$LT$erc20..ulm..impl_..UlmImpl$u20$as$u20$erc20..ulm..Ulm$GT$11keccak_hash17h3c94106cd859aaaeE $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE.1 $_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h1271070e2ca826daE.2 $_ZN5bytes5bytes12static_clone17h8ee0bb07f5e580ccE.llvm.5932322697774810047 $_ZN5bytes5bytes16static_is_unique17h6e19e52823949186E.llvm.5932322697774810047 $_ZN5bytes5bytes11static_drop17h80d4e6ae9b05ca89E.llvm.5932322697774810047 $_ZN5bytes5bytes21promotable_even_clone17hb745a8cb1d939a17E $_ZN5bytes5bytes22promotable_even_to_vec17h17500ac060bde60fE $_ZN5bytes5bytes22promotable_even_to_mut17h9b26d0f7fc64fa55E $_ZN5bytes5bytes20promotable_is_unique17h020665ac6bee7cfdE $_ZN5bytes5bytes20promotable_even_drop17h1682d63eeecce9a7E $_ZN5bytes5bytes20promotable_odd_clone17hcfb701ad3f082002E $_ZN5bytes5bytes21promotable_odd_to_vec17h5d8ea33109cb924cE $_ZN5bytes5bytes21promotable_odd_to_mut17h95bc9587e8fef346E $_ZN5bytes5bytes19promotable_odd_drop17hd9893b9965f4d03eE $_ZN4core3ptr53drop_in_place$LT$core..alloc..layout..LayoutError$GT$17h61bb72a6737affc4E $_ZN69_$LT$core..alloc..layout..LayoutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h2fd7406d7dcae69dE $_ZN5bytes5bytes12shared_clone17h87a7760eba5d0abeE.llvm.5932322697774810047 $_ZN5bytes5bytes13shared_to_vec17hc3c7c24fa33ba490E.llvm.5932322697774810047 $_ZN5bytes5bytes13shared_to_mut17ha7cdfa5747aa9e90E.llvm.5932322697774810047 $_ZN5bytes5bytes16shared_is_unique17h6b20a183193c4d3aE.llvm.5932322697774810047 $_ZN5bytes5bytes11shared_drop17hf3fb21e2b6b585c5E.llvm.5932322697774810047 $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h85fc646d908d0c7bE $_ZN5bytes9bytes_mut14shared_v_clone17h1f76e68986705f75E $_ZN5bytes9bytes_mut15shared_v_to_vec17he57e9e159f74f9c2E $_ZN5bytes9bytes_mut15shared_v_to_mut17h0a28fea12aa912d6E $_ZN5bytes9bytes_mut18shared_v_is_unique17h089cb643903ffe29E $_ZN5bytes9bytes_mut13shared_v_drop17hcb5bbcb630efea93E $_ZN3std5alloc24default_alloc_error_hook17h9d6d7bb51d97ec4fE $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17he0b9c7b9b779f017E $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h932675f2c687b13fE $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17h36d97d1c4726ee61E $_ZN4core3fmt5Write9write_fmt17h5450563fbb96cb70E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h88d3cb239ded0a8bE $_ZN4core3ptr122drop_in_place$LT$$RF$alloc..boxed..Box$LT$dyn$u20$core..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$17hafb4b80ed40fbfe0E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17heb1b6f3656f479feE $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17h00db27ffc0f86bc9E $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17h25e87be0acf0cba3E $_ZN4core3ptr77drop_in_place$LT$std..panicking..begin_panic_handler..FormatStringPayload$GT$17h0cdb96bb4afb8b69E $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17he725486881b42bbeE $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17ha699b76f30386534E $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17hf58ee1d6076085b1E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h9571516faba776b2E $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h81bacf94bd657e5cE $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17h235ec3ceaa677e72E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h7a9a11a22d9e302cE $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h87ef43d072a4bed1E $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h1c3f1cbd1368fccaE $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h4e5a4609280a40f1E)
-  (data $.rodata (i32.const 1048576) "total_supplyallowancesTransfer(address,address,u256)src/erc20.rs4\00\10\00\0c\00\00\00/\00\00\00\18\00\00\00Approval(address,address,u256)\00\004\00\10\00\0c\00\00\00:\00\00\00\18\00\00\004\00\10\00\0c\00\00\00R\00\00\00,\00\00\004\00\10\00\0c\00\00\00\5c\00\00\00,\00\00\004\00\10\00\0c\00\00\00b\00\00\00.\00\00\00Invalid receiverInvalid senderInsufficient balanceZero addressInvalid spenderInvalid approverInsuficient allowanceValue too large to castAddition overflowSubtraction overflowUnexpected value in subtractionWrong length to decode\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes.rsrange start must not be greater than end:  <= \02\02\10\00*\00\00\00,\02\10\00\04\00\00\00\a8\01\10\00Z\00\00\00\86\01\00\00\09\00\00\00range end out of bounds: \00\00\00P\02\10\00\19\00\00\00,\02\10\00\04\00\00\00\a8\01\10\00Z\00\00\00\8c\01\00\00\09\00\00\00cannot advance past `remaining`: \00\00\00\8c\02\10\00!\00\00\00,\02\10\00\04\00\00\00\a8\01\10\00Z\00\00\00\c7\02\00\00\09\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes_mut.rs\00\00\d0\02\10\00^\00\00\00\81\04\00\00\09\00\00\00\07\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\09\00\00\00\0a\00\00\00\0b\00\00\00\0c\00\00\00\0d\00\00\00\0e\00\00\00\0f\00\00\00Buffer without function signaturedecimals()totalSupply()balanceOf(address)transfer(address,uint256)allowance(address,address)approve(address,uint256)transferFrom(address,address,uint256)mint(address,uint256)Unknown endpointsrc/erc20_dispatcher.rs\00\00K\04\10\00\17\00\00\000\00\00\00(\00\00\00K\04\10\00\17\00\00\00.\00\00\00(\00\00\00K\04\10\00\17\00\00\00,\00\00\00(\00\00\00K\04\10\00\17\00\00\00*\00\00\00(\00\00\00K\04\10\00\17\00\00\00(\00\00\00(\00\00\00K\04\10\00\17\00\00\00&\00\00\00(\00\00\00K\04\10\00\17\00\00\00$\00\00\00(\00\00\00K\04\10\00\17\00\00\00\22\00\00\00!\00\00\00K\04\10\00\17\00\00\00A\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00N\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00[\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00i\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00x\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00\87\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00\96\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00\a6\00\00\00\1f\00\00\00K\04\10\00\17\00\00\00\b4\00\00\00\1f\00\00\00cannot advance past `remaining`:  <= \00\00\00t\05\10\00!\00\00\00\95\05\10\00\04\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes.rs\00\00\ac\05\10\00Z\00\00\00\c7\02\00\00\09\00\00\00src/storage.rs\00\00\18\06\10\00\0e\00\00\00:\00\00\001\00\00\00\18\06\10\00\0e\00\00\00>\00\00\008\00\00\00\18\06\10\00\0e\00\00\00g\00\00\00;\00\00\00call_data: buffer too small.LayoutError\00\12\00\00\00\03\00\00\00\04\00\00\00\13\00\00\00\14\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes.rs <= split_off out of bounds: \00\f2\06\10\00\19\00\00\00\ee\06\10\00\04\00\00\00\94\06\10\00Z\00\00\00\fc\01\00\00\09\00\00\00\15\00\00\00\16\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\1a\00\00\00\1b\00\00\00\1c\00\00\00\18\00\00\00\1d\00\00\00called `Result::unwrap()` on an `Err` value\00\1e\00\00\00\00\00\00\00\01\00\00\00\1f\00\00\00\94\06\10\00Z\00\00\00D\05\00\002\00\00\00\94\06\10\00Z\00\00\00R\05\00\00I\00\00\00 \00\00\00!\00\00\00\22\00\00\00#\00\00\00$\00\00\00advance out of bounds: the len is  but advancing by \c4\07\10\00\22\00\00\00\e6\07\10\00\12\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/lib.rs\08\08\10\00X\00\00\00\8a\00\00\00\05\00\00\00/home/virgil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.9.0/src/bytes_mut.rsoverflow\00\00p\08\10\00^\00\00\00\d4\02\00\008\00\00\00p\08\10\00^\00\00\00\aa\02\00\00\15\00\00\00&\00\00\00'\00\00\00(\00\00\00)\00\00\00*\00\00\00,\00\00\00\0c\00\00\00\04\00\00\00-\00\00\00.\00\00\00/\00\00\00/rust/deps/dlmalloc-0.2.6/src/dlmalloc.rsassertion failed: psize >= size + min_overhead\00$\09\10\00)\00\00\00\a8\04\00\00\09\00\00\00assertion failed: psize <= size + max_overhead\00\00$\09\10\00)\00\00\00\ae\04\00\00\0d\00\00\00memory allocation of  bytes failed\00\00\cc\09\10\00\15\00\00\00\e1\09\10\00\0d\00\00\00library/std/src/alloc.rs\00\0a\10\00\18\00\00\00b\01\00\00\09\00\00\00library/std/src/panicking.rs(\0a\10\00\1c\00\00\00\8b\02\00\00\1e\00\00\00,\00\00\00\0c\00\00\00\04\00\00\000\00\00\001\00\00\00\08\00\00\00\04\00\00\002\00\00\001\00\00\00\08\00\00\00\04\00\00\003\00\00\004\00\00\005\00\00\00\10\00\00\00\04\00\00\006\00\00\007\00\00\008\00\00\00\00\00\00\00\01\00\00\009\00\00\00capacity overflow\00\00\00\ac\0a\10\00\11\00\00\00library/alloc/src/raw_vec.rs\c8\0a\10\00\1c\00\00\00\19\00\00\00\05\00\00\00BorrowErrorBorrowMutErroralready borrowed: \00\0d\0b\10\00\12\00\00\00already mutably borrowed: \00\00(\0b\10\00\1a\00\00\00\01\00\00\00\00\00\00\00called `Option::unwrap()` on a `None` value\00>\00\00\00\00\00\00\00\01\00\00\00?\00\00\00: \00\00\01\00\00\00\00\00\00\00\90\0b\10\00\02\00\00\00library/core/src/fmt/num.rs\00\a4\0b\10\00\1b\00\00\00i\00\00\00\17\00\00\000x00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899range start index  out of range for slice of length \00\00\9a\0c\10\00\12\00\00\00\ac\0c\10\00\22\00\00\00"))

From 4e63e86a62cdd078969f92474c06cbbdf787c0e5 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 18:02:30 -0500
Subject: [PATCH 13/21] remove unfinished script

---
 scripts/ulm_client.py | 227 ------------------------------------------
 1 file changed, 227 deletions(-)
 delete mode 100644 scripts/ulm_client.py

diff --git a/scripts/ulm_client.py b/scripts/ulm_client.py
deleted file mode 100644
index 4ec91804f..000000000
--- a/scripts/ulm_client.py
+++ /dev/null
@@ -1,227 +0,0 @@
-import os
-import unittest
-
-from eth_abi import decode, encode
-from web3 import Web3
-from web3.middleware import SignAndSendRawMiddlewareBuilder
-
-class ulm_client:
-    """Python interface to ULM"""
-
-    def setUp(self):
-        """Set up test environment with web3 connection and account details"""
-        # Initialize web3 connection
-        self.rpc_url = os.getenv("RPC_URL")
-        self.web3 = Web3(Web3.HTTPProvider(self.rpc_url))
-
-        # Set up test account
-        self.test_account_private_key = os.getenv("TEST_ACCOUNT_PRIVATE_KEY")
-        self.test_account = self.web3.eth.account.from_key(
-            self.test_account_private_key
-        )
-        self.test_account_address = self.test_account.address
-
-        # Get contract addresses from environment
-        self.registry_address = os.getenv("REGISTRY_ADDRESS")
-        self.wbtc_address = os.getenv("WBTC_ADDRESS")
-        self.pi2_address = os.getenv("PI2_ADDRESS")
-        self.usdc_address = os.getenv("USDC_ADDRESS")
-        self.weth_address = os.getenv("WETH_ADDRESS")
-
-        # Add middleware to automatically sign transactions
-        self.web3.middleware_onion.inject(
-            SignAndSendRawMiddlewareBuilder.build(self.test_account), layer=0
-        )
-
-    def function_selector(self, function_signature):
-        """Calculate function selector from signature
-
-        Args:
-            function_signature: String of function name and parameters
-
-        Returns:
-            bytes: First 4 bytes of keccak hash of function signature
-        """
-        return self.web3.keccak(text=function_signature)[:4]
-
-    def mint_token(self, token_address):
-        # Mint
-        mint_selector = self.function_selector("mint(address,uint256)")
-        mint_data = encode(
-            ["address", "uint256"],
-            [self.test_account_address, 1000000000000000000000000],
-        )  # 1,000,000 tokens
-        mint_tx = self.web3.eth.send_transaction(
-            {
-                "from": self.test_account_address,
-                "to": token_address,
-                "data": mint_selector + mint_data,
-            }
-        )
-        mint_tx_receipt = self.web3.eth.wait_for_transaction_receipt(mint_tx)
-        self.assertEqual(mint_tx_receipt["status"], 1)
-
-        # Verify balance
-        get_token_balance_selector = self.function_selector("balanceOf(address)")
-        get_token_balance_data = encode(["address"], [self.test_account_address])
-        get_token_balance_result = self.web3.eth.call(
-            {
-                "to": token_address,
-                "data": get_token_balance_selector + get_token_balance_data,
-            }
-        )
-        token_a_balance = int.from_bytes(get_token_balance_result, "big")
-
-        self.assertEqual(token_a_balance, 1000000000000000000000000)
-
-    def approve_token(self, token_address):
-        """Test approving spending of tokens"""
-        # Approve token A
-        approve_selector = self.function_selector("approve(address,uint256)")
-        approve_data = encode(
-            ["address", "uint256"], [token_address, 500000000000000000000000]
-        )  # 500,000 tokens
-        approve_token_tx = self.web3.eth.send_transaction(
-            {
-                "from": self.test_account_address,
-                "to": token_address,
-                "data": approve_selector + approve_data,
-            }
-        )
-        approve_token_tx_receipt = self.web3.eth.wait_for_transaction_receipt(
-            approve_token_tx
-        )
-        self.assertEqual(approve_token_tx_receipt["status"], 1)
-
-        # Verify token A allowance
-        allowance_selector = self.function_selector("allowance(address,address)")
-        allowance_token_data = encode(
-            ["address", "address"], [self.test_account_address, token_address]
-        )
-        allowance_token_result = self.web3.eth.call(
-            {
-                "to": token_address,
-                "data": allowance_selector + allowance_token_data,
-            }
-        )
-        token_allowance = int.from_bytes(allowance_token_result, "big")
-        self.assertEqual(token_allowance, 500000000000000000000000)
-
-    def check_token_identity(
-        self, token_address, expected_name, expected_decimals, expected_symbol
-    ):
-        """Read token identity"""
-        token_identity_selector = self.function_selector("name()")
-        token_identity_data = encode([], [])
-        token_identity_result = self.web3.eth.call(
-            {
-                "to": token_address,
-                "data": token_identity_selector + token_identity_data,
-            }
-        )
-
-        name = decode(["string"], token_identity_result)[0]
-        self.assertEqual(name, expected_name)
-
-        token_identity_selector = self.function_selector("decimals()")
-        token_identity_data = encode([], [])
-        token_identity_result = self.web3.eth.call(
-            {
-                "to": token_address,
-                "data": token_identity_selector + token_identity_data,
-            }
-        )
-        self.assertEqual(
-            int.from_bytes(token_identity_result, "big"), expected_decimals
-        )
-
-        token_identity_selector = self.function_selector("symbol()")
-        token_identity_data = encode([], [])
-        token_identity_result = self.web3.eth.call(
-            {
-                "to": token_address,
-                "data": token_identity_selector + token_identity_data,
-            }
-        )
-
-        symbol = decode(["string"], token_identity_result)[0]
-        self.assertEqual(symbol, expected_symbol)
-
-    def test_02_mint_wbtc(self):
-        """Test minting WBTC (Rust) to test account"""
-        self.mint_token(self.wbtc_address)
-
-    def test_03_mint_pi2(self):
-        """Test minting PI2 (Simple) to test account"""
-        self.mint_token(self.pi2_address)
-
-    def test_04_mint_usdc(self):
-        """Test minting USDC (Solidity) to test account"""
-        self.mint_token(self.usdc_address)
-
-    def test_05_mint_weth(self):
-        """Test minting WETH (EVM) to test account"""
-        # Mint
-        mint_selector = self.function_selector("deposit()")
-        mint_data = encode([], [])
-        mint_tx = self.web3.eth.send_transaction(
-            {
-                "from": self.test_account_address,
-                "to": self.weth_address,
-                "data": mint_selector + mint_data,
-                "value": 10000000000000000,
-            }
-        )
-        mint_tx_receipt = self.web3.eth.wait_for_transaction_receipt(mint_tx)
-        self.assertEqual(mint_tx_receipt["status"], 1)
-
-        # Verify balance
-        get_token_balance_selector = self.function_selector("balanceOf(address)")
-        get_token_balance_data = encode(["address"], [self.test_account_address])
-        get_token_balance_result = self.web3.eth.call(
-            {
-                "to": self.weth_address,
-                "data": get_token_balance_selector + get_token_balance_data,
-            }
-        )
-        token_a_balance = int.from_bytes(get_token_balance_result, "big")
-
-        self.assertEqual(token_a_balance, 10000000000000000)
-
-        get_eth_balance_result = self.web3.eth.get_balance(self.weth_address)
-        self.assertEqual(get_eth_balance_result, 10000000000000000)
-
-    def test_06_approve_wbtc(self):
-        """Test approving spending of WBTC (Rust)"""
-        self.approve_token(self.wbtc_address)
-
-    def test_07_approve_pi2(self):
-        """Test approving spending of PI2 (Simple)"""
-        self.approve_token(self.pi2_address)
-
-    def test_08_approve_usdc(self):
-        """Test approving spending of USDC (Solidity)"""
-        self.approve_token(self.usdc_address)
-
-    def test_09_approve_weth(self):
-        """Test approving spending of WETH (EVM)"""
-        self.approve_token(self.weth_address)
-
-    def test_10_wbtc_identity(self):
-        """Test WBTC (Rust) identity"""
-        self.check_token_identity(self.wbtc_address, "Wrapped Bitcoin", 18, "WBTC")
-
-    def test_11_pi2_identity(self):
-        """Test PI2 (Simple) identity"""
-        self.check_token_identity(self.pi2_address, "Pi Squared", 18, "PI2")
-
-    def test_12_usdc_identity(self):
-        """Test USDC (Solidity) identity"""
-        self.check_token_identity(self.usdc_address, "USD Coin", 18, "USDC")
-
-    def test_13_weth_identity(self):
-        """Test WETH (EVM) identity"""
-        self.check_token_identity(self.weth_address, "Wrapped Ethereum", 18, "WETH")
-
-if __name__ == "__main__":
-    pass

From 16ec65cae3354226f48ac80f5bc6dd102738cc98 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 18:46:51 -0500
Subject: [PATCH 14/21] remove redundant changes

---
 Makefile | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/Makefile b/Makefile
index 031dc232a..ac6d3b988 100644
--- a/Makefile
+++ b/Makefile
@@ -71,9 +71,6 @@ ULM_SRC_HOOKS=$(shell find "$(ULM_CLONE_DIR)/kllvm" -type f -a '(' -name '*.cpp'
 
 ULM_GETH_TARGET=$(ULM_BUILD_DIR)/geth
 
-ULM_SRC=$(wildcard $(ULM_CLONE_DIR)/**/*.cpp $(ULM_CLONE_DIR)/**/*.go $(ULM_CLONE_DIR)/**/*.h)
-# $(shell find rust-semantics/ -type f -a '(' -name '*.md' -or -name '*.k' ')')
-
 ### ULM Crypto Plugin
 
 $(ULM_KRYPTO_DIR)/.git:

From 49f6a09a2bd8c95e2649e51b8d6f4d16ed1b5f17 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 19:19:22 -0500
Subject: [PATCH 15/21] improve deploy contract script

---
 pykwasm/src/pykwasm/deploy_contract.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/pykwasm/src/pykwasm/deploy_contract.py b/pykwasm/src/pykwasm/deploy_contract.py
index e32216e8a..ee18ca14f 100644
--- a/pykwasm/src/pykwasm/deploy_contract.py
+++ b/pykwasm/src/pykwasm/deploy_contract.py
@@ -2,12 +2,13 @@
 import sys
 from pathlib import Path
 
+from eth_account import Account
 from web3 import Web3
 from web3.middleware import SignAndSendRawMiddlewareBuilder
 
 
 def deploy_contract(node_url, sender, contract_hex):
-    w3 = Web3(Web3.HTTPProvider('http://localhost:8545'))
+    w3 = Web3(Web3.HTTPProvider(node_url))
     if sender is None:
         sender = w3.eth.account.create()
     # fund sender acct
@@ -28,7 +29,7 @@ def deploy_contract(node_url, sender, contract_hex):
     deploy_tx_receipt = w3.eth.wait_for_transaction_receipt(deploy_tx_hash)
     return fund_tx_receipt, deploy_tx_receipt
 
-USAGE='deploy_contract.py <contract_file> [node_url] [sender]'
+USAGE='deploy_contract.py <contract_file> [node_url] [sender_private_key_file]'
 
 def main():
     args = sys.argv[1:]
@@ -38,7 +39,10 @@ def main():
     contract_hex = Path(args[0]).read_text().strip()
     node_url = 'http://localhost:8545'
     sender = None
-    if len(args) > 2: node_url = args[1]
+    if len(args) > 1: node_url = args[1]
+    if len(args) > 2:
+        pk = bytes.fromhex(Path(args[2]).read_text().strip().removeprefix('0x'))
+        sender = Account.from_key(pk)
     fund_receipt, deploy_receipt = deploy_contract(node_url, sender, contract_hex)
     print(fund_receipt)
     print(deploy_receipt)

From b2433fd11ab5531830d9e7c24e8c783e211f2745 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 19:21:19 -0500
Subject: [PATCH 16/21] apply formatter

---
 pykwasm/src/pykwasm/deploy_contract.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/pykwasm/src/pykwasm/deploy_contract.py b/pykwasm/src/pykwasm/deploy_contract.py
index ee18ca14f..a9592ed89 100644
--- a/pykwasm/src/pykwasm/deploy_contract.py
+++ b/pykwasm/src/pykwasm/deploy_contract.py
@@ -12,7 +12,9 @@ def deploy_contract(node_url, sender, contract_hex):
     if sender is None:
         sender = w3.eth.account.create()
     # fund sender acct
-    fund_tx_hash = w3.eth.send_transaction({'from': w3.eth.accounts[0], 'to': sender.address, 'value': 1000000000000000000})
+    fund_tx_hash = w3.eth.send_transaction(
+        {'from': w3.eth.accounts[0], 'to': sender.address, 'value': 1000000000000000000}
+    )
     fund_tx_receipt = w3.eth.wait_for_transaction_receipt(fund_tx_hash)
     w3.middleware_onion.inject(SignAndSendRawMiddlewareBuilder.build(sender), layer=0)
     # deploy txn
@@ -29,7 +31,9 @@ def deploy_contract(node_url, sender, contract_hex):
     deploy_tx_receipt = w3.eth.wait_for_transaction_receipt(deploy_tx_hash)
     return fund_tx_receipt, deploy_tx_receipt
 
-USAGE='deploy_contract.py <contract_file> [node_url] [sender_private_key_file]'
+
+USAGE = 'deploy_contract.py <contract_file> [node_url] [sender_private_key_file]'
+
 
 def main():
     args = sys.argv[1:]
@@ -39,7 +43,8 @@ def main():
     contract_hex = Path(args[0]).read_text().strip()
     node_url = 'http://localhost:8545'
     sender = None
-    if len(args) > 1: node_url = args[1]
+    if len(args) > 1:
+        node_url = args[1]
     if len(args) > 2:
         pk = bytes.fromhex(Path(args[2]).read_text().strip().removeprefix('0x'))
         sender = Account.from_key(pk)
@@ -47,5 +52,6 @@ def main():
     print(fund_receipt)
     print(deploy_receipt)
 
+
 if __name__ == '__main__':
     main()

From 02f10156bf6e4663a095a2f24a08c73b3b2718cc Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 19:22:52 -0500
Subject: [PATCH 17/21] remove deprecated deploy contract script

---
 scripts/deploy_contract.sh | 78 --------------------------------------
 1 file changed, 78 deletions(-)
 delete mode 100755 scripts/deploy_contract.sh

diff --git a/scripts/deploy_contract.sh b/scripts/deploy_contract.sh
deleted file mode 100755
index e285b7b60..000000000
--- a/scripts/deploy_contract.sh
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/bin/bash
-# Example usage: ./deploy_contract.sh --contract-hex-path ./misc/registry.hex --private-key-path ./misc/private_key.txt --http-provider-url http://localhost:8545
-
-set -x
-
-# Function to display usage
-usage() {
-    echo "Usage: $0 --contract-hex-path <path_to_contract_hex> --private-key-path <path_to_private_key> [--http-provider-url <http_provider_url>]"
-    exit 1
-}
-
-# Default HTTP provider URL
-HTTP_PROVIDER="http://localhost:8545"
-
-# Parse named arguments
-while [[ "$#" -gt 0 ]]; do
-    case $1 in
-        --contract-hex-path) CONTRACT_HEX_PATH="$2"; shift ;;
-        --private-key-path) PRIVATE_KEY_PATH="$2"; shift ;;
-        --http-provider-url) HTTP_PROVIDER="$2"; shift ;;
-        *) usage ;;
-    esac
-    shift
-done
-
-if [ -z "$CONTRACT_HEX_PATH" ]; then
-    usage
-fi
-
-# Read the private key from the file
-PRIVATE_KEY=$(cat "$PRIVATE_KEY_PATH")
-
-# Get the block number at the start of the script
-BLOCK_NUMBER=$(cast block-number --rpc-url $HTTP_PROVIDER)
-echo "Block number at start of script: $BLOCK_NUMBER"
-
-# Get the sender address using the private key
-SENDER_ADDRESS=$(cast wallet address --private-key $PRIVATE_KEY)
-echo "Sender address: $SENDER_ADDRESS"
-
-# Get the balance of the sender address
-BALANCE=$(cast balance $SENDER_ADDRESS --rpc-url $HTTP_PROVIDER)
-echo "Balance at start of script: $BALANCE"
-
-# Read or compile the contract code
-if [ -n "$CONTRACT_HEX_PATH" ]; then
-    # Read the contract code from the hex file
-    CONTRACT_CODE=$(cat "$CONTRACT_HEX_PATH" | tr -d '\n')
-fi
-
-# Prepend 0x to the contract code
-CONTRACT_CODE="0x$CONTRACT_CODE"
-
-# Deploy the contract
-RECEIPT=$(cast send --private-key $PRIVATE_KEY --rpc-url $HTTP_PROVIDER --create $CONTRACT_CODE)
-TX_HASH=$(echo "$RECEIPT" | grep 'transactionHash' | awk '{print $2}')
-CONTRACT_ADDRESS=$(echo "$RECEIPT" | grep 'contractAddress' | awk '{print $2}')
-echo "Transaction hash: $TX_HASH"
-
-# Wait for the transaction to be mined
-while true; do
-    RECEIPT=$(cast tx $TX_HASH --rpc-url $HTTP_PROVIDER)
-    if [ "$RECEIPT" != "null" ]; then
-        break
-    fi
-    sleep 1
-done
-
-# Get the block number at the end of the script
-BLOCK_NUMBER=$(cast block-number --rpc-url $HTTP_PROVIDER)
-echo "Block number at end of script: $BLOCK_NUMBER"
-
-# Get the balance of the sender address
-BALANCE=$(cast balance $SENDER_ADDRESS --rpc-url $HTTP_PROVIDER)
-echo "Balance at end of script: $BALANCE"
-
-# Echo the contract address
-echo "Contract address: $CONTRACT_ADDRESS"

From f138c343c4d6e77e61b2da99c4b565705a667093 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 19:24:49 -0500
Subject: [PATCH 18/21] add arity check

---
 scripts/compile-contract | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/compile-contract b/scripts/compile-contract
index 81a11feff..284b71e0b 100755
--- a/scripts/compile-contract
+++ b/scripts/compile-contract
@@ -1,4 +1,5 @@
 #!/bin/bash
 SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
 
+[ $# -ne 1 ] && { echo "usage: compile-contract <contract-kore-file>"; exit 1; }
 LD_LIBRARY_PATH="$SCRIPT_DIR/../build/lib:$LD_LIBRARY_PATH" "$SCRIPT_DIR/../build/ulm-contract-compiler" $1

From 5adc8b297ab7bfc1ed2b75d2158b3784fceba3fc Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 19:32:43 -0500
Subject: [PATCH 19/21] update rust build

---
 tests/ulm/erc20/erc20.wast      | 12433 ++++++++++++++++++++++++++++++
 tests/ulm/erc20/rust/Cargo.toml |    21 +-
 tests/ulm/erc20/rust/README.md  |     8 +
 tests/ulm/erc20/rust/build.sh   |     6 +
 4 files changed, 12462 insertions(+), 6 deletions(-)
 create mode 100644 tests/ulm/erc20/rust/README.md
 create mode 100755 tests/ulm/erc20/rust/build.sh

diff --git a/tests/ulm/erc20/erc20.wast b/tests/ulm/erc20/erc20.wast
index e69de29bb..1fe079c2f 100644
--- a/tests/ulm/erc20/erc20.wast
+++ b/tests/ulm/erc20/erc20.wast
@@ -0,0 +1,12433 @@
+(module
+  (type (;0;) (func (param i32 i32 i32)))
+  (type (;1;) (func (param i32)))
+  (type (;2;) (func (param i32 i32 i32 i32)))
+  (type (;3;) (func (param i32 i32)))
+  (type (;4;) (func (param i32 i32 i32 i32 i32 i32)))
+  (type (;5;) (func (result i32)))
+  (type (;6;) (func (param i32 i32 i32 i32 i32)))
+  (type (;7;) (func (param i32 i32 i32 i32 i32) (result i32)))
+  (type (;8;) (func (param i32) (result i32)))
+  (type (;9;) (func (param i32 i64)))
+  (type (;10;) (func (param i32 i32 i32 i32 i32 i32 i32)))
+  (type (;11;) (func (param i32 i32 i32) (result i32)))
+  (type (;12;) (func))
+  (import "env" "keccakHash" (func (;0;) (type 0)))
+  (import "env" "CallDataLength" (func (;1;) (type 5)))
+  (import "env" "setOutput" (func (;2;) (type 3)))
+  (import "env" "Caller" (func (;3;) (type 1)))
+  (import "env" "fail" (func (;4;) (type 3)))
+  (import "env" "Log3" (func (;5;) (type 6)))
+  (import "env" "CallData" (func (;6;) (type 1)))
+  (import "env" "GetAccountStorage" (func (;7;) (type 3)))
+  (import "env" "SetAccountStorage" (func (;8;) (type 3)))
+  (func (;9;) (type 1) (param i32)
+    (local i32 i32 i32)
+    local.get 0
+    i32.load offset=4
+    local.set 1
+    block  ;; label = @1
+      local.get 0
+      i32.load offset=8
+      local.tee 2
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 1
+      i32.const 16
+      i32.add
+      local.set 3
+      loop  ;; label = @2
+        local.get 3
+        local.get 3
+        i32.const -8
+        i32.add
+        i32.load
+        local.get 3
+        i32.const -4
+        i32.add
+        i32.load
+        local.get 3
+        i32.const -12
+        i32.add
+        i32.load
+        i32.load offset=16
+        call_indirect (type 0)
+        local.get 3
+        i32.const 20
+        i32.add
+        local.set 3
+        local.get 2
+        i32.const -1
+        i32.add
+        local.tee 2
+        br_if 0 (;@2;)
+      end
+    end
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.tee 3
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 1
+      local.get 3
+      i32.const 20
+      i32.mul
+      i32.const 4
+      call 10
+    end)
+  (func (;10;) (type 0) (param i32 i32 i32)
+    (local i32 i32)
+    block  ;; label = @1
+      local.get 0
+      i32.const -4
+      i32.add
+      i32.load
+      local.tee 3
+      i32.const -8
+      i32.and
+      local.tee 4
+      i32.const 4
+      i32.const 8
+      local.get 3
+      i32.const 3
+      i32.and
+      local.tee 3
+      select
+      local.get 1
+      i32.add
+      i32.lt_u
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 3
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 4
+        local.get 1
+        i32.const 39
+        i32.add
+        i32.gt_u
+        br_if 1 (;@1;)
+      end
+      local.get 0
+      call 63
+      return
+    end
+    unreachable)
+  (func (;11;) (type 3) (param i32 i32)
+    (local i32 i32 i32)
+    local.get 1
+    i32.load offset=8
+    local.tee 2
+    i32.const 4
+    local.get 2
+    i32.const 4
+    i32.gt_u
+    select
+    local.set 3
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      local.tee 4
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 3
+      i32.const -1
+      i32.add
+      i32.const -8
+      i32.and
+      i32.add
+      local.get 2
+      i32.const -1
+      i32.add
+      i32.const -4
+      i32.and
+      i32.add
+      i32.const 12
+      i32.add
+      local.get 4
+      call_indirect (type 1)
+    end
+    block  ;; label = @1
+      local.get 0
+      i32.const -1
+      i32.eq
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 0
+      i32.load offset=4
+      i32.const -1
+      i32.add
+      local.tee 4
+      i32.store offset=4
+      local.get 4
+      br_if 0 (;@1;)
+      local.get 3
+      local.get 3
+      local.get 2
+      local.get 1
+      i32.load offset=4
+      i32.add
+      i32.const -1
+      i32.add
+      i32.const 0
+      local.get 2
+      i32.sub
+      i32.and
+      i32.add
+      i32.const 3
+      i32.add
+      i32.const 0
+      local.get 3
+      i32.sub
+      local.tee 1
+      i32.and
+      i32.add
+      i32.const 7
+      i32.add
+      local.get 1
+      i32.and
+      local.tee 1
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      local.get 3
+      call 10
+    end)
+  (func (;12;) (type 1) (param i32)
+    block  ;; label = @1
+      local.get 0
+      local.get 0
+      i32.load
+      i32.const 1
+      i32.const 4
+      i32.const 20
+      call 13
+      i32.const -2147483647
+      i32.eq
+      br_if 0 (;@1;)
+      unreachable
+    end)
+  (func (;13;) (type 7) (param i32 i32 i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i64)
+    global.get 0
+    i32.const 32
+    i32.sub
+    local.tee 5
+    global.set 0
+    i32.const 0
+    local.set 6
+    block  ;; label = @1
+      local.get 1
+      local.get 2
+      i32.add
+      local.tee 2
+      local.get 1
+      i32.lt_u
+      br_if 0 (;@1;)
+      i32.const 0
+      local.set 6
+      local.get 3
+      local.get 4
+      i32.add
+      i32.const -1
+      i32.add
+      i32.const 0
+      local.get 3
+      i32.sub
+      i32.and
+      i64.extend_i32_u
+      i32.const 8
+      i32.const 4
+      local.get 4
+      i32.const 1
+      i32.eq
+      select
+      local.tee 1
+      local.get 0
+      i32.load
+      local.tee 7
+      i32.const 1
+      i32.shl
+      local.tee 8
+      local.get 2
+      local.get 8
+      local.get 2
+      i32.gt_u
+      select
+      local.tee 2
+      local.get 1
+      local.get 2
+      i32.gt_u
+      select
+      local.tee 1
+      i64.extend_i32_u
+      i64.mul
+      local.tee 9
+      i64.const 32
+      i64.shr_u
+      i32.wrap_i64
+      br_if 0 (;@1;)
+      i32.const -2147483648
+      local.get 3
+      i32.sub
+      local.get 9
+      i32.wrap_i64
+      local.tee 2
+      i32.lt_u
+      br_if 0 (;@1;)
+      i32.const 0
+      local.set 6
+      block  ;; label = @2
+        local.get 7
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 5
+        local.get 7
+        local.get 4
+        i32.mul
+        i32.store offset=28
+        local.get 5
+        local.get 0
+        i32.load offset=4
+        i32.store offset=20
+        local.get 3
+        local.set 6
+      end
+      local.get 5
+      local.get 6
+      i32.store offset=24
+      local.get 5
+      i32.const 8
+      i32.add
+      local.get 3
+      local.get 2
+      local.get 5
+      i32.const 20
+      i32.add
+      call 68
+      local.get 5
+      i32.load offset=12
+      local.set 6
+      local.get 5
+      i32.load offset=8
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      i32.store
+      local.get 0
+      local.get 6
+      i32.store offset=4
+      i32.const -2147483647
+      local.set 6
+    end
+    local.get 5
+    i32.const 32
+    i32.add
+    global.set 0
+    local.get 6)
+  (func (;14;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        i32.load offset=8
+        local.tee 2
+        br_if 0 (;@2;)
+        local.get 1
+        i32.load offset=4
+        local.set 0
+        br 1 (;@1;)
+      end
+      local.get 1
+      i32.load offset=4
+      local.set 3
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=8
+        local.get 0
+        i32.load offset=4
+        local.tee 4
+        i32.sub
+        local.tee 5
+        local.get 2
+        i32.ge_u
+        br_if 0 (;@2;)
+        local.get 0
+        local.get 2
+        call 15
+        local.get 0
+        i32.load offset=8
+        local.get 0
+        i32.load offset=4
+        local.tee 4
+        i32.sub
+        local.set 5
+      end
+      local.get 0
+      i32.load
+      local.get 4
+      i32.add
+      local.get 3
+      local.get 2
+      call 102
+      drop
+      block  ;; label = @2
+        local.get 5
+        local.get 2
+        i32.ge_u
+        br_if 0 (;@2;)
+        unreachable
+      end
+      local.get 1
+      i32.const 0
+      i32.store offset=8
+      local.get 0
+      local.get 4
+      local.get 2
+      i32.add
+      i32.store offset=4
+      local.get 1
+      local.get 3
+      local.get 2
+      i32.add
+      local.tee 0
+      i32.store offset=4
+    end
+    local.get 1
+    i32.const 12
+    i32.add
+    local.get 0
+    i32.const 0
+    local.get 1
+    i32.load
+    i32.load offset=16
+    call_indirect (type 0))
+  (func (;15;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get 0
+    i32.const 16
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 0
+    i32.load offset=4
+    local.set 3
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  local.get 0
+                  i32.load offset=12
+                  local.tee 4
+                  i32.const 1
+                  i32.and
+                  br_if 0 (;@7;)
+                  local.get 3
+                  local.get 1
+                  i32.add
+                  local.tee 5
+                  local.get 3
+                  i32.lt_u
+                  br_if 5 (;@2;)
+                  local.get 4
+                  i32.load offset=16
+                  i32.const 1
+                  i32.ne
+                  br_if 1 (;@6;)
+                  local.get 4
+                  i32.load
+                  local.tee 6
+                  local.get 0
+                  i32.load
+                  local.tee 7
+                  local.get 4
+                  i32.load offset=4
+                  local.tee 8
+                  i32.sub
+                  local.tee 1
+                  local.get 5
+                  i32.add
+                  local.tee 9
+                  i32.ge_u
+                  br_if 2 (;@5;)
+                  local.get 6
+                  local.get 5
+                  i32.lt_u
+                  br_if 3 (;@4;)
+                  local.get 1
+                  local.get 3
+                  i32.lt_u
+                  br_if 3 (;@4;)
+                  local.get 0
+                  local.get 8
+                  local.get 7
+                  local.get 3
+                  call 102
+                  i32.store
+                  local.get 0
+                  local.get 4
+                  i32.load
+                  i32.store offset=8
+                  br 6 (;@1;)
+                end
+                local.get 0
+                i32.load offset=8
+                local.get 4
+                i32.const 5
+                i32.shr_u
+                local.tee 5
+                i32.add
+                local.set 6
+                local.get 5
+                local.get 3
+                i32.lt_u
+                br_if 3 (;@3;)
+                local.get 6
+                local.get 3
+                i32.sub
+                local.get 1
+                i32.lt_u
+                br_if 3 (;@3;)
+                local.get 0
+                i32.load
+                local.tee 1
+                local.get 5
+                i32.sub
+                local.get 1
+                local.get 3
+                call 102
+                local.set 3
+                local.get 0
+                local.get 4
+                i32.const 31
+                i32.and
+                i32.store offset=12
+                local.get 0
+                local.get 3
+                i32.store
+                local.get 0
+                local.get 6
+                i32.store offset=8
+                br 5 (;@1;)
+              end
+              i32.const 0
+              local.set 6
+              local.get 5
+              i32.const 1
+              local.get 4
+              i32.load offset=12
+              local.tee 1
+              i32.const 9
+              i32.add
+              i32.shl
+              i32.const 0
+              local.get 1
+              select
+              local.tee 3
+              local.get 5
+              local.get 3
+              i32.gt_u
+              select
+              local.tee 3
+              i32.const 0
+              i32.lt_s
+              br_if 3 (;@2;)
+              i32.const 1
+              local.set 5
+              block  ;; label = @6
+                local.get 3
+                i32.eqz
+                br_if 0 (;@6;)
+                i32.const 0
+                i32.load8_u offset=1049308
+                drop
+                local.get 3
+                local.set 6
+                local.get 3
+                call 30
+                local.tee 5
+                i32.eqz
+                br_if 4 (;@2;)
+              end
+              local.get 2
+              i32.const 0
+              i32.store offset=12
+              local.get 2
+              local.get 5
+              i32.store offset=8
+              local.get 2
+              local.get 6
+              i32.store offset=4
+              local.get 0
+              i32.load
+              local.set 3
+              local.get 2
+              i32.const 4
+              i32.add
+              local.get 0
+              i32.load offset=4
+              local.tee 5
+              call 67
+              local.get 2
+              i32.load offset=8
+              local.tee 6
+              local.get 2
+              i32.load offset=12
+              i32.add
+              local.get 3
+              local.get 5
+              call 102
+              drop
+              local.get 4
+              call 36
+              local.get 0
+              local.get 6
+              i32.store
+              local.get 0
+              local.get 1
+              i32.const 2
+              i32.shl
+              i32.const 1
+              i32.or
+              i32.store offset=12
+              local.get 0
+              local.get 2
+              i32.load offset=4
+              i32.store offset=8
+              br 4 (;@1;)
+            end
+            local.get 0
+            local.get 5
+            i32.store offset=8
+            br 3 (;@1;)
+          end
+          local.get 9
+          local.get 5
+          i32.lt_u
+          br_if 1 (;@2;)
+          local.get 4
+          local.get 1
+          local.get 3
+          i32.add
+          local.tee 3
+          i32.store offset=8
+          local.get 4
+          local.get 6
+          i32.const 1
+          i32.shl
+          local.tee 5
+          local.get 9
+          local.get 5
+          local.get 9
+          i32.gt_u
+          select
+          local.get 3
+          i32.sub
+          call 67
+          local.get 0
+          local.get 4
+          i32.load offset=4
+          local.get 1
+          i32.add
+          i32.store
+          local.get 0
+          local.get 4
+          i32.load
+          local.get 1
+          i32.sub
+          i32.store offset=8
+          br 2 (;@1;)
+        end
+        local.get 2
+        local.get 6
+        i32.store offset=4
+        local.get 2
+        local.get 5
+        local.get 3
+        i32.add
+        i32.store offset=12
+        local.get 2
+        local.get 0
+        i32.load
+        local.get 5
+        i32.sub
+        i32.store offset=8
+        local.get 2
+        i32.const 4
+        i32.add
+        local.get 1
+        call 67
+        local.get 0
+        local.get 2
+        i32.load offset=8
+        local.get 5
+        i32.add
+        i32.store
+        local.get 0
+        local.get 2
+        i32.load offset=4
+        local.get 5
+        i32.sub
+        i32.store offset=8
+        br 1 (;@1;)
+      end
+      unreachable
+    end
+    local.get 2
+    i32.const 16
+    i32.add
+    global.set 0)
+  (func (;16;) (type 0) (param i32 i32 i32)
+    (local i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 2
+        i32.eqz
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          local.get 0
+          i32.load offset=8
+          local.get 0
+          i32.load offset=4
+          local.tee 3
+          i32.sub
+          local.tee 4
+          local.get 2
+          i32.ge_u
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 2
+          call 15
+          local.get 0
+          i32.load offset=8
+          local.get 0
+          i32.load offset=4
+          local.tee 3
+          i32.sub
+          local.set 4
+        end
+        local.get 0
+        i32.load
+        local.get 3
+        i32.add
+        local.get 1
+        local.get 2
+        call 102
+        drop
+        local.get 4
+        local.get 2
+        i32.lt_u
+        br_if 1 (;@1;)
+        local.get 0
+        local.get 3
+        local.get 2
+        i32.add
+        i32.store offset=4
+      end
+      return
+    end
+    unreachable)
+  (func (;17;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32 i64)
+    global.get 0
+    i32.const 64
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    i32.const 49
+    i32.add
+    i32.const 0
+    i32.store align=1
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    local.get 1
+    i32.const 19
+    i32.add
+    i32.load8_u
+    i32.store8
+    local.get 2
+    i64.const 0
+    i64.store offset=41 align=1
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 13
+    i32.add
+    local.tee 4
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 13
+    i32.add
+    i64.load align=1
+    i64.store align=1
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 5
+    local.get 3
+    i64.load
+    i64.store
+    local.get 2
+    local.get 1
+    i64.load offset=11 align=1
+    i64.store offset=8
+    local.get 1
+    i64.load offset=3 align=1
+    local.set 6
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 2
+    i32.add
+    local.get 1
+    i32.const 2
+    i32.add
+    i32.load8_u
+    i32.store8
+    local.get 2
+    local.get 6
+    i64.store offset=35 align=1
+    local.get 2
+    local.get 1
+    i32.load16_u align=1
+    i32.store16 offset=32
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 19
+    i32.add
+    local.get 5
+    i64.load
+    i64.store align=1
+    local.get 2
+    i32.const 56
+    i32.add
+    local.get 4
+    i64.load align=1
+    i64.store align=1
+    local.get 2
+    local.get 2
+    i64.load offset=8
+    i64.store offset=43 align=1
+    local.get 0
+    local.get 2
+    i32.const 32
+    i32.add
+    call 18
+    local.get 2
+    i32.const 64
+    i32.add
+    global.set 0)
+  (func (;18;) (type 3) (param i32 i32)
+    (local i32 i32)
+    global.get 0
+    i32.const 32
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    i32.const 24
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 2
+    i32.const 16
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 2
+    i32.const 8
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 2
+    i64.const 0
+    i64.store
+    local.get 1
+    i32.const 31
+    i32.add
+    local.set 1
+    i32.const 0
+    local.set 3
+    loop  ;; label = @1
+      local.get 2
+      local.get 3
+      i32.add
+      local.get 1
+      i32.load8_u
+      i32.store8
+      local.get 1
+      i32.const -1
+      i32.add
+      local.set 1
+      local.get 3
+      i32.const 1
+      i32.add
+      local.tee 3
+      i32.const 32
+      i32.ne
+      br_if 0 (;@1;)
+    end
+    local.get 0
+    i32.const 4
+    i32.add
+    local.get 2
+    i32.const 32
+    call 49
+    local.get 0
+    i32.const 1
+    i32.store8
+    local.get 2
+    i32.const 32
+    i32.add
+    global.set 0)
+  (func (;19;) (type 3) (param i32 i32)
+    (local i32 i32)
+    global.get 0
+    i32.const 32
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    local.get 1
+    call 20
+    i32.const 20
+    local.set 1
+    block  ;; label = @1
+      loop  ;; label = @2
+        local.get 1
+        i32.const 32
+        i32.eq
+        br_if 1 (;@1;)
+        local.get 2
+        local.get 1
+        i32.add
+        local.set 3
+        local.get 1
+        i32.const 1
+        i32.add
+        local.set 1
+        local.get 3
+        i32.load8_u
+        i32.eqz
+        br_if 0 (;@2;)
+      end
+      i32.const 1049039
+      i32.const 23
+      call 21
+      unreachable
+    end
+    local.get 0
+    local.get 2
+    i32.load16_u align=1
+    i32.store16 align=1
+    local.get 0
+    local.get 2
+    i64.load offset=11 align=1
+    i64.store offset=11 align=1
+    local.get 0
+    i32.const 2
+    i32.add
+    local.get 2
+    i32.const 2
+    i32.add
+    i32.load8_u
+    i32.store8
+    local.get 0
+    i32.const 19
+    i32.add
+    local.get 2
+    i32.const 19
+    i32.add
+    i32.load8_u
+    i32.store8
+    local.get 0
+    local.get 2
+    i64.load offset=3 align=1
+    i64.store offset=3 align=1
+    local.get 2
+    i32.const 32
+    i32.add
+    global.set 0)
+  (func (;20;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32)
+    global.get 0
+    i32.const 32
+    i32.sub
+    local.tee 2
+    global.set 0
+    block  ;; label = @1
+      local.get 1
+      i32.load offset=8
+      i32.const 32
+      i32.ne
+      br_if 0 (;@1;)
+      local.get 1
+      i32.load offset=4
+      local.set 3
+      local.get 2
+      i64.const 0
+      call 31
+      i32.const 31
+      local.set 4
+      local.get 3
+      local.set 5
+      loop  ;; label = @2
+        local.get 2
+        local.get 4
+        i32.add
+        local.get 5
+        i32.load8_u
+        i32.store8
+        local.get 5
+        i32.const 1
+        i32.add
+        local.set 5
+        local.get 4
+        i32.const -1
+        i32.add
+        local.tee 4
+        i32.const -1
+        i32.ne
+        br_if 0 (;@2;)
+      end
+      local.get 0
+      local.get 2
+      i64.load align=1
+      i64.store align=1
+      local.get 0
+      i32.const 24
+      i32.add
+      local.get 2
+      i32.const 24
+      i32.add
+      i64.load align=1
+      i64.store align=1
+      local.get 0
+      i32.const 16
+      i32.add
+      local.get 2
+      i32.const 16
+      i32.add
+      i64.load align=1
+      i64.store align=1
+      local.get 0
+      i32.const 8
+      i32.add
+      local.get 2
+      i32.const 8
+      i32.add
+      i64.load align=1
+      i64.store align=1
+      local.get 1
+      i32.const 12
+      i32.add
+      local.get 3
+      i32.const 32
+      local.get 1
+      i32.load
+      i32.load offset=16
+      call_indirect (type 0)
+      local.get 2
+      i32.const 32
+      i32.add
+      global.set 0
+      return
+    end
+    i32.const 1049156
+    i32.const 22
+    call 21
+    unreachable)
+  (func (;21;) (type 3) (param i32 i32)
+    local.get 0
+    local.get 1
+    call 22
+    unreachable)
+  (func (;22;) (type 3) (param i32 i32)
+    local.get 0
+    local.get 1
+    call 4
+    unreachable)
+  (func (;23;) (type 0) (param i32 i32 i32)
+    (local i32 i32 i32 i32)
+    global.get 0
+    i32.const 32
+    i32.sub
+    local.tee 3
+    global.set 0
+    local.get 3
+    i32.const 24
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 3
+    i32.const 16
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 3
+    i32.const 8
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 3
+    i64.const 0
+    i64.store
+    i32.const 0
+    local.set 4
+    i32.const 0
+    local.set 5
+    loop  ;; label = @1
+      local.get 3
+      local.get 5
+      i32.add
+      local.get 4
+      local.get 1
+      local.get 5
+      i32.add
+      i32.load8_u
+      i32.add
+      local.get 2
+      local.get 5
+      i32.add
+      i32.load8_u
+      i32.add
+      local.tee 6
+      i32.store8
+      local.get 6
+      i32.const 65280
+      i32.and
+      i32.const 8
+      i32.shr_u
+      local.set 4
+      local.get 5
+      i32.const 1
+      i32.add
+      local.tee 5
+      i32.const 32
+      i32.ne
+      br_if 0 (;@1;)
+    end
+    block  ;; label = @1
+      local.get 6
+      i32.const 65535
+      i32.and
+      i32.const 256
+      i32.lt_u
+      br_if 0 (;@1;)
+      i32.const 1049088
+      i32.const 17
+      call 21
+      unreachable
+    end
+    local.get 0
+    local.get 3
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 24
+    i32.add
+    local.get 3
+    i32.const 24
+    i32.add
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 16
+    i32.add
+    local.get 3
+    i32.const 16
+    i32.add
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 8
+    i32.add
+    local.get 3
+    i32.const 8
+    i32.add
+    i64.load
+    i64.store align=1
+    local.get 3
+    i32.const 32
+    i32.add
+    global.set 0)
+  (func (;24;) (type 0) (param i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32)
+    global.get 0
+    i32.const 32
+    i32.sub
+    local.tee 3
+    global.set 0
+    local.get 3
+    i32.const 24
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 3
+    i32.const 16
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 3
+    i32.const 8
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 3
+    i64.const 0
+    i64.store
+    i32.const 0
+    local.set 4
+    i32.const 0
+    local.set 5
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          loop  ;; label = @4
+            local.get 1
+            local.get 5
+            i32.add
+            i32.load8_u
+            local.tee 6
+            i32.const 256
+            i32.or
+            local.get 6
+            local.get 4
+            local.get 2
+            local.get 5
+            i32.add
+            i32.load8_u
+            i32.add
+            local.tee 7
+            i32.const 65535
+            i32.and
+            local.tee 8
+            local.get 6
+            i32.gt_u
+            local.tee 4
+            select
+            local.tee 9
+            local.get 8
+            i32.lt_u
+            br_if 1 (;@3;)
+            local.get 9
+            local.get 7
+            i32.sub
+            local.tee 8
+            i32.const 65535
+            i32.and
+            i32.const 256
+            i32.ge_u
+            br_if 2 (;@2;)
+            local.get 3
+            local.get 5
+            i32.add
+            local.get 8
+            i32.store8
+            local.get 5
+            i32.const 1
+            i32.add
+            local.tee 8
+            local.set 5
+            local.get 8
+            i32.const 32
+            i32.ne
+            br_if 0 (;@4;)
+          end
+          local.get 7
+          i32.const 65535
+          i32.and
+          local.get 6
+          i32.gt_u
+          br_if 2 (;@1;)
+          local.get 0
+          local.get 3
+          i64.load
+          i64.store align=1
+          local.get 0
+          i32.const 24
+          i32.add
+          local.get 3
+          i32.const 24
+          i32.add
+          i64.load
+          i64.store align=1
+          local.get 0
+          i32.const 16
+          i32.add
+          local.get 3
+          i32.const 16
+          i32.add
+          i64.load
+          i64.store align=1
+          local.get 0
+          i32.const 8
+          i32.add
+          local.get 3
+          i32.const 8
+          i32.add
+          i64.load
+          i64.store align=1
+          local.get 3
+          i32.const 32
+          i32.add
+          global.set 0
+          return
+        end
+        i32.const 1049125
+        i32.const 31
+        call 21
+        unreachable
+      end
+      i32.const 1049125
+      i32.const 31
+      call 21
+      unreachable
+    end
+    i32.const 1049105
+    i32.const 20
+    call 21
+    unreachable)
+  (func (;25;) (type 3) (param i32 i32)
+    local.get 0
+    local.get 1
+    call 18)
+  (func (;26;) (type 3) (param i32 i32)
+    (local i32 i32)
+    global.get 0
+    i32.const 16
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    local.get 1
+    local.get 1
+    i32.load offset=16
+    local.tee 3
+    local.get 3
+    i32.const 32
+    i32.add
+    local.tee 3
+    call 27
+    local.get 0
+    local.get 2
+    call 20
+    local.get 0
+    local.get 3
+    i32.store offset=48
+    local.get 0
+    i32.const 40
+    i32.add
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    i64.store align=4
+    local.get 0
+    local.get 1
+    i64.load align=4
+    i64.store offset=32 align=4
+    local.get 2
+    i32.const 16
+    i32.add
+    global.set 0)
+  (func (;27;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    global.get 0
+    i32.const 16
+    i32.sub
+    local.tee 4
+    global.set 0
+    block  ;; label = @1
+      local.get 3
+      local.get 2
+      i32.lt_u
+      br_if 0 (;@1;)
+      local.get 1
+      i32.load offset=8
+      local.tee 5
+      local.get 3
+      i32.lt_u
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 3
+          local.get 2
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 4
+          local.get 1
+          i32.const 12
+          i32.add
+          local.get 1
+          i32.load offset=4
+          local.get 5
+          local.get 1
+          i32.load
+          i32.load
+          call_indirect (type 2)
+          local.get 4
+          i32.const 8
+          i32.add
+          local.tee 1
+          local.get 3
+          local.get 2
+          i32.sub
+          i32.store
+          local.get 0
+          i32.const 8
+          i32.add
+          local.get 1
+          i64.load align=4
+          i64.store align=4
+          local.get 4
+          local.get 4
+          i32.load offset=4
+          local.get 2
+          i32.add
+          i32.store offset=4
+          local.get 0
+          local.get 4
+          i64.load align=4
+          i64.store align=4
+          br 1 (;@2;)
+        end
+        local.get 0
+        i32.const 0
+        i32.store offset=12
+        local.get 0
+        i64.const 1
+        i64.store offset=4 align=4
+        local.get 0
+        i32.const 1049208
+        i32.store
+      end
+      local.get 4
+      i32.const 16
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;28;) (type 3) (param i32 i32)
+    (local i32 i32)
+    global.get 0
+    i32.const 16
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    local.get 1
+    local.get 1
+    i32.load offset=16
+    local.tee 3
+    local.get 3
+    i32.const 32
+    i32.add
+    local.tee 3
+    call 27
+    local.get 0
+    local.get 2
+    call 19
+    local.get 0
+    local.get 3
+    i32.store offset=36
+    local.get 0
+    i32.const 28
+    i32.add
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    i64.store align=4
+    local.get 0
+    local.get 1
+    i64.load align=4
+    i64.store offset=20 align=4
+    local.get 2
+    i32.const 16
+    i32.add
+    global.set 0)
+  (func (;29;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32)
+    global.get 0
+    i32.const 96
+    i32.sub
+    local.tee 2
+    global.set 0
+    i32.const 0
+    local.set 3
+    block  ;; label = @1
+      local.get 1
+      i32.load offset=8
+      local.tee 4
+      i32.const 31
+      i32.add
+      i32.const -32
+      i32.and
+      local.tee 5
+      i32.const 32
+      i32.add
+      local.tee 6
+      i32.const 0
+      i32.lt_s
+      br_if 0 (;@1;)
+      local.get 1
+      i32.load offset=4
+      local.set 7
+      i32.const 1
+      local.set 1
+      block  ;; label = @2
+        local.get 6
+        i32.eqz
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.load8_u offset=1049308
+        drop
+        local.get 6
+        local.set 3
+        local.get 6
+        call 30
+        local.tee 1
+        i32.eqz
+        br_if 1 (;@1;)
+      end
+      local.get 2
+      i32.const 0
+      i32.store offset=12
+      local.get 2
+      local.get 1
+      i32.store offset=8
+      local.get 2
+      local.get 3
+      i32.store offset=16
+      local.get 2
+      i32.const 32
+      local.get 3
+      i32.const 10
+      i32.shr_u
+      i32.clz
+      i32.sub
+      local.tee 3
+      i32.const 7
+      local.get 3
+      i32.const 7
+      i32.lt_u
+      select
+      i32.const 2
+      i32.shl
+      i32.const 1
+      i32.or
+      i32.store offset=20
+      local.get 2
+      i32.const 64
+      i32.add
+      local.get 4
+      i64.extend_i32_u
+      call 31
+      local.get 2
+      i32.const 44
+      i32.add
+      local.get 2
+      i32.const 64
+      i32.add
+      call 18
+      local.get 2
+      i32.const 32
+      i32.add
+      local.get 2
+      i32.const 56
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 2
+      local.get 2
+      i64.load offset=48 align=4
+      i64.store offset=24
+      local.get 2
+      i32.const 8
+      i32.add
+      local.get 2
+      i32.const 24
+      i32.add
+      call 14
+      local.get 2
+      i32.const 8
+      i32.add
+      local.get 7
+      local.get 4
+      call 16
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 2
+          i32.load offset=12
+          local.tee 3
+          local.get 6
+          i32.lt_u
+          br_if 0 (;@3;)
+          local.get 2
+          i32.load offset=16
+          local.set 1
+          local.get 2
+          i32.load offset=8
+          local.set 4
+          br 1 (;@2;)
+        end
+        local.get 3
+        local.get 5
+        i32.sub
+        i32.const -32
+        i32.add
+        local.set 6
+        local.get 2
+        i32.load offset=16
+        local.set 1
+        loop  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 1
+              local.get 3
+              i32.eq
+              br_if 0 (;@5;)
+              local.get 2
+              i32.load offset=8
+              local.tee 4
+              local.get 3
+              i32.add
+              i32.const 0
+              i32.store8
+              br 1 (;@4;)
+            end
+            local.get 2
+            i32.const 8
+            i32.add
+            i32.const 1
+            call 15
+            local.get 2
+            i32.load offset=8
+            local.tee 4
+            local.get 2
+            i32.load offset=12
+            local.tee 3
+            i32.add
+            i32.const 0
+            i32.store8
+            local.get 3
+            local.get 2
+            i32.load offset=16
+            local.tee 1
+            i32.eq
+            br_if 3 (;@1;)
+          end
+          local.get 2
+          local.get 3
+          i32.const 1
+          i32.add
+          local.tee 3
+          i32.store offset=12
+          local.get 6
+          i32.const 1
+          i32.add
+          local.tee 6
+          br_if 0 (;@3;)
+        end
+      end
+      i32.const 1049288
+      local.set 7
+      block  ;; label = @2
+        local.get 2
+        i32.load offset=20
+        local.tee 6
+        i32.const 1
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 6
+        i32.const 5
+        i32.shr_u
+        local.tee 6
+        local.get 3
+        i32.add
+        i32.store offset=52
+        local.get 2
+        local.get 4
+        local.get 6
+        i32.sub
+        i32.store offset=48
+        local.get 2
+        local.get 6
+        local.get 1
+        i32.add
+        i32.store offset=44
+        local.get 2
+        i32.const 64
+        i32.add
+        local.get 2
+        i32.const 44
+        i32.add
+        call 32
+        local.get 2
+        i32.load offset=72
+        local.tee 3
+        local.get 6
+        i32.lt_u
+        br_if 1 (;@1;)
+        local.get 2
+        i32.load offset=68
+        local.get 6
+        i32.add
+        local.set 4
+        local.get 3
+        local.get 6
+        i32.sub
+        local.set 3
+        local.get 2
+        i32.load offset=76
+        local.set 6
+        local.get 2
+        i32.load offset=64
+        local.set 7
+      end
+      local.get 0
+      local.get 6
+      i32.store offset=16
+      local.get 0
+      local.get 3
+      i32.store offset=12
+      local.get 0
+      local.get 4
+      i32.store offset=8
+      local.get 0
+      local.get 7
+      i32.store offset=4
+      local.get 0
+      i32.const 2
+      i32.store8
+      local.get 2
+      i32.const 96
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;30;) (type 8) (param i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i64)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 0
+                    i32.const 244
+                    i32.gt_u
+                    br_if 0 (;@8;)
+                    i32.const 0
+                    i32.load offset=1049720
+                    local.tee 1
+                    i32.const 16
+                    local.get 0
+                    i32.const 11
+                    i32.add
+                    i32.const 504
+                    i32.and
+                    local.get 0
+                    i32.const 11
+                    i32.lt_u
+                    select
+                    local.tee 2
+                    i32.const 3
+                    i32.shr_u
+                    local.tee 3
+                    i32.shr_u
+                    local.tee 0
+                    i32.const 3
+                    i32.and
+                    br_if 3 (;@5;)
+                    local.get 2
+                    i32.const 0
+                    i32.load offset=1049728
+                    i32.le_u
+                    br_if 7 (;@1;)
+                    local.get 0
+                    br_if 2 (;@6;)
+                    i32.const 0
+                    i32.load offset=1049724
+                    local.tee 0
+                    i32.eqz
+                    br_if 7 (;@1;)
+                    local.get 0
+                    i32.ctz
+                    i32.const 2
+                    i32.shl
+                    i32.const 1049312
+                    i32.add
+                    i32.load
+                    local.tee 4
+                    i32.load offset=4
+                    i32.const -8
+                    i32.and
+                    local.get 2
+                    i32.sub
+                    local.set 3
+                    local.get 4
+                    local.set 1
+                    loop  ;; label = @9
+                      block  ;; label = @10
+                        local.get 4
+                        i32.load offset=16
+                        local.tee 0
+                        br_if 0 (;@10;)
+                        local.get 4
+                        i32.load offset=20
+                        local.tee 0
+                        i32.eqz
+                        br_if 3 (;@7;)
+                      end
+                      local.get 0
+                      i32.load offset=4
+                      i32.const -8
+                      i32.and
+                      local.get 2
+                      i32.sub
+                      local.tee 4
+                      local.get 3
+                      local.get 4
+                      local.get 3
+                      i32.lt_u
+                      local.tee 4
+                      select
+                      local.set 3
+                      local.get 0
+                      local.get 1
+                      local.get 4
+                      select
+                      local.set 1
+                      local.get 0
+                      local.set 4
+                      br 0 (;@9;)
+                    end
+                  end
+                  local.get 0
+                  i32.const 11
+                  i32.add
+                  local.tee 3
+                  i32.const -8
+                  i32.and
+                  local.set 2
+                  i32.const 0
+                  i32.load offset=1049724
+                  local.tee 5
+                  i32.eqz
+                  br_if 6 (;@1;)
+                  i32.const 31
+                  local.set 6
+                  block  ;; label = @8
+                    local.get 0
+                    i32.const 16777204
+                    i32.gt_u
+                    br_if 0 (;@8;)
+                    local.get 2
+                    i32.const 6
+                    local.get 3
+                    i32.const 8
+                    i32.shr_u
+                    i32.clz
+                    local.tee 0
+                    i32.sub
+                    i32.shr_u
+                    i32.const 1
+                    i32.and
+                    local.get 0
+                    i32.const 1
+                    i32.shl
+                    i32.sub
+                    i32.const 62
+                    i32.add
+                    local.set 6
+                  end
+                  i32.const 0
+                  local.get 2
+                  i32.sub
+                  local.set 3
+                  local.get 6
+                  i32.const 2
+                  i32.shl
+                  i32.const 1049312
+                  i32.add
+                  i32.load
+                  local.tee 0
+                  i32.eqz
+                  br_if 3 (;@4;)
+                  i32.const 0
+                  local.set 4
+                  local.get 2
+                  i32.const 0
+                  i32.const 25
+                  local.get 6
+                  i32.const 1
+                  i32.shr_u
+                  i32.sub
+                  i32.const 31
+                  i32.and
+                  local.get 6
+                  i32.const 31
+                  i32.eq
+                  select
+                  i32.shl
+                  local.set 7
+                  i32.const 0
+                  local.set 1
+                  loop  ;; label = @8
+                    block  ;; label = @9
+                      local.get 0
+                      local.tee 0
+                      i32.load offset=4
+                      i32.const -8
+                      i32.and
+                      local.tee 8
+                      local.get 2
+                      i32.lt_u
+                      br_if 0 (;@9;)
+                      local.get 8
+                      local.get 2
+                      i32.sub
+                      local.tee 8
+                      local.get 3
+                      i32.ge_u
+                      br_if 0 (;@9;)
+                      local.get 8
+                      local.set 3
+                      local.get 0
+                      local.set 1
+                      local.get 8
+                      br_if 0 (;@9;)
+                      i32.const 0
+                      local.set 3
+                      local.get 0
+                      local.set 1
+                      br 6 (;@3;)
+                    end
+                    local.get 4
+                    local.get 0
+                    i32.load offset=20
+                    local.tee 8
+                    local.get 8
+                    local.get 0
+                    local.get 7
+                    i32.const 29
+                    i32.shr_u
+                    i32.const 4
+                    i32.and
+                    i32.add
+                    i32.const 16
+                    i32.add
+                    i32.load
+                    local.tee 0
+                    i32.eq
+                    select
+                    local.get 4
+                    local.get 8
+                    select
+                    local.set 4
+                    local.get 7
+                    i32.const 1
+                    i32.shl
+                    local.set 7
+                    local.get 0
+                    br_if 0 (;@8;)
+                  end
+                  block  ;; label = @8
+                    local.get 4
+                    i32.eqz
+                    br_if 0 (;@8;)
+                    local.get 4
+                    local.set 0
+                    br 5 (;@3;)
+                  end
+                  local.get 1
+                  i32.eqz
+                  br_if 3 (;@4;)
+                  br 5 (;@2;)
+                end
+                local.get 1
+                call 101
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 3
+                    i32.const 16
+                    i32.lt_u
+                    br_if 0 (;@8;)
+                    local.get 1
+                    local.get 2
+                    i32.const 3
+                    i32.or
+                    i32.store offset=4
+                    local.get 1
+                    local.get 2
+                    i32.add
+                    local.tee 0
+                    local.get 3
+                    i32.const 1
+                    i32.or
+                    i32.store offset=4
+                    local.get 0
+                    local.get 3
+                    i32.add
+                    local.get 3
+                    i32.store
+                    local.get 0
+                    local.get 3
+                    call 98
+                    br 1 (;@7;)
+                  end
+                  local.get 1
+                  local.get 3
+                  local.get 2
+                  i32.add
+                  local.tee 0
+                  i32.const 3
+                  i32.or
+                  i32.store offset=4
+                  local.get 1
+                  local.get 0
+                  i32.add
+                  local.tee 0
+                  local.get 0
+                  i32.load offset=4
+                  i32.const 1
+                  i32.or
+                  i32.store offset=4
+                end
+                local.get 1
+                i32.const 8
+                i32.add
+                return
+              end
+              block  ;; label = @6
+                block  ;; label = @7
+                  i32.const 2
+                  local.get 3
+                  i32.shl
+                  local.tee 4
+                  i32.const 0
+                  local.get 4
+                  i32.sub
+                  i32.or
+                  local.get 0
+                  local.get 3
+                  i32.shl
+                  i32.and
+                  i32.ctz
+                  local.tee 8
+                  i32.const 3
+                  i32.shl
+                  local.tee 3
+                  i32.const 1049464
+                  i32.add
+                  i32.load
+                  local.tee 0
+                  i32.load offset=8
+                  local.tee 4
+                  local.get 3
+                  i32.const 1049456
+                  i32.add
+                  local.tee 7
+                  i32.eq
+                  br_if 0 (;@7;)
+                  local.get 4
+                  local.get 7
+                  i32.store offset=12
+                  local.get 7
+                  local.get 4
+                  i32.store offset=8
+                  br 1 (;@6;)
+                end
+                i32.const 0
+                local.get 1
+                i32.const -2
+                local.get 8
+                i32.rotl
+                i32.and
+                i32.store offset=1049720
+              end
+              local.get 0
+              local.get 2
+              i32.const 3
+              i32.or
+              i32.store offset=4
+              local.get 0
+              local.get 2
+              i32.add
+              local.tee 4
+              local.get 3
+              local.get 2
+              i32.sub
+              local.tee 2
+              i32.const 1
+              i32.or
+              i32.store offset=4
+              local.get 0
+              local.get 3
+              i32.add
+              local.get 2
+              i32.store
+              local.get 4
+              local.get 2
+              call 98
+              local.get 0
+              i32.const 8
+              i32.add
+              return
+            end
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 0
+                i32.const -1
+                i32.xor
+                i32.const 1
+                i32.and
+                local.get 3
+                i32.add
+                local.tee 7
+                i32.const 3
+                i32.shl
+                local.tee 0
+                i32.const 1049464
+                i32.add
+                i32.load
+                local.tee 3
+                i32.load offset=8
+                local.tee 2
+                local.get 0
+                i32.const 1049456
+                i32.add
+                local.tee 4
+                i32.eq
+                br_if 0 (;@6;)
+                local.get 2
+                local.get 4
+                i32.store offset=12
+                local.get 4
+                local.get 2
+                i32.store offset=8
+                br 1 (;@5;)
+              end
+              i32.const 0
+              local.get 1
+              i32.const -2
+              local.get 7
+              i32.rotl
+              i32.and
+              i32.store offset=1049720
+            end
+            local.get 3
+            local.get 0
+            i32.const 3
+            i32.or
+            i32.store offset=4
+            local.get 3
+            local.get 0
+            i32.add
+            local.tee 0
+            local.get 0
+            i32.load offset=4
+            i32.const 1
+            i32.or
+            i32.store offset=4
+            local.get 3
+            i32.const 8
+            i32.add
+            return
+          end
+          i32.const 0
+          local.set 1
+          local.get 5
+          i32.const 2
+          local.get 6
+          i32.shl
+          local.tee 0
+          i32.const 0
+          local.get 0
+          i32.sub
+          i32.or
+          i32.and
+          local.tee 0
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 0
+          i32.ctz
+          i32.const 2
+          i32.shl
+          i32.const 1049312
+          i32.add
+          i32.load
+          local.tee 0
+          i32.eqz
+          br_if 2 (;@1;)
+        end
+        loop  ;; label = @3
+          local.get 0
+          local.get 1
+          local.get 0
+          i32.load offset=4
+          i32.const -8
+          i32.and
+          local.tee 4
+          local.get 2
+          i32.sub
+          local.tee 8
+          local.get 3
+          i32.lt_u
+          local.tee 6
+          select
+          local.set 5
+          local.get 4
+          local.get 2
+          i32.lt_u
+          local.set 7
+          local.get 8
+          local.get 3
+          local.get 6
+          select
+          local.set 8
+          block  ;; label = @4
+            local.get 0
+            i32.load offset=16
+            local.tee 4
+            br_if 0 (;@4;)
+            local.get 0
+            i32.load offset=20
+            local.set 4
+          end
+          local.get 1
+          local.get 5
+          local.get 7
+          select
+          local.set 1
+          local.get 3
+          local.get 8
+          local.get 7
+          select
+          local.set 3
+          local.get 4
+          local.set 0
+          local.get 4
+          br_if 0 (;@3;)
+        end
+        local.get 1
+        i32.eqz
+        br_if 1 (;@1;)
+      end
+      block  ;; label = @2
+        i32.const 0
+        i32.load offset=1049728
+        local.tee 0
+        local.get 2
+        i32.lt_u
+        br_if 0 (;@2;)
+        local.get 3
+        local.get 0
+        local.get 2
+        i32.sub
+        i32.ge_u
+        br_if 1 (;@1;)
+      end
+      local.get 1
+      call 101
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 3
+          i32.const 16
+          i32.lt_u
+          br_if 0 (;@3;)
+          local.get 1
+          local.get 2
+          i32.const 3
+          i32.or
+          i32.store offset=4
+          local.get 1
+          local.get 2
+          i32.add
+          local.tee 0
+          local.get 3
+          i32.const 1
+          i32.or
+          i32.store offset=4
+          local.get 0
+          local.get 3
+          i32.add
+          local.get 3
+          i32.store
+          local.get 0
+          local.get 3
+          call 99
+          br 1 (;@2;)
+        end
+        local.get 1
+        local.get 3
+        local.get 2
+        i32.add
+        local.tee 0
+        i32.const 3
+        i32.or
+        i32.store offset=4
+        local.get 1
+        local.get 0
+        i32.add
+        local.tee 0
+        local.get 0
+        i32.load offset=4
+        i32.const 1
+        i32.or
+        i32.store offset=4
+      end
+      local.get 1
+      i32.const 8
+      i32.add
+      return
+    end
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        i32.const 0
+                        i32.load offset=1049728
+                        local.tee 0
+                        local.get 2
+                        i32.ge_u
+                        br_if 0 (;@10;)
+                        block  ;; label = @11
+                          i32.const 0
+                          i32.load offset=1049732
+                          local.tee 0
+                          local.get 2
+                          i32.gt_u
+                          br_if 0 (;@11;)
+                          i32.const 0
+                          local.set 0
+                          local.get 2
+                          i32.const 65583
+                          i32.add
+                          local.tee 4
+                          i32.const 16
+                          i32.shr_u
+                          memory.grow
+                          local.tee 3
+                          i32.const -1
+                          i32.eq
+                          local.tee 7
+                          br_if 10 (;@1;)
+                          local.get 3
+                          i32.const 16
+                          i32.shl
+                          local.tee 1
+                          i32.eqz
+                          br_if 10 (;@1;)
+                          i32.const 0
+                          i32.const 0
+                          i32.load offset=1049744
+                          i32.const 0
+                          local.get 4
+                          i32.const -65536
+                          i32.and
+                          local.get 7
+                          select
+                          local.tee 8
+                          i32.add
+                          local.tee 0
+                          i32.store offset=1049744
+                          i32.const 0
+                          i32.const 0
+                          i32.load offset=1049748
+                          local.tee 3
+                          local.get 0
+                          local.get 3
+                          local.get 0
+                          i32.gt_u
+                          select
+                          i32.store offset=1049748
+                          block  ;; label = @12
+                            block  ;; label = @13
+                              block  ;; label = @14
+                                block  ;; label = @15
+                                  i32.const 0
+                                  i32.load offset=1049740
+                                  local.tee 3
+                                  i32.eqz
+                                  br_if 0 (;@15;)
+                                  i32.const 1049440
+                                  local.set 0
+                                  loop  ;; label = @16
+                                    local.get 0
+                                    i32.load
+                                    local.tee 4
+                                    local.get 0
+                                    i32.load offset=4
+                                    local.tee 7
+                                    i32.add
+                                    local.get 1
+                                    i32.eq
+                                    br_if 2 (;@14;)
+                                    local.get 0
+                                    i32.load offset=8
+                                    local.tee 0
+                                    br_if 0 (;@16;)
+                                    br 3 (;@13;)
+                                  end
+                                end
+                                i32.const 0
+                                i32.load offset=1049756
+                                local.tee 0
+                                i32.eqz
+                                br_if 2 (;@12;)
+                                local.get 0
+                                local.get 1
+                                i32.gt_u
+                                br_if 2 (;@12;)
+                                br 11 (;@3;)
+                              end
+                              local.get 0
+                              i32.load offset=12
+                              br_if 0 (;@13;)
+                              local.get 4
+                              local.get 3
+                              i32.gt_u
+                              br_if 0 (;@13;)
+                              local.get 3
+                              local.get 1
+                              i32.lt_u
+                              br_if 4 (;@9;)
+                            end
+                            i32.const 0
+                            i32.const 0
+                            i32.load offset=1049756
+                            local.tee 0
+                            local.get 1
+                            local.get 0
+                            local.get 1
+                            i32.lt_u
+                            select
+                            i32.store offset=1049756
+                            local.get 1
+                            local.get 8
+                            i32.add
+                            local.set 4
+                            i32.const 1049440
+                            local.set 0
+                            block  ;; label = @13
+                              block  ;; label = @14
+                                block  ;; label = @15
+                                  block  ;; label = @16
+                                    loop  ;; label = @17
+                                      local.get 0
+                                      i32.load
+                                      local.tee 7
+                                      local.get 4
+                                      i32.eq
+                                      br_if 1 (;@16;)
+                                      local.get 0
+                                      i32.load offset=8
+                                      local.tee 0
+                                      br_if 0 (;@17;)
+                                      br 2 (;@15;)
+                                    end
+                                  end
+                                  local.get 0
+                                  i32.load offset=12
+                                  i32.eqz
+                                  br_if 1 (;@14;)
+                                end
+                                i32.const 1049440
+                                local.set 0
+                                loop  ;; label = @15
+                                  block  ;; label = @16
+                                    local.get 0
+                                    i32.load
+                                    local.tee 4
+                                    local.get 3
+                                    i32.gt_u
+                                    br_if 0 (;@16;)
+                                    local.get 4
+                                    local.get 0
+                                    i32.load offset=4
+                                    i32.add
+                                    local.tee 4
+                                    local.get 3
+                                    i32.gt_u
+                                    br_if 3 (;@13;)
+                                  end
+                                  local.get 0
+                                  i32.load offset=8
+                                  local.set 0
+                                  br 0 (;@15;)
+                                end
+                              end
+                              local.get 0
+                              local.get 1
+                              i32.store
+                              local.get 0
+                              local.get 0
+                              i32.load offset=4
+                              local.get 8
+                              i32.add
+                              i32.store offset=4
+                              local.get 1
+                              local.get 2
+                              i32.const 3
+                              i32.or
+                              i32.store offset=4
+                              local.get 7
+                              i32.const 15
+                              i32.add
+                              i32.const -8
+                              i32.and
+                              i32.const -8
+                              i32.add
+                              local.tee 0
+                              local.get 1
+                              local.get 2
+                              i32.add
+                              local.tee 3
+                              i32.sub
+                              local.set 2
+                              local.get 0
+                              i32.const 0
+                              i32.load offset=1049740
+                              i32.eq
+                              br_if 5 (;@8;)
+                              local.get 0
+                              i32.const 0
+                              i32.load offset=1049736
+                              i32.eq
+                              br_if 6 (;@7;)
+                              block  ;; label = @14
+                                local.get 0
+                                i32.load offset=4
+                                local.tee 4
+                                i32.const 3
+                                i32.and
+                                i32.const 1
+                                i32.ne
+                                br_if 0 (;@14;)
+                                local.get 0
+                                local.get 4
+                                i32.const -8
+                                i32.and
+                                local.tee 4
+                                call 65
+                                local.get 4
+                                local.get 2
+                                i32.add
+                                local.set 2
+                                local.get 0
+                                local.get 4
+                                i32.add
+                                local.tee 0
+                                i32.load offset=4
+                                local.set 4
+                              end
+                              local.get 0
+                              local.get 4
+                              i32.const -2
+                              i32.and
+                              i32.store offset=4
+                              local.get 3
+                              local.get 2
+                              i32.const 1
+                              i32.or
+                              i32.store offset=4
+                              local.get 3
+                              local.get 2
+                              i32.add
+                              local.get 2
+                              i32.store
+                              local.get 3
+                              local.get 2
+                              call 99
+                              br 9 (;@4;)
+                            end
+                            i32.const 0
+                            local.get 1
+                            i32.store offset=1049740
+                            i32.const 0
+                            local.get 8
+                            i32.const -40
+                            i32.add
+                            local.tee 0
+                            i32.store offset=1049732
+                            local.get 1
+                            local.get 0
+                            i32.const 1
+                            i32.or
+                            i32.store offset=4
+                            local.get 1
+                            local.get 0
+                            i32.add
+                            i32.const 40
+                            i32.store offset=4
+                            i32.const 0
+                            i32.const 2097152
+                            i32.store offset=1049752
+                            local.get 3
+                            local.get 4
+                            i32.const -32
+                            i32.add
+                            i32.const -8
+                            i32.and
+                            i32.const -8
+                            i32.add
+                            local.tee 0
+                            local.get 0
+                            local.get 3
+                            i32.const 16
+                            i32.add
+                            i32.lt_u
+                            select
+                            local.tee 7
+                            i32.const 27
+                            i32.store offset=4
+                            i32.const 0
+                            i64.load offset=1049440 align=4
+                            local.set 9
+                            local.get 7
+                            i32.const 16
+                            i32.add
+                            i32.const 0
+                            i64.load offset=1049448 align=4
+                            i64.store align=4
+                            local.get 7
+                            local.get 9
+                            i64.store offset=8 align=4
+                            i32.const 0
+                            local.get 8
+                            i32.store offset=1049444
+                            i32.const 0
+                            local.get 1
+                            i32.store offset=1049440
+                            i32.const 0
+                            local.get 7
+                            i32.const 8
+                            i32.add
+                            i32.store offset=1049448
+                            i32.const 0
+                            i32.const 0
+                            i32.store offset=1049452
+                            local.get 7
+                            i32.const 28
+                            i32.add
+                            local.set 0
+                            loop  ;; label = @13
+                              local.get 0
+                              i32.const 7
+                              i32.store
+                              local.get 0
+                              i32.const 4
+                              i32.add
+                              local.tee 0
+                              local.get 4
+                              i32.lt_u
+                              br_if 0 (;@13;)
+                            end
+                            local.get 7
+                            local.get 3
+                            i32.eq
+                            br_if 10 (;@2;)
+                            local.get 7
+                            local.get 7
+                            i32.load offset=4
+                            i32.const -2
+                            i32.and
+                            i32.store offset=4
+                            local.get 3
+                            local.get 7
+                            local.get 3
+                            i32.sub
+                            local.tee 0
+                            i32.const 1
+                            i32.or
+                            i32.store offset=4
+                            local.get 7
+                            local.get 0
+                            i32.store
+                            local.get 3
+                            local.get 0
+                            call 99
+                            br 10 (;@2;)
+                          end
+                          i32.const 0
+                          local.get 1
+                          i32.store offset=1049756
+                          br 8 (;@3;)
+                        end
+                        i32.const 0
+                        local.get 0
+                        local.get 2
+                        i32.sub
+                        local.tee 3
+                        i32.store offset=1049732
+                        i32.const 0
+                        i32.const 0
+                        i32.load offset=1049740
+                        local.tee 0
+                        local.get 2
+                        i32.add
+                        local.tee 4
+                        i32.store offset=1049740
+                        local.get 4
+                        local.get 3
+                        i32.const 1
+                        i32.or
+                        i32.store offset=4
+                        local.get 0
+                        local.get 2
+                        i32.const 3
+                        i32.or
+                        i32.store offset=4
+                        local.get 0
+                        i32.const 8
+                        i32.add
+                        local.set 0
+                        br 9 (;@1;)
+                      end
+                      i32.const 0
+                      i32.load offset=1049736
+                      local.set 3
+                      local.get 0
+                      local.get 2
+                      i32.sub
+                      local.tee 4
+                      i32.const 16
+                      i32.lt_u
+                      br_if 3 (;@6;)
+                      i32.const 0
+                      local.get 4
+                      i32.store offset=1049728
+                      i32.const 0
+                      local.get 3
+                      local.get 2
+                      i32.add
+                      local.tee 1
+                      i32.store offset=1049736
+                      local.get 1
+                      local.get 4
+                      i32.const 1
+                      i32.or
+                      i32.store offset=4
+                      local.get 3
+                      local.get 0
+                      i32.add
+                      local.get 4
+                      i32.store
+                      local.get 3
+                      local.get 2
+                      i32.const 3
+                      i32.or
+                      i32.store offset=4
+                      br 4 (;@5;)
+                    end
+                    local.get 0
+                    local.get 7
+                    local.get 8
+                    i32.add
+                    i32.store offset=4
+                    i32.const 0
+                    i32.const 0
+                    i32.load offset=1049740
+                    local.tee 0
+                    i32.const 15
+                    i32.add
+                    i32.const -8
+                    i32.and
+                    local.tee 3
+                    i32.const -8
+                    i32.add
+                    local.tee 4
+                    i32.store offset=1049740
+                    i32.const 0
+                    local.get 0
+                    local.get 3
+                    i32.sub
+                    i32.const 0
+                    i32.load offset=1049732
+                    local.get 8
+                    i32.add
+                    local.tee 3
+                    i32.add
+                    i32.const 8
+                    i32.add
+                    local.tee 1
+                    i32.store offset=1049732
+                    local.get 4
+                    local.get 1
+                    i32.const 1
+                    i32.or
+                    i32.store offset=4
+                    local.get 0
+                    local.get 3
+                    i32.add
+                    i32.const 40
+                    i32.store offset=4
+                    i32.const 0
+                    i32.const 2097152
+                    i32.store offset=1049752
+                    br 6 (;@2;)
+                  end
+                  i32.const 0
+                  local.get 3
+                  i32.store offset=1049740
+                  i32.const 0
+                  i32.const 0
+                  i32.load offset=1049732
+                  local.get 2
+                  i32.add
+                  local.tee 0
+                  i32.store offset=1049732
+                  local.get 3
+                  local.get 0
+                  i32.const 1
+                  i32.or
+                  i32.store offset=4
+                  br 3 (;@4;)
+                end
+                i32.const 0
+                local.get 3
+                i32.store offset=1049736
+                i32.const 0
+                i32.const 0
+                i32.load offset=1049728
+                local.get 2
+                i32.add
+                local.tee 0
+                i32.store offset=1049728
+                local.get 3
+                local.get 0
+                i32.const 1
+                i32.or
+                i32.store offset=4
+                local.get 3
+                local.get 0
+                i32.add
+                local.get 0
+                i32.store
+                br 2 (;@4;)
+              end
+              i32.const 0
+              i32.const 0
+              i32.store offset=1049736
+              i32.const 0
+              i32.const 0
+              i32.store offset=1049728
+              local.get 3
+              local.get 0
+              i32.const 3
+              i32.or
+              i32.store offset=4
+              local.get 3
+              local.get 0
+              i32.add
+              local.tee 0
+              local.get 0
+              i32.load offset=4
+              i32.const 1
+              i32.or
+              i32.store offset=4
+            end
+            local.get 3
+            i32.const 8
+            i32.add
+            return
+          end
+          local.get 1
+          i32.const 8
+          i32.add
+          return
+        end
+        i32.const 0
+        local.set 0
+        i32.const 0
+        i32.const 4095
+        i32.store offset=1049760
+        i32.const 0
+        local.get 8
+        i32.store offset=1049444
+        i32.const 0
+        local.get 1
+        i32.store offset=1049440
+        i32.const 0
+        i32.const 0
+        i32.store offset=1049452
+        loop  ;; label = @3
+          local.get 0
+          i32.const 1049464
+          i32.add
+          local.get 0
+          i32.const 1049456
+          i32.add
+          local.tee 3
+          i32.store
+          local.get 0
+          i32.const 1049468
+          i32.add
+          local.get 3
+          i32.store
+          local.get 0
+          i32.const 8
+          i32.add
+          local.tee 0
+          i32.const 256
+          i32.ne
+          br_if 0 (;@3;)
+        end
+        i32.const 0
+        local.get 1
+        i32.store offset=1049740
+        i32.const 0
+        local.get 8
+        i32.const -40
+        i32.add
+        local.tee 0
+        i32.store offset=1049732
+        local.get 1
+        local.get 0
+        i32.const 1
+        i32.or
+        i32.store offset=4
+        local.get 1
+        local.get 0
+        i32.add
+        i32.const 40
+        i32.store offset=4
+        i32.const 0
+        i32.const 2097152
+        i32.store offset=1049752
+      end
+      i32.const 0
+      local.set 0
+      i32.const 0
+      i32.load offset=1049732
+      local.tee 3
+      local.get 2
+      i32.le_u
+      br_if 0 (;@1;)
+      i32.const 0
+      local.get 3
+      local.get 2
+      i32.sub
+      local.tee 3
+      i32.store offset=1049732
+      i32.const 0
+      i32.const 0
+      i32.load offset=1049740
+      local.tee 0
+      local.get 2
+      i32.add
+      local.tee 4
+      i32.store offset=1049740
+      local.get 4
+      local.get 3
+      i32.const 1
+      i32.or
+      i32.store offset=4
+      local.get 0
+      local.get 2
+      i32.const 3
+      i32.or
+      i32.store offset=4
+      local.get 0
+      i32.const 8
+      i32.add
+      return
+    end
+    local.get 0)
+  (func (;31;) (type 9) (param i32 i64)
+    (local i32 i32 i64)
+    global.get 0
+    i32.const 32
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    i32.const 24
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 2
+    i32.const 16
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 2
+    i32.const 8
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 2
+    i64.const 0
+    i64.store
+    i32.const 0
+    local.set 3
+    loop  ;; label = @1
+      local.get 2
+      local.get 3
+      i32.add
+      local.get 1
+      local.tee 4
+      i64.store8
+      local.get 4
+      i64.const 8
+      i64.shr_u
+      local.set 1
+      local.get 3
+      i32.const 1
+      i32.add
+      local.tee 3
+      i32.const 8
+      i32.ne
+      br_if 0 (;@1;)
+    end
+    block  ;; label = @1
+      local.get 4
+      i64.const 255
+      i64.le_u
+      br_if 0 (;@1;)
+      i32.const 1049062
+      i32.const 26
+      call 21
+      unreachable
+    end
+    local.get 0
+    local.get 2
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 24
+    i32.add
+    local.get 2
+    i32.const 24
+    i32.add
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 16
+    i32.add
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 8
+    i32.add
+    i64.load
+    i64.store align=1
+    local.get 2
+    i32.const 32
+    i32.add
+    global.set 0)
+  (func (;32;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32)
+    local.get 1
+    i32.load offset=4
+    local.set 2
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.load offset=8
+          local.tee 3
+          local.get 1
+          i32.load
+          local.tee 4
+          i32.eq
+          br_if 0 (;@3;)
+          i32.const 0
+          i32.load8_u offset=1049308
+          drop
+          i32.const 12
+          call 30
+          local.tee 1
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 1
+          i32.const 1
+          i32.store offset=8
+          local.get 1
+          local.get 4
+          i32.store offset=4
+          local.get 1
+          local.get 2
+          i32.store
+          i32.const 1049268
+          local.set 5
+          br 1 (;@2;)
+        end
+        block  ;; label = @3
+          local.get 4
+          br_if 0 (;@3;)
+          i32.const 1049208
+          local.set 5
+          i32.const 0
+          local.set 3
+          i32.const 1
+          local.set 2
+          i32.const 0
+          local.set 1
+          br 1 (;@2;)
+        end
+        i32.const 1049248
+        i32.const 1049228
+        local.get 2
+        i32.const 1
+        i32.and
+        select
+        local.set 5
+        local.get 2
+        i32.const 1
+        i32.or
+        local.set 1
+        local.get 4
+        local.set 3
+      end
+      local.get 0
+      local.get 1
+      i32.store offset=12
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 2
+      i32.store offset=4
+      local.get 0
+      local.get 5
+      i32.store
+      return
+    end
+    unreachable)
+  (func (;33;) (type 0) (param i32 i32 i32)
+    (local i32)
+    global.get 0
+    i32.const 32
+    i32.sub
+    local.tee 3
+    global.set 0
+    local.get 3
+    i32.const 12
+    i32.add
+    local.get 1
+    local.get 2
+    call_indirect (type 3)
+    block  ;; label = @1
+      local.get 0
+      i32.load offset=8
+      local.tee 1
+      local.get 0
+      i32.load
+      i32.ne
+      br_if 0 (;@1;)
+      local.get 0
+      call 12
+    end
+    local.get 0
+    local.get 1
+    i32.const 1
+    i32.add
+    i32.store offset=8
+    local.get 0
+    i32.load offset=4
+    local.get 1
+    i32.const 20
+    i32.mul
+    i32.add
+    local.tee 0
+    local.get 3
+    i64.load offset=12 align=4
+    i64.store align=4
+    local.get 0
+    i32.const 8
+    i32.add
+    local.get 3
+    i32.const 12
+    i32.add
+    i32.const 8
+    i32.add
+    i64.load align=4
+    i64.store align=4
+    local.get 0
+    i32.const 16
+    i32.add
+    local.get 3
+    i32.const 12
+    i32.add
+    i32.const 16
+    i32.add
+    i32.load
+    i32.store
+    local.get 3
+    i32.const 32
+    i32.add
+    global.set 0)
+  (func (;34;) (type 0) (param i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32)
+    global.get 0
+    i32.const 112
+    i32.sub
+    local.tee 3
+    global.set 0
+    i32.const 0
+    local.set 4
+    i32.const 0
+    local.set 5
+    block  ;; label = @1
+      local.get 2
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 20
+      i32.mul
+      local.set 5
+      i32.const 0
+      local.set 4
+      local.get 1
+      local.set 6
+      loop  ;; label = @2
+        i32.const 32
+        local.set 7
+        block  ;; label = @3
+          local.get 6
+          i32.load8_u
+          i32.const 1
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 6
+          i32.load offset=12
+          local.set 7
+        end
+        local.get 6
+        i32.const 20
+        i32.add
+        local.set 6
+        local.get 7
+        local.get 4
+        i32.add
+        local.set 4
+        local.get 5
+        i32.const -20
+        i32.add
+        local.tee 5
+        br_if 0 (;@2;)
+      end
+      local.get 2
+      i32.const 20
+      i32.mul
+      local.set 8
+      i32.const 0
+      local.set 5
+      local.get 1
+      local.set 6
+      loop  ;; label = @2
+        i32.const 0
+        local.set 7
+        block  ;; label = @3
+          local.get 6
+          i32.load8_u
+          i32.const 1
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 6
+          i32.load offset=12
+          local.set 7
+        end
+        local.get 6
+        i32.const 20
+        i32.add
+        local.set 6
+        local.get 7
+        local.get 5
+        i32.add
+        local.set 5
+        local.get 8
+        i32.const -20
+        i32.add
+        local.tee 8
+        br_if 0 (;@2;)
+      end
+    end
+    block  ;; label = @1
+      local.get 5
+      local.get 4
+      i32.add
+      local.tee 7
+      i32.const 0
+      i32.lt_s
+      br_if 0 (;@1;)
+      i32.const 1
+      local.set 8
+      i32.const 0
+      local.set 6
+      block  ;; label = @2
+        local.get 7
+        i32.eqz
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.load8_u offset=1049308
+        drop
+        local.get 7
+        local.set 6
+        local.get 7
+        call 30
+        local.tee 8
+        i32.eqz
+        br_if 1 (;@1;)
+      end
+      local.get 3
+      local.get 8
+      i32.store offset=8
+      local.get 3
+      local.get 6
+      i32.store offset=16
+      local.get 3
+      i32.const 32
+      local.get 6
+      i32.const 10
+      i32.shr_u
+      i32.clz
+      i32.sub
+      local.tee 6
+      i32.const 7
+      local.get 6
+      i32.const 7
+      i32.lt_u
+      select
+      i32.const 2
+      i32.shl
+      i32.const 1
+      i32.or
+      i32.store offset=20
+      local.get 3
+      i32.const 0
+      i32.store offset=12
+      local.get 5
+      i32.const 0
+      i32.lt_s
+      br_if 0 (;@1;)
+      i32.const 1
+      local.set 7
+      i32.const 0
+      local.set 6
+      block  ;; label = @2
+        local.get 5
+        i32.eqz
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.load8_u offset=1049308
+        drop
+        local.get 5
+        local.set 6
+        local.get 5
+        call 30
+        local.tee 7
+        i32.eqz
+        br_if 1 (;@1;)
+      end
+      local.get 3
+      i32.const 0
+      i32.store offset=28
+      local.get 3
+      local.get 7
+      i32.store offset=24
+      local.get 3
+      local.get 6
+      i32.store offset=32
+      local.get 3
+      i32.const 32
+      local.get 6
+      i32.const 10
+      i32.shr_u
+      i32.clz
+      i32.sub
+      local.tee 6
+      i32.const 7
+      local.get 6
+      i32.const 7
+      i32.lt_u
+      select
+      i32.const 2
+      i32.shl
+      i32.const 1
+      i32.or
+      i32.store offset=36
+      block  ;; label = @2
+        local.get 2
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 2
+        i32.const 20
+        i32.mul
+        local.set 7
+        local.get 3
+        i32.const 64
+        i32.add
+        local.set 2
+        loop  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 1
+              i32.load8_u
+              i32.const 1
+              i32.ne
+              br_if 0 (;@5;)
+              local.get 1
+              i32.load offset=8
+              local.set 9
+              block  ;; label = @6
+                local.get 3
+                i32.load offset=16
+                local.get 3
+                i32.load offset=12
+                local.tee 5
+                i32.sub
+                local.tee 8
+                local.get 1
+                i32.load offset=12
+                local.tee 6
+                i32.ge_u
+                br_if 0 (;@6;)
+                local.get 3
+                i32.const 8
+                i32.add
+                local.get 6
+                call 15
+                local.get 3
+                i32.load offset=16
+                local.get 3
+                i32.load offset=12
+                local.tee 5
+                i32.sub
+                local.set 8
+              end
+              local.get 3
+              i32.load offset=8
+              local.get 5
+              i32.add
+              local.get 9
+              local.get 6
+              call 102
+              drop
+              local.get 8
+              local.get 6
+              i32.lt_u
+              br_if 4 (;@1;)
+              local.get 3
+              local.get 5
+              local.get 6
+              i32.add
+              i32.store offset=12
+              br 1 (;@4;)
+            end
+            local.get 3
+            i32.const 80
+            i32.add
+            local.get 3
+            i32.load offset=28
+            local.get 4
+            i32.add
+            i64.extend_i32_u
+            call 31
+            local.get 3
+            i32.const 60
+            i32.add
+            local.get 3
+            i32.const 80
+            i32.add
+            call 18
+            local.get 3
+            i32.const 40
+            i32.add
+            i32.const 8
+            i32.add
+            local.get 2
+            i32.const 8
+            i32.add
+            i64.load align=4
+            i64.store
+            local.get 3
+            local.get 2
+            i64.load align=4
+            i64.store offset=40
+            local.get 3
+            i32.const 8
+            i32.add
+            local.get 3
+            i32.const 40
+            i32.add
+            call 14
+            local.get 3
+            i32.const 24
+            i32.add
+            local.get 1
+            i32.load offset=8
+            local.get 1
+            i32.load offset=12
+            call 16
+          end
+          local.get 1
+          i32.const 20
+          i32.add
+          local.set 1
+          local.get 7
+          i32.const -20
+          i32.add
+          local.tee 7
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 3
+      i32.const 80
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 3
+      i32.const 24
+      i32.add
+      i32.const 8
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 3
+      local.get 3
+      i64.load offset=24 align=4
+      i64.store offset=80
+      block  ;; label = @2
+        local.get 3
+        i32.load offset=84
+        local.tee 1
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 3
+        i32.load offset=16
+        local.set 5
+        local.get 3
+        i32.load offset=12
+        local.set 6
+        loop  ;; label = @3
+          local.get 3
+          i32.load offset=80
+          local.set 7
+          block  ;; label = @4
+            local.get 5
+            local.get 6
+            i32.sub
+            local.tee 4
+            local.get 1
+            i32.ge_u
+            br_if 0 (;@4;)
+            local.get 3
+            i32.const 8
+            i32.add
+            local.get 1
+            call 15
+            local.get 3
+            i32.load offset=16
+            local.tee 5
+            local.get 3
+            i32.load offset=12
+            local.tee 6
+            i32.sub
+            local.set 4
+          end
+          local.get 3
+          i32.load offset=8
+          local.get 6
+          i32.add
+          local.get 7
+          local.get 1
+          call 102
+          drop
+          local.get 4
+          local.get 1
+          i32.lt_u
+          br_if 2 (;@1;)
+          local.get 3
+          local.get 6
+          local.get 1
+          i32.add
+          local.tee 6
+          i32.store offset=12
+          local.get 3
+          i32.const 80
+          i32.add
+          local.get 1
+          call 35
+          local.get 3
+          i32.load offset=84
+          local.tee 1
+          br_if 0 (;@3;)
+        end
+      end
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 3
+          i32.load offset=92
+          local.tee 1
+          i32.const 1
+          i32.and
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 3
+          i32.load offset=88
+          local.get 1
+          i32.const 5
+          i32.shr_u
+          local.tee 1
+          i32.add
+          local.tee 6
+          i32.eqz
+          br_if 1 (;@2;)
+          local.get 3
+          i32.load offset=80
+          local.get 1
+          i32.sub
+          local.get 6
+          i32.const 1
+          call 10
+          br 1 (;@2;)
+        end
+        local.get 1
+        call 36
+      end
+      local.get 3
+      i32.load offset=8
+      local.set 6
+      local.get 3
+      i32.load offset=12
+      local.set 4
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 3
+          i32.load offset=20
+          local.tee 1
+          i32.const 1
+          i32.and
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 1
+          i32.store offset=12
+          local.get 0
+          local.get 4
+          i32.store offset=8
+          local.get 0
+          local.get 6
+          i32.store offset=4
+          local.get 0
+          i32.const 1049288
+          i32.store
+          br 1 (;@2;)
+        end
+        local.get 3
+        i32.load offset=16
+        local.set 7
+        local.get 3
+        local.get 1
+        i32.const 5
+        i32.shr_u
+        local.tee 1
+        local.get 4
+        i32.add
+        i32.store offset=68
+        local.get 3
+        local.get 6
+        local.get 1
+        i32.sub
+        i32.store offset=64
+        local.get 3
+        local.get 1
+        local.get 7
+        i32.add
+        i32.store offset=60
+        local.get 3
+        i32.const 80
+        i32.add
+        local.get 3
+        i32.const 60
+        i32.add
+        call 32
+        local.get 3
+        i32.load offset=88
+        local.tee 6
+        local.get 1
+        i32.lt_u
+        br_if 1 (;@1;)
+        local.get 3
+        i32.const 80
+        i32.add
+        i32.const 8
+        i32.add
+        local.tee 4
+        local.get 6
+        local.get 1
+        i32.sub
+        i32.store
+        local.get 3
+        local.get 3
+        i32.load offset=84
+        local.get 1
+        i32.add
+        i32.store offset=84
+        local.get 0
+        local.get 3
+        i64.load offset=80 align=4
+        i64.store align=4
+        local.get 0
+        i32.const 8
+        i32.add
+        local.get 4
+        i64.load align=4
+        i64.store align=4
+      end
+      local.get 3
+      i32.const 112
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;35;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      local.get 1
+      i32.eqz
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=12
+        local.tee 2
+        i32.const 1
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 2
+            i32.const 5
+            i32.shr_u
+            local.tee 3
+            local.get 1
+            i32.add
+            local.tee 4
+            i32.const 134217728
+            i32.ge_u
+            br_if 0 (;@4;)
+            local.get 4
+            i32.const 5
+            i32.shl
+            local.get 2
+            i32.const 31
+            i32.and
+            i32.or
+            local.set 4
+            br 1 (;@3;)
+          end
+          i32.const 0
+          i32.load8_u offset=1049308
+          drop
+          local.get 0
+          i32.load offset=8
+          local.set 5
+          local.get 0
+          i32.load offset=4
+          local.set 6
+          local.get 0
+          i32.load
+          local.set 7
+          block  ;; label = @4
+            i32.const 20
+            call 30
+            local.tee 4
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 4
+            i32.const 1
+            i32.store offset=16
+            local.get 4
+            local.get 3
+            local.get 6
+            i32.add
+            i32.store offset=8
+            local.get 4
+            local.get 7
+            local.get 3
+            i32.sub
+            i32.store offset=4
+            local.get 4
+            local.get 5
+            local.get 3
+            i32.add
+            i32.store
+            local.get 4
+            local.get 2
+            i32.const 2
+            i32.shr_u
+            i32.const 7
+            i32.and
+            i32.store offset=12
+            br 1 (;@3;)
+          end
+          unreachable
+        end
+        local.get 0
+        local.get 4
+        i32.store offset=12
+      end
+      local.get 0
+      local.get 0
+      i32.load
+      local.get 1
+      i32.add
+      i32.store
+      local.get 0
+      local.get 0
+      i32.load offset=8
+      local.get 1
+      i32.sub
+      i32.store offset=8
+      local.get 0
+      i32.const 0
+      local.get 0
+      i32.load offset=4
+      local.tee 4
+      local.get 1
+      i32.sub
+      local.tee 1
+      local.get 1
+      local.get 4
+      i32.gt_u
+      select
+      i32.store offset=4
+    end)
+  (func (;36;) (type 1) (param i32)
+    (local i32)
+    local.get 0
+    local.get 0
+    i32.load offset=16
+    local.tee 1
+    i32.const -1
+    i32.add
+    i32.store offset=16
+    block  ;; label = @1
+      local.get 1
+      i32.const 1
+      i32.ne
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        local.get 0
+        i32.load
+        local.tee 1
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 0
+        i32.load offset=4
+        local.get 1
+        i32.const 1
+        call 10
+      end
+      local.get 0
+      i32.const 20
+      i32.const 4
+      call 10
+    end)
+  (func (;37;) (type 0) (param i32 i32 i32)
+    (local i32 i32)
+    global.get 0
+    i32.const 48
+    i32.sub
+    local.tee 3
+    global.set 0
+    local.get 1
+    local.get 1
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 4
+    i32.store
+    block  ;; label = @1
+      local.get 4
+      i32.eqz
+      br_if 0 (;@1;)
+      i32.const 0
+      i32.load8_u offset=1049308
+      drop
+      i32.const 12
+      call 30
+      local.tee 4
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 4
+      i32.const 8
+      i32.add
+      i32.const 0
+      i32.load offset=1048584 align=1
+      i32.store align=1
+      local.get 4
+      i32.const 0
+      i64.load offset=1048576 align=1
+      i64.store align=1
+      local.get 3
+      i32.const 12
+      i32.store offset=32
+      local.get 3
+      local.get 4
+      i32.store offset=28
+      local.get 3
+      i32.const 12
+      i32.store offset=24
+      local.get 3
+      i32.const 36
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 4
+      i32.const 0
+      i32.store
+      local.get 3
+      i64.const 17179869184
+      i64.store offset=36 align=4
+      local.get 3
+      i32.const 36
+      i32.add
+      local.get 3
+      i32.const 24
+      i32.add
+      i32.const 1
+      call 33
+      local.get 3
+      i32.const 8
+      i32.add
+      local.get 4
+      i32.load
+      i32.store
+      local.get 3
+      local.get 2
+      i32.store offset=16
+      local.get 3
+      local.get 1
+      i32.store offset=12
+      local.get 3
+      local.get 3
+      i64.load offset=36 align=4
+      i64.store
+      local.get 0
+      local.get 3
+      call 38
+      block  ;; label = @2
+        local.get 3
+        i32.load offset=24
+        local.tee 1
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 3
+        i32.load offset=28
+        local.get 1
+        i32.const 1
+        call 10
+      end
+      local.get 3
+      i32.const 48
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;38;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
+    global.get 0
+    i32.const 48
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    local.get 1
+    i32.load offset=4
+    local.get 1
+    i32.load offset=8
+    call 34
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        i32.load offset=12
+        local.tee 3
+        local.get 1
+        i32.load offset=16
+        local.tee 4
+        i32.load offset=8
+        local.tee 5
+        i32.const 4
+        local.get 5
+        i32.const 4
+        i32.gt_u
+        select
+        i32.const -1
+        i32.add
+        i32.const -8
+        i32.and
+        i32.add
+        i32.const 8
+        i32.add
+        local.tee 6
+        i32.load
+        local.tee 7
+        i32.const 2147483646
+        i32.gt_u
+        br_if 0 (;@2;)
+        local.get 6
+        local.get 7
+        i32.const 1
+        i32.add
+        i32.store
+        local.get 6
+        local.get 5
+        i32.const -1
+        i32.add
+        i32.const -4
+        i32.and
+        i32.add
+        i32.const 4
+        i32.add
+        local.tee 5
+        br_if 1 (;@1;)
+      end
+      unreachable
+    end
+    local.get 2
+    i32.const 16
+    i32.add
+    i32.const 24
+    i32.add
+    local.tee 7
+    i64.const 0
+    i64.store
+    local.get 2
+    i32.const 16
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 8
+    i64.const 0
+    i64.store
+    local.get 2
+    i32.const 24
+    i32.add
+    local.tee 9
+    i64.const 0
+    i64.store
+    local.get 2
+    i64.const 0
+    i64.store offset=16
+    local.get 5
+    local.get 2
+    i32.load offset=4
+    local.tee 10
+    local.get 2
+    i32.load offset=8
+    local.tee 11
+    local.get 2
+    i32.const 16
+    i32.add
+    local.get 4
+    i32.load offset=40
+    call_indirect (type 2)
+    local.get 0
+    i32.const 32
+    i32.add
+    local.get 7
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 24
+    i32.add
+    local.get 8
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 16
+    i32.add
+    local.get 9
+    i64.load
+    i64.store align=1
+    local.get 0
+    local.get 2
+    i64.load offset=16
+    i64.store offset=8 align=1
+    local.get 6
+    local.get 6
+    i32.load
+    i32.const -1
+    i32.add
+    i32.store
+    local.get 0
+    local.get 4
+    i32.store offset=4
+    local.get 0
+    local.get 3
+    i32.store
+    local.get 2
+    i32.const 12
+    i32.add
+    local.get 10
+    local.get 11
+    local.get 2
+    i32.load
+    i32.load offset=16
+    call_indirect (type 0)
+    local.get 1
+    call 9
+    local.get 2
+    i32.const 48
+    i32.add
+    global.set 0)
+  (func (;39;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i32)
+    global.get 0
+    i32.const 48
+    i32.sub
+    local.tee 4
+    global.set 0
+    local.get 1
+    local.get 1
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 5
+    i32.store
+    block  ;; label = @1
+      local.get 5
+      i32.eqz
+      br_if 0 (;@1;)
+      i32.const 0
+      i32.load8_u offset=1049308
+      drop
+      i32.const 8
+      call 30
+      local.tee 5
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 5
+      i64.const 8315161612741534050
+      i64.store align=1
+      local.get 4
+      i32.const 8
+      i32.store offset=32
+      local.get 4
+      local.get 5
+      i32.store offset=28
+      local.get 4
+      i32.const 8
+      i32.store offset=24
+      local.get 4
+      i32.const 36
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 6
+      i32.const 0
+      i32.store
+      local.get 4
+      i64.const 17179869184
+      i64.store offset=36 align=4
+      local.get 4
+      i32.const 36
+      i32.add
+      local.get 4
+      i32.const 24
+      i32.add
+      i32.const 1
+      call 33
+      local.get 4
+      i32.const 8
+      i32.add
+      local.get 6
+      i32.load
+      i32.store
+      local.get 4
+      local.get 2
+      i32.store offset=16
+      local.get 4
+      local.get 1
+      i32.store offset=12
+      local.get 4
+      local.get 4
+      i64.load offset=36 align=4
+      i64.store
+      local.get 5
+      i32.const 8
+      i32.const 1
+      call 10
+      local.get 4
+      local.get 3
+      i32.const 2
+      call 33
+      local.get 0
+      local.get 4
+      call 38
+      local.get 4
+      i32.const 48
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;40;) (type 6) (param i32 i32 i32 i32 i32)
+    (local i32 i32 i32)
+    global.get 0
+    i32.const 48
+    i32.sub
+    local.tee 5
+    global.set 0
+    local.get 1
+    local.get 1
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 6
+    i32.store
+    block  ;; label = @1
+      local.get 6
+      i32.eqz
+      br_if 0 (;@1;)
+      i32.const 0
+      i32.load8_u offset=1049308
+      drop
+      i32.const 10
+      call 30
+      local.tee 6
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 6
+      i32.const 8
+      i32.add
+      i32.const 0
+      i32.load16_u offset=1048596 align=1
+      i32.store16 align=1
+      local.get 6
+      i32.const 0
+      i64.load offset=1048588 align=1
+      i64.store align=1
+      local.get 5
+      i32.const 10
+      i32.store offset=32
+      local.get 5
+      local.get 6
+      i32.store offset=28
+      local.get 5
+      i32.const 10
+      i32.store offset=24
+      local.get 5
+      i32.const 36
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 7
+      i32.const 0
+      i32.store
+      local.get 5
+      i64.const 17179869184
+      i64.store offset=36 align=4
+      local.get 5
+      i32.const 36
+      i32.add
+      local.get 5
+      i32.const 24
+      i32.add
+      i32.const 1
+      call 33
+      local.get 5
+      i32.const 8
+      i32.add
+      local.get 7
+      i32.load
+      i32.store
+      local.get 5
+      local.get 2
+      i32.store offset=16
+      local.get 5
+      local.get 1
+      i32.store offset=12
+      local.get 5
+      local.get 5
+      i64.load offset=36 align=4
+      i64.store
+      local.get 6
+      i32.const 10
+      i32.const 1
+      call 10
+      local.get 5
+      local.get 3
+      i32.const 2
+      call 33
+      local.get 5
+      local.get 4
+      i32.const 2
+      call 33
+      local.get 0
+      local.get 5
+      call 38
+      local.get 5
+      i32.const 48
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;41;) (type 6) (param i32 i32 i32 i32 i32)
+    (local i32)
+    global.get 0
+    i32.const 48
+    i32.sub
+    local.tee 5
+    global.set 0
+    local.get 5
+    i32.const 8
+    i32.add
+    local.get 1
+    local.get 2
+    local.get 3
+    local.get 4
+    call 40
+    local.get 0
+    local.get 5
+    i32.const 8
+    i32.add
+    call 42
+    local.get 5
+    i32.load offset=8
+    local.tee 4
+    local.get 4
+    i32.load
+    i32.const -1
+    i32.add
+    local.tee 3
+    i32.store
+    block  ;; label = @1
+      local.get 3
+      br_if 0 (;@1;)
+      local.get 4
+      local.get 5
+      i32.load offset=12
+      call 11
+    end
+    local.get 5
+    i32.const 48
+    i32.add
+    global.set 0)
+  (func (;42;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32 i32 i32)
+    global.get 0
+    i32.const 64
+    i32.sub
+    local.tee 2
+    global.set 0
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        i32.load
+        local.get 1
+        i32.load offset=4
+        local.tee 3
+        i32.load offset=8
+        local.tee 4
+        i32.const 4
+        local.get 4
+        i32.const 4
+        i32.gt_u
+        select
+        i32.const -1
+        i32.add
+        i32.const -8
+        i32.and
+        i32.add
+        i32.const 8
+        i32.add
+        local.tee 5
+        i32.load
+        local.tee 6
+        i32.const 2147483646
+        i32.gt_u
+        br_if 0 (;@2;)
+        local.get 5
+        local.get 6
+        i32.const 1
+        i32.add
+        i32.store
+        local.get 5
+        local.get 4
+        i32.const -1
+        i32.add
+        i32.const -4
+        i32.and
+        i32.add
+        i32.const 4
+        i32.add
+        local.tee 4
+        br_if 1 (;@1;)
+      end
+      unreachable
+    end
+    local.get 2
+    i32.const 24
+    i32.add
+    local.get 1
+    i32.const 32
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 2
+    i32.const 16
+    i32.add
+    local.get 1
+    i32.const 24
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 2
+    i32.const 8
+    i32.add
+    local.get 1
+    i32.const 16
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 2
+    local.get 1
+    i64.load offset=8 align=1
+    i64.store
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 24
+    i32.add
+    local.tee 1
+    i64.const 0
+    i64.store
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 6
+    i64.const 0
+    i64.store
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 7
+    i64.const 0
+    i64.store
+    local.get 2
+    i64.const 0
+    i64.store offset=32
+    local.get 4
+    local.get 2
+    local.get 2
+    i32.const 32
+    i32.add
+    local.get 3
+    i32.load offset=28
+    call_indirect (type 0)
+    local.get 0
+    i32.const 24
+    i32.add
+    local.get 1
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 16
+    i32.add
+    local.get 6
+    i64.load
+    i64.store align=1
+    local.get 0
+    i32.const 8
+    i32.add
+    local.get 7
+    i64.load
+    i64.store align=1
+    local.get 0
+    local.get 2
+    i64.load offset=32
+    i64.store align=1
+    local.get 5
+    local.get 5
+    i32.load
+    i32.const -1
+    i32.add
+    i32.store
+    local.get 2
+    i32.const 64
+    i32.add
+    global.set 0)
+  (func (;43;) (type 6) (param i32 i32 i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32 i64)
+    global.get 0
+    i32.const 112
+    i32.sub
+    local.tee 5
+    global.set 0
+    local.get 5
+    i32.const 72
+    i32.add
+    i32.const 0
+    i32.store
+    local.get 5
+    i32.const 64
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 5
+    i64.const 0
+    i64.store offset=56
+    i32.const 19
+    local.set 6
+    block  ;; label = @1
+      block  ;; label = @2
+        loop  ;; label = @3
+          local.get 6
+          i32.const -1
+          i32.eq
+          br_if 1 (;@2;)
+          local.get 2
+          local.get 6
+          i32.add
+          local.set 7
+          local.get 5
+          i32.const 56
+          i32.add
+          local.get 6
+          i32.add
+          local.set 8
+          local.get 6
+          i32.const -1
+          i32.add
+          local.set 6
+          local.get 7
+          i32.load8_u
+          local.get 8
+          i32.load8_u
+          i32.eq
+          br_if 0 (;@3;)
+        end
+        local.get 5
+        i32.const 72
+        i32.add
+        i32.const 0
+        i32.store
+        local.get 5
+        i32.const 64
+        i32.add
+        i64.const 0
+        i64.store
+        local.get 5
+        i64.const 0
+        i64.store offset=56
+        i32.const 19
+        local.set 6
+        block  ;; label = @3
+          loop  ;; label = @4
+            local.get 6
+            i32.const -1
+            i32.eq
+            br_if 1 (;@3;)
+            local.get 3
+            local.get 6
+            i32.add
+            local.set 7
+            local.get 5
+            i32.const 56
+            i32.add
+            local.get 6
+            i32.add
+            local.set 8
+            local.get 6
+            i32.const -1
+            i32.add
+            local.set 6
+            local.get 7
+            i32.load8_u
+            local.get 8
+            i32.load8_u
+            i32.eq
+            br_if 0 (;@4;)
+          end
+          local.get 0
+          local.get 1
+          local.get 2
+          local.get 3
+          local.get 4
+          call 44
+          local.get 3
+          i32.load offset=7 align=1
+          local.set 9
+          local.get 3
+          i32.load offset=3 align=1
+          local.set 10
+          local.get 2
+          i32.load offset=7 align=1
+          local.set 11
+          local.get 2
+          i32.load offset=3 align=1
+          local.set 12
+          local.get 5
+          i32.const 0
+          i32.store offset=20
+          local.get 5
+          i64.const 17179869184
+          i64.store offset=12 align=4
+          local.get 5
+          i32.const 12
+          i32.add
+          local.get 4
+          i32.const 3
+          call 33
+          local.get 0
+          local.get 1
+          i32.load offset=8
+          local.tee 7
+          i32.const 4
+          local.get 7
+          i32.const 4
+          i32.gt_u
+          select
+          i32.const -1
+          i32.add
+          i32.const -8
+          i32.and
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 6
+          i32.load
+          local.tee 8
+          i32.const 2147483646
+          i32.gt_u
+          br_if 2 (;@1;)
+          local.get 6
+          local.get 8
+          i32.const 1
+          i32.add
+          i32.store
+          local.get 6
+          local.get 7
+          i32.const -1
+          i32.add
+          i32.const -4
+          i32.and
+          i32.add
+          i32.const 4
+          i32.add
+          local.tee 4
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 5
+          i32.const 24
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 0
+          local.get 2
+          i32.const 19
+          i32.add
+          i32.load8_u
+          i32.store8
+          local.get 5
+          i32.const 24
+          i32.add
+          i32.const 17
+          i32.add
+          i32.const 0
+          i32.store align=1
+          local.get 5
+          local.get 2
+          i64.load offset=11 align=1
+          local.tee 13
+          i64.store offset=24
+          local.get 5
+          i64.const 0
+          i64.store offset=33 align=1
+          local.get 5
+          i32.const 56
+          i32.add
+          i32.const 13
+          i32.add
+          local.tee 8
+          local.get 5
+          i32.const 24
+          i32.add
+          i32.const 13
+          i32.add
+          i64.load align=1
+          i64.store align=1
+          local.get 5
+          i32.const 56
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 7
+          local.get 0
+          i64.load
+          i64.store
+          local.get 5
+          local.get 13
+          i64.store offset=56
+          local.get 5
+          i32.const 24
+          i32.add
+          i32.const 2
+          i32.add
+          local.get 2
+          i32.const 2
+          i32.add
+          i32.load8_u
+          i32.store8
+          local.get 5
+          local.get 2
+          i32.load16_u align=1
+          i32.store16 offset=24
+          local.get 5
+          local.get 11
+          i32.store offset=31 align=1
+          local.get 5
+          local.get 12
+          i32.store offset=27 align=1
+          local.get 5
+          i32.const 24
+          i32.add
+          i32.const 24
+          i32.add
+          local.get 8
+          i64.load align=1
+          i64.store align=1
+          local.get 5
+          i32.const 24
+          i32.add
+          i32.const 19
+          i32.add
+          local.get 7
+          i64.load
+          i64.store align=1
+          local.get 5
+          local.get 13
+          i64.store offset=35 align=1
+          local.get 7
+          local.get 3
+          i32.const 19
+          i32.add
+          i32.load8_u
+          i32.store8
+          local.get 5
+          i32.const 56
+          i32.add
+          i32.const 17
+          i32.add
+          i32.const 0
+          i32.store align=1
+          local.get 5
+          local.get 3
+          i64.load offset=11 align=1
+          local.tee 13
+          i64.store offset=56
+          local.get 5
+          i64.const 0
+          i64.store offset=65 align=1
+          local.get 5
+          i32.const 88
+          i32.add
+          i32.const 13
+          i32.add
+          local.tee 2
+          local.get 8
+          i64.load align=1
+          i64.store align=1
+          local.get 5
+          i32.const 88
+          i32.add
+          i32.const 8
+          i32.add
+          local.tee 8
+          local.get 7
+          i64.load
+          i64.store
+          local.get 5
+          local.get 13
+          i64.store offset=88
+          local.get 5
+          i32.const 56
+          i32.add
+          i32.const 2
+          i32.add
+          local.get 3
+          i32.const 2
+          i32.add
+          i32.load8_u
+          i32.store8
+          local.get 5
+          local.get 3
+          i32.load16_u align=1
+          i32.store16 offset=56
+          local.get 5
+          local.get 9
+          i32.store offset=63 align=1
+          local.get 5
+          local.get 10
+          i32.store offset=59 align=1
+          local.get 5
+          i32.const 56
+          i32.add
+          i32.const 24
+          i32.add
+          local.get 2
+          i64.load align=1
+          i64.store align=1
+          local.get 5
+          i32.const 56
+          i32.add
+          i32.const 19
+          i32.add
+          local.get 8
+          i64.load
+          i64.store align=1
+          local.get 5
+          local.get 13
+          i64.store offset=67 align=1
+          local.get 5
+          i32.const 88
+          i32.add
+          local.get 5
+          i32.load offset=16
+          local.get 5
+          i32.load offset=20
+          call 34
+          local.get 4
+          local.get 1
+          i32.const 12
+          i32.add
+          i32.load
+          local.get 1
+          i32.const 40
+          i32.add
+          i32.load
+          i32.const 1048598
+          local.get 5
+          i32.const 24
+          i32.add
+          local.get 5
+          i32.const 56
+          i32.add
+          local.get 5
+          i32.const 88
+          i32.add
+          call 45
+          local.get 5
+          i32.const 12
+          i32.add
+          call 9
+          local.get 6
+          local.get 6
+          i32.load
+          i32.const -1
+          i32.add
+          i32.store
+          local.get 5
+          i32.const 112
+          i32.add
+          global.set 0
+          return
+        end
+        i32.const 1048658
+        i32.const 16
+        call 21
+        unreachable
+      end
+      i32.const 1048674
+      i32.const 14
+      call 21
+    end
+    unreachable)
+  (func (;44;) (type 6) (param i32 i32 i32 i32 i32)
+    (local i32 i32 i32 i32)
+    global.get 0
+    i32.const 176
+    i32.sub
+    local.tee 5
+    global.set 0
+    local.get 5
+    i32.const 152
+    i32.add
+    i32.const 0
+    i32.store
+    local.get 5
+    i32.const 144
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 5
+    i64.const 0
+    i64.store offset=136
+    i32.const 19
+    local.set 6
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          loop  ;; label = @4
+            local.get 6
+            i32.const -1
+            i32.eq
+            br_if 1 (;@3;)
+            local.get 2
+            local.get 6
+            i32.add
+            local.set 7
+            local.get 5
+            i32.const 136
+            i32.add
+            local.get 6
+            i32.add
+            local.set 8
+            local.get 6
+            i32.const -1
+            i32.add
+            local.set 6
+            local.get 7
+            i32.load8_u
+            local.get 8
+            i32.load8_u
+            i32.eq
+            br_if 0 (;@4;)
+          end
+          local.get 5
+          i32.const 136
+          i32.add
+          local.get 0
+          local.get 1
+          local.get 2
+          call 39
+          local.get 5
+          local.get 5
+          i32.const 136
+          i32.add
+          call 42
+          local.get 5
+          i32.load offset=136
+          local.tee 6
+          local.get 6
+          i32.load
+          i32.const -1
+          i32.add
+          local.tee 7
+          i32.store
+          block  ;; label = @4
+            local.get 7
+            br_if 0 (;@4;)
+            local.get 6
+            local.get 5
+            i32.load offset=140
+            call 11
+          end
+          i32.const 31
+          local.set 6
+          loop  ;; label = @4
+            local.get 6
+            i32.const -1
+            i32.eq
+            br_if 2 (;@2;)
+            local.get 4
+            local.get 6
+            i32.add
+            i32.load8_u
+            local.tee 7
+            local.get 5
+            local.get 6
+            i32.add
+            i32.load8_u
+            local.tee 8
+            i32.lt_u
+            br_if 2 (;@2;)
+            local.get 6
+            i32.const -1
+            i32.add
+            local.set 6
+            local.get 7
+            local.get 8
+            i32.le_u
+            br_if 0 (;@4;)
+          end
+          i32.const 1048688
+          i32.const 20
+          call 21
+          unreachable
+        end
+        local.get 5
+        i32.const 32
+        i32.add
+        local.get 0
+        local.get 1
+        call 37
+        local.get 5
+        i32.const 136
+        i32.add
+        local.get 0
+        local.get 1
+        call 37
+        local.get 5
+        i32.const 104
+        i32.add
+        local.get 5
+        i32.const 136
+        i32.add
+        call 42
+        local.get 5
+        i32.const 72
+        i32.add
+        local.get 5
+        i32.const 104
+        i32.add
+        local.get 4
+        call 23
+        local.get 5
+        i32.const 32
+        i32.add
+        local.get 5
+        i32.const 72
+        i32.add
+        call 46
+        local.get 5
+        i32.load offset=136
+        local.tee 6
+        local.get 6
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 7
+        i32.store
+        block  ;; label = @3
+          local.get 7
+          br_if 0 (;@3;)
+          local.get 6
+          local.get 5
+          i32.load offset=140
+          call 11
+        end
+        local.get 5
+        i32.load offset=32
+        local.tee 6
+        local.get 6
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 7
+        i32.store
+        local.get 7
+        br_if 1 (;@1;)
+        local.get 6
+        local.get 5
+        i32.load offset=36
+        call 11
+        br 1 (;@1;)
+      end
+      local.get 5
+      i32.const 32
+      i32.add
+      local.get 0
+      local.get 1
+      local.get 2
+      call 39
+      local.get 5
+      i32.const 136
+      i32.add
+      local.get 0
+      local.get 1
+      local.get 2
+      call 39
+      local.get 5
+      i32.const 104
+      i32.add
+      local.get 5
+      i32.const 136
+      i32.add
+      call 42
+      local.get 5
+      i32.const 72
+      i32.add
+      local.get 5
+      i32.const 104
+      i32.add
+      local.get 4
+      call 24
+      local.get 5
+      i32.const 32
+      i32.add
+      local.get 5
+      i32.const 72
+      i32.add
+      call 46
+      local.get 5
+      i32.load offset=136
+      local.tee 6
+      local.get 6
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 7
+      i32.store
+      block  ;; label = @2
+        local.get 7
+        br_if 0 (;@2;)
+        local.get 6
+        local.get 5
+        i32.load offset=140
+        call 11
+      end
+      local.get 5
+      i32.load offset=32
+      local.tee 6
+      local.get 6
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 7
+      i32.store
+      local.get 7
+      br_if 0 (;@1;)
+      local.get 6
+      local.get 5
+      i32.load offset=36
+      call 11
+    end
+    local.get 5
+    i32.const 152
+    i32.add
+    i32.const 0
+    i32.store
+    local.get 5
+    i32.const 144
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 5
+    i64.const 0
+    i64.store offset=136
+    i32.const 19
+    local.set 6
+    block  ;; label = @1
+      block  ;; label = @2
+        loop  ;; label = @3
+          local.get 6
+          i32.const -1
+          i32.eq
+          br_if 1 (;@2;)
+          local.get 3
+          local.get 6
+          i32.add
+          local.set 7
+          local.get 5
+          i32.const 136
+          i32.add
+          local.get 6
+          i32.add
+          local.set 8
+          local.get 6
+          i32.const -1
+          i32.add
+          local.set 6
+          local.get 7
+          i32.load8_u
+          local.get 8
+          i32.load8_u
+          i32.eq
+          br_if 0 (;@3;)
+        end
+        local.get 5
+        i32.const 32
+        i32.add
+        local.get 0
+        local.get 1
+        local.get 3
+        call 39
+        local.get 5
+        i32.const 136
+        i32.add
+        local.get 0
+        local.get 1
+        local.get 3
+        call 39
+        local.get 5
+        i32.const 104
+        i32.add
+        local.get 5
+        i32.const 136
+        i32.add
+        call 42
+        local.get 5
+        i32.const 72
+        i32.add
+        local.get 5
+        i32.const 104
+        i32.add
+        local.get 4
+        call 23
+        local.get 5
+        i32.const 32
+        i32.add
+        local.get 5
+        i32.const 72
+        i32.add
+        call 46
+        local.get 5
+        i32.load offset=136
+        local.tee 6
+        local.get 6
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 7
+        i32.store
+        block  ;; label = @3
+          local.get 7
+          br_if 0 (;@3;)
+          local.get 6
+          local.get 5
+          i32.load offset=140
+          call 11
+        end
+        local.get 5
+        i32.load offset=32
+        local.tee 6
+        local.get 6
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 7
+        i32.store
+        local.get 7
+        br_if 1 (;@1;)
+        local.get 6
+        local.get 5
+        i32.load offset=36
+        call 11
+        br 1 (;@1;)
+      end
+      local.get 5
+      i32.const 32
+      i32.add
+      local.get 0
+      local.get 1
+      call 37
+      local.get 5
+      i32.const 136
+      i32.add
+      local.get 0
+      local.get 1
+      call 37
+      local.get 5
+      i32.const 104
+      i32.add
+      local.get 5
+      i32.const 136
+      i32.add
+      call 42
+      local.get 5
+      i32.const 72
+      i32.add
+      local.get 5
+      i32.const 104
+      i32.add
+      local.get 4
+      call 24
+      local.get 5
+      i32.const 32
+      i32.add
+      local.get 5
+      i32.const 72
+      i32.add
+      call 46
+      local.get 5
+      i32.load offset=136
+      local.tee 6
+      local.get 6
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 7
+      i32.store
+      block  ;; label = @2
+        local.get 7
+        br_if 0 (;@2;)
+        local.get 6
+        local.get 5
+        i32.load offset=140
+        call 11
+      end
+      local.get 5
+      i32.load offset=32
+      local.tee 6
+      local.get 6
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 7
+      i32.store
+      local.get 7
+      br_if 0 (;@1;)
+      local.get 6
+      local.get 5
+      i32.load offset=36
+      call 11
+    end
+    local.get 5
+    i32.const 176
+    i32.add
+    global.set 0)
+  (func (;45;) (type 10) (param i32 i32 i32 i32 i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32)
+    global.get 0
+    i32.const 128
+    i32.sub
+    local.tee 7
+    global.set 0
+    local.get 7
+    i32.const 64
+    i32.add
+    local.get 3
+    i32.const 30
+    call 49
+    local.get 7
+    i32.const 96
+    i32.add
+    i32.const 24
+    i32.add
+    local.tee 3
+    i64.const 0
+    i64.store
+    local.get 7
+    i32.const 96
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 8
+    i64.const 0
+    i64.store
+    local.get 7
+    i32.const 96
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 9
+    i64.const 0
+    i64.store
+    local.get 7
+    i64.const 0
+    i64.store offset=96
+    local.get 0
+    local.get 7
+    i32.load offset=68
+    local.tee 10
+    local.get 7
+    i32.load offset=72
+    local.tee 11
+    local.get 7
+    i32.const 96
+    i32.add
+    local.get 2
+    call_indirect (type 2)
+    local.get 7
+    i32.const 24
+    i32.add
+    local.tee 2
+    local.get 3
+    i64.load
+    i64.store
+    local.get 7
+    i32.const 16
+    i32.add
+    local.tee 12
+    local.get 8
+    i64.load
+    i64.store
+    local.get 7
+    i32.const 8
+    i32.add
+    local.tee 13
+    local.get 9
+    i64.load
+    i64.store
+    local.get 7
+    local.get 7
+    i64.load offset=96
+    i64.store
+    local.get 7
+    i32.const 64
+    i32.add
+    i32.const 12
+    i32.add
+    local.get 10
+    local.get 11
+    local.get 7
+    i32.load offset=64
+    i32.load offset=16
+    call_indirect (type 0)
+    local.get 7
+    i32.const 32
+    i32.add
+    i32.const 24
+    i32.add
+    local.get 2
+    i64.load
+    i64.store
+    local.get 7
+    i32.const 32
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 12
+    i64.load
+    i64.store
+    local.get 7
+    i32.const 32
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 13
+    i64.load
+    i64.store
+    local.get 7
+    local.get 7
+    i64.load
+    i64.store offset=32
+    local.get 7
+    i32.const 64
+    i32.add
+    i32.const 24
+    i32.add
+    local.get 4
+    i32.const 24
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 7
+    i32.const 64
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 4
+    i32.const 16
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 7
+    i32.const 64
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 4
+    i32.const 8
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 7
+    local.get 4
+    i64.load align=1
+    i64.store offset=64
+    local.get 3
+    local.get 5
+    i32.const 24
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 8
+    local.get 5
+    i32.const 16
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 9
+    local.get 5
+    i32.const 8
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 7
+    local.get 5
+    i64.load align=1
+    i64.store offset=96
+    local.get 0
+    local.get 7
+    i32.const 32
+    i32.add
+    local.get 7
+    i32.const 64
+    i32.add
+    local.get 7
+    i32.const 96
+    i32.add
+    local.get 6
+    i32.load offset=4
+    local.tee 4
+    local.get 6
+    i32.load offset=8
+    local.tee 5
+    local.get 1
+    call_indirect (type 4)
+    local.get 6
+    i32.const 12
+    i32.add
+    local.get 4
+    local.get 5
+    local.get 6
+    i32.load
+    i32.load offset=16
+    call_indirect (type 0)
+    local.get 7
+    i32.const 128
+    i32.add
+    global.set 0)
+  (func (;46;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32)
+    global.get 0
+    i32.const 64
+    i32.sub
+    local.tee 2
+    global.set 0
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load
+        local.get 0
+        i32.load offset=4
+        local.tee 3
+        i32.load offset=8
+        local.tee 4
+        i32.const 4
+        local.get 4
+        i32.const 4
+        i32.gt_u
+        select
+        i32.const -1
+        i32.add
+        i32.const -8
+        i32.and
+        i32.add
+        i32.const 8
+        i32.add
+        local.tee 5
+        i32.load
+        br_if 0 (;@2;)
+        local.get 5
+        i32.const -1
+        i32.store
+        local.get 5
+        local.get 4
+        i32.const -1
+        i32.add
+        i32.const -4
+        i32.and
+        i32.add
+        i32.const 4
+        i32.add
+        local.tee 4
+        br_if 1 (;@1;)
+      end
+      unreachable
+    end
+    local.get 2
+    i32.const 24
+    i32.add
+    local.get 0
+    i32.const 32
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 2
+    i32.const 16
+    i32.add
+    local.get 0
+    i32.const 24
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 2
+    i32.const 8
+    i32.add
+    local.get 0
+    i32.const 16
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 2
+    local.get 0
+    i64.load offset=8 align=1
+    i64.store
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 24
+    i32.add
+    local.get 1
+    i32.const 24
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 1
+    i32.const 16
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 2
+    i32.const 32
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=1
+    i64.store
+    local.get 2
+    local.get 1
+    i64.load align=1
+    i64.store offset=32
+    local.get 4
+    local.get 2
+    local.get 2
+    i32.const 32
+    i32.add
+    local.get 3
+    i32.load offset=32
+    call_indirect (type 0)
+    local.get 5
+    local.get 5
+    i32.load
+    i32.const 1
+    i32.add
+    i32.store
+    local.get 2
+    i32.const 64
+    i32.add
+    global.set 0)
+  (func (;47;) (type 4) (param i32 i32 i32 i32 i32 i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i64)
+    global.get 0
+    i32.const 112
+    i32.sub
+    local.tee 6
+    global.set 0
+    local.get 6
+    i32.const 16
+    i32.add
+    i32.const 0
+    i32.store
+    local.get 6
+    i32.const 8
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 6
+    i64.const 0
+    i64.store
+    i32.const 19
+    local.set 7
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          loop  ;; label = @4
+            local.get 7
+            i32.const -1
+            i32.eq
+            br_if 1 (;@3;)
+            local.get 2
+            local.get 7
+            i32.add
+            local.set 8
+            local.get 6
+            local.get 7
+            i32.add
+            local.set 9
+            local.get 7
+            i32.const -1
+            i32.add
+            local.set 7
+            local.get 8
+            i32.load8_u
+            local.get 9
+            i32.load8_u
+            i32.eq
+            br_if 0 (;@4;)
+          end
+          local.get 6
+          i32.const 16
+          i32.add
+          i32.const 0
+          i32.store
+          local.get 6
+          i32.const 8
+          i32.add
+          i64.const 0
+          i64.store
+          local.get 6
+          i64.const 0
+          i64.store
+          i32.const 19
+          local.set 7
+          loop  ;; label = @4
+            local.get 7
+            i32.const -1
+            i32.eq
+            br_if 2 (;@2;)
+            local.get 3
+            local.get 7
+            i32.add
+            local.set 8
+            local.get 6
+            local.get 7
+            i32.add
+            local.set 9
+            local.get 7
+            i32.const -1
+            i32.add
+            local.set 7
+            local.get 8
+            i32.load8_u
+            local.get 9
+            i32.load8_u
+            i32.eq
+            br_if 0 (;@4;)
+          end
+          local.get 6
+          local.get 0
+          local.get 1
+          local.get 2
+          local.get 3
+          call 40
+          local.get 6
+          local.get 4
+          call 46
+          local.get 6
+          i32.load
+          local.tee 7
+          local.get 7
+          i32.load
+          i32.const -1
+          i32.add
+          local.tee 8
+          i32.store
+          block  ;; label = @4
+            local.get 8
+            br_if 0 (;@4;)
+            local.get 7
+            local.get 6
+            i32.load offset=4
+            call 11
+          end
+          block  ;; label = @4
+            local.get 5
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 3
+            i32.load offset=7 align=1
+            local.set 5
+            local.get 3
+            i32.load offset=3 align=1
+            local.set 10
+            local.get 2
+            i32.load offset=7 align=1
+            local.set 11
+            local.get 2
+            i32.load offset=3 align=1
+            local.set 12
+            local.get 6
+            i32.const 0
+            i32.store offset=52
+            local.get 6
+            i64.const 17179869184
+            i64.store offset=44 align=4
+            local.get 6
+            i32.const 44
+            i32.add
+            local.get 4
+            i32.const 3
+            call 33
+            local.get 0
+            local.get 1
+            i32.load offset=8
+            local.tee 8
+            i32.const 4
+            local.get 8
+            i32.const 4
+            i32.gt_u
+            select
+            i32.const -1
+            i32.add
+            i32.const -8
+            i32.and
+            i32.add
+            i32.const 8
+            i32.add
+            local.tee 7
+            i32.load
+            local.tee 9
+            i32.const 2147483646
+            i32.gt_u
+            br_if 3 (;@1;)
+            local.get 7
+            local.get 9
+            i32.const 1
+            i32.add
+            i32.store
+            local.get 7
+            local.get 8
+            i32.const -1
+            i32.add
+            i32.const -4
+            i32.and
+            i32.add
+            i32.const 4
+            i32.add
+            local.tee 4
+            i32.eqz
+            br_if 3 (;@1;)
+            local.get 6
+            i32.const 56
+            i32.add
+            i32.const 8
+            i32.add
+            local.tee 0
+            local.get 2
+            i32.const 11
+            i32.add
+            local.tee 8
+            i32.const 8
+            i32.add
+            i32.load8_u
+            i32.store8
+            local.get 6
+            i32.const 56
+            i32.add
+            i32.const 17
+            i32.add
+            i32.const 0
+            i32.store align=1
+            local.get 6
+            local.get 8
+            i64.load align=1
+            local.tee 13
+            i64.store offset=56
+            local.get 6
+            i64.const 0
+            i64.store offset=65 align=1
+            local.get 6
+            i32.const 13
+            i32.add
+            local.tee 9
+            local.get 6
+            i32.const 56
+            i32.add
+            i32.const 13
+            i32.add
+            i64.load align=1
+            i64.store align=1
+            local.get 6
+            i32.const 8
+            i32.add
+            local.tee 8
+            local.get 0
+            i64.load
+            i64.store
+            local.get 6
+            local.get 13
+            i64.store
+            local.get 6
+            i32.const 56
+            i32.add
+            i32.const 2
+            i32.add
+            local.get 2
+            i32.const 2
+            i32.add
+            i32.load8_u
+            i32.store8
+            local.get 6
+            local.get 2
+            i32.load16_u align=1
+            i32.store16 offset=56
+            local.get 6
+            local.get 11
+            i32.store offset=63 align=1
+            local.get 6
+            local.get 12
+            i32.store offset=59 align=1
+            local.get 6
+            i32.const 56
+            i32.add
+            i32.const 24
+            i32.add
+            local.get 9
+            i64.load align=1
+            i64.store align=1
+            local.get 6
+            i32.const 56
+            i32.add
+            i32.const 19
+            i32.add
+            local.get 8
+            i64.load
+            i64.store align=1
+            local.get 6
+            local.get 13
+            i64.store offset=67 align=1
+            local.get 8
+            local.get 3
+            i32.const 11
+            i32.add
+            local.tee 2
+            i32.const 8
+            i32.add
+            i32.load8_u
+            i32.store8
+            local.get 6
+            i32.const 17
+            i32.add
+            i32.const 0
+            i32.store align=1
+            local.get 6
+            local.get 2
+            i64.load align=1
+            local.tee 13
+            i64.store
+            local.get 6
+            i64.const 0
+            i64.store offset=9 align=1
+            local.get 6
+            i32.const 88
+            i32.add
+            i32.const 13
+            i32.add
+            local.tee 2
+            local.get 9
+            i64.load align=1
+            i64.store align=1
+            local.get 6
+            i32.const 88
+            i32.add
+            i32.const 8
+            i32.add
+            local.tee 9
+            local.get 8
+            i64.load
+            i64.store
+            local.get 6
+            local.get 13
+            i64.store offset=88
+            local.get 6
+            i32.const 2
+            i32.add
+            local.get 3
+            i32.const 2
+            i32.add
+            i32.load8_u
+            i32.store8
+            local.get 6
+            local.get 3
+            i32.load16_u align=1
+            i32.store16
+            local.get 6
+            local.get 5
+            i32.store offset=7 align=1
+            local.get 6
+            local.get 10
+            i32.store offset=3 align=1
+            local.get 6
+            i32.const 24
+            i32.add
+            local.get 2
+            i64.load align=1
+            i64.store align=1
+            local.get 6
+            i32.const 19
+            i32.add
+            local.get 9
+            i64.load
+            i64.store align=1
+            local.get 6
+            local.get 13
+            i64.store offset=11 align=1
+            local.get 6
+            i32.const 88
+            i32.add
+            local.get 6
+            i32.load offset=48
+            local.get 6
+            i32.load offset=52
+            call 34
+            local.get 4
+            local.get 1
+            i32.const 12
+            i32.add
+            i32.load
+            local.get 1
+            i32.const 40
+            i32.add
+            i32.load
+            i32.const 1048628
+            local.get 6
+            i32.const 56
+            i32.add
+            local.get 6
+            local.get 6
+            i32.const 88
+            i32.add
+            call 45
+            local.get 6
+            i32.const 44
+            i32.add
+            call 9
+            local.get 7
+            local.get 7
+            i32.load
+            i32.const -1
+            i32.add
+            i32.store
+          end
+          local.get 6
+          i32.const 112
+          i32.add
+          global.set 0
+          return
+        end
+        i32.const 1048735
+        i32.const 16
+        call 21
+        unreachable
+      end
+      i32.const 1048720
+      i32.const 15
+      call 21
+    end
+    unreachable)
+  (func (;48;) (type 11) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32)
+    global.get 0
+    i32.const 64
+    i32.sub
+    local.tee 3
+    global.set 0
+    local.get 3
+    i32.const 16
+    i32.add
+    local.get 1
+    local.get 2
+    call 49
+    local.get 3
+    i32.const 56
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 3
+    i32.const 48
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 3
+    i32.const 40
+    i32.add
+    i64.const 0
+    i64.store
+    local.get 3
+    i64.const 0
+    i64.store offset=32
+    local.get 3
+    i32.load offset=20
+    local.tee 2
+    local.get 3
+    i32.load offset=24
+    local.tee 1
+    local.get 3
+    i32.const 32
+    i32.add
+    call 0
+    local.get 3
+    i32.load offset=32
+    local.set 4
+    local.get 3
+    i32.const 16
+    i32.add
+    i32.const 12
+    i32.add
+    local.get 2
+    local.get 1
+    local.get 3
+    i32.load offset=16
+    i32.load offset=16
+    call_indirect (type 0)
+    local.get 3
+    local.get 4
+    i32.store offset=12
+    local.get 3
+    i32.const 32
+    i32.add
+    local.get 3
+    i32.const 12
+    i32.add
+    i32.const 4
+    call 49
+    i32.const 0
+    local.set 2
+    local.get 3
+    i32.load offset=36
+    local.set 1
+    block  ;; label = @1
+      local.get 0
+      i32.load offset=8
+      local.tee 5
+      local.get 3
+      i32.load offset=40
+      local.tee 4
+      i32.ne
+      br_if 0 (;@1;)
+      local.get 0
+      i32.load offset=4
+      local.get 1
+      local.get 5
+      call 106
+      i32.eqz
+      local.set 2
+    end
+    local.get 3
+    i32.const 32
+    i32.add
+    i32.const 12
+    i32.add
+    local.get 1
+    local.get 4
+    local.get 3
+    i32.load offset=32
+    i32.load offset=16
+    call_indirect (type 0)
+    local.get 3
+    i32.const 64
+    i32.add
+    global.set 0
+    local.get 2)
+  (func (;49;) (type 0) (param i32 i32 i32)
+    (local i32 i32 i32)
+    global.get 0
+    i32.const 16
+    i32.sub
+    local.tee 3
+    global.set 0
+    i32.const 0
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 2
+        i32.const 0
+        i32.lt_s
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          local.get 2
+          br_if 0 (;@3;)
+          i32.const 1
+          local.set 5
+          br 2 (;@1;)
+        end
+        i32.const 0
+        i32.load8_u offset=1049308
+        drop
+        local.get 2
+        local.set 4
+        local.get 2
+        call 30
+        local.tee 5
+        br_if 1 (;@1;)
+      end
+      unreachable
+    end
+    local.get 5
+    local.get 1
+    local.get 2
+    call 102
+    local.set 1
+    local.get 3
+    local.get 2
+    i32.store offset=12
+    local.get 3
+    local.get 1
+    i32.store offset=8
+    local.get 3
+    local.get 4
+    i32.store offset=4
+    local.get 0
+    local.get 3
+    i32.const 4
+    i32.add
+    call 32
+    local.get 3
+    i32.const 16
+    i32.add
+    global.set 0)
+  (func (;50;) (type 1) (param i32)
+    (local i32 i32 i32 i32 i32)
+    global.get 0
+    i32.const 256
+    i32.sub
+    local.tee 1
+    global.set 0
+    i32.const 0
+    i32.load8_u offset=1049308
+    drop
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                i32.const 12
+                call 30
+                local.tee 2
+                i32.eqz
+                br_if 0 (;@6;)
+                local.get 2
+                i64.const 4294967297
+                i64.store align=4
+                local.get 2
+                i32.const 1
+                i32.store offset=8
+                local.get 2
+                i32.const -12
+                i32.eq
+                br_if 0 (;@6;)
+                i32.const 0
+                local.set 3
+                call 1
+                local.tee 4
+                i32.const 0
+                i32.lt_s
+                br_if 0 (;@6;)
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 4
+                    br_if 0 (;@8;)
+                    i32.const 1
+                    local.set 5
+                    br 1 (;@7;)
+                  end
+                  i32.const 0
+                  i32.load8_u offset=1049308
+                  drop
+                  local.get 4
+                  call 30
+                  local.tee 5
+                  i32.eqz
+                  br_if 1 (;@6;)
+                  local.get 4
+                  local.set 3
+                end
+                local.get 1
+                local.get 5
+                i32.const 0
+                call 51
+                local.get 1
+                local.get 5
+                i32.const 0
+                call 49
+                block  ;; label = @7
+                  local.get 3
+                  i32.eqz
+                  br_if 0 (;@7;)
+                  local.get 5
+                  local.get 3
+                  i32.const 1
+                  call 10
+                end
+                local.get 2
+                local.get 2
+                i32.load offset=8
+                i32.const -1
+                i32.add
+                local.tee 5
+                i32.store offset=8
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 0
+                    br_if 0 (;@8;)
+                    local.get 1
+                    i32.load offset=8
+                    local.tee 4
+                    i32.const 3
+                    i32.gt_u
+                    br_if 1 (;@7;)
+                    i32.const 1048816
+                    i32.const 33
+                    call 21
+                    unreachable
+                  end
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.get 1
+                  i32.const 8
+                  i32.add
+                  i64.load align=4
+                  i64.store
+                  local.get 2
+                  local.get 2
+                  i32.load
+                  i32.const 1
+                  i32.add
+                  local.tee 4
+                  i32.store
+                  local.get 1
+                  local.get 1
+                  i64.load align=4
+                  i64.store offset=176
+                  local.get 1
+                  i32.const 0
+                  i32.store offset=192
+                  local.get 4
+                  i32.eqz
+                  br_if 1 (;@6;)
+                  local.get 1
+                  i32.const 0
+                  i32.store offset=240
+                  local.get 1
+                  i64.const 17179869184
+                  i64.store offset=232 align=4
+                  local.get 5
+                  br_if 1 (;@6;)
+                  local.get 2
+                  i32.const -1
+                  i32.store offset=8
+                  local.get 1
+                  i32.const 120
+                  i32.add
+                  i32.const 4
+                  i32.const 0
+                  call 34
+                  local.get 1
+                  i32.load offset=124
+                  local.tee 5
+                  local.get 1
+                  i32.load offset=128
+                  local.tee 4
+                  call 2
+                  local.get 1
+                  i32.const 120
+                  i32.add
+                  i32.const 12
+                  i32.add
+                  local.get 5
+                  local.get 4
+                  local.get 1
+                  i32.load offset=120
+                  i32.load offset=16
+                  call_indirect (type 0)
+                  local.get 2
+                  local.get 2
+                  i32.load offset=8
+                  i32.const 1
+                  i32.add
+                  i32.store offset=8
+                  local.get 1
+                  i32.const 232
+                  i32.add
+                  call 9
+                  local.get 2
+                  local.get 2
+                  i32.load
+                  i32.const -1
+                  i32.add
+                  local.tee 5
+                  i32.store
+                  block  ;; label = @8
+                    local.get 5
+                    br_if 0 (;@8;)
+                    local.get 2
+                    i32.const 1048772
+                    call 11
+                  end
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 12
+                  i32.add
+                  local.get 1
+                  i32.load offset=180
+                  local.get 1
+                  i32.load offset=184
+                  local.get 1
+                  i32.load offset=176
+                  i32.load offset=16
+                  call_indirect (type 0)
+                  local.get 2
+                  local.get 2
+                  i32.load
+                  i32.const -1
+                  i32.add
+                  local.tee 5
+                  i32.store
+                  local.get 5
+                  br_if 6 (;@1;)
+                  local.get 2
+                  i32.const 1048772
+                  call 11
+                  br 6 (;@1;)
+                end
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 4
+                    i32.const 4
+                    i32.ne
+                    br_if 0 (;@8;)
+                    local.get 1
+                    i64.const 0
+                    i64.store offset=24
+                    local.get 1
+                    i32.const 1049208
+                    i32.store offset=16
+                    local.get 1
+                    local.get 1
+                    i32.load offset=4
+                    i32.const 4
+                    i32.add
+                    i32.store offset=20
+                    br 1 (;@7;)
+                  end
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  local.get 1
+                  i32.const 12
+                  i32.add
+                  local.get 1
+                  i32.load offset=4
+                  local.get 4
+                  local.get 1
+                  i32.load
+                  i32.load
+                  call_indirect (type 2)
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.tee 5
+                  local.get 5
+                  i32.load
+                  i32.const -4
+                  i32.add
+                  i32.store
+                  local.get 1
+                  i32.const 16
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.get 5
+                  i64.load align=4
+                  i64.store
+                  local.get 1
+                  i32.const 4
+                  i32.store offset=8
+                  local.get 1
+                  local.get 1
+                  i32.load offset=180
+                  i32.const 4
+                  i32.add
+                  i32.store offset=180
+                  local.get 1
+                  local.get 1
+                  i64.load offset=176 align=4
+                  i64.store offset=16
+                  local.get 2
+                  i32.load offset=8
+                  local.set 5
+                end
+                local.get 1
+                i32.const 32
+                i32.add
+                i32.const 8
+                i32.add
+                local.get 1
+                i32.const 8
+                i32.add
+                i64.load align=4
+                i64.store
+                local.get 1
+                local.get 1
+                i64.load align=4
+                i64.store offset=32
+                local.get 5
+                i32.const 2147483647
+                i32.ge_u
+                br_if 0 (;@6;)
+                local.get 2
+                local.get 5
+                i32.const 1
+                i32.add
+                i32.store offset=8
+                local.get 1
+                i32.const 32
+                i32.add
+                i32.const 1048849
+                i32.const 10
+                call 48
+                local.set 5
+                local.get 2
+                local.get 2
+                i32.load offset=8
+                local.tee 4
+                i32.const -1
+                i32.add
+                i32.store offset=8
+                block  ;; label = @7
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        block  ;; label = @11
+                          local.get 5
+                          br_if 0 (;@11;)
+                          local.get 4
+                          i32.const 0
+                          i32.le_s
+                          br_if 5 (;@6;)
+                          local.get 2
+                          local.get 4
+                          i32.store offset=8
+                          local.get 1
+                          i32.const 32
+                          i32.add
+                          i32.const 1048859
+                          i32.const 13
+                          call 48
+                          local.set 5
+                          local.get 2
+                          local.get 2
+                          i32.load offset=8
+                          local.tee 4
+                          i32.const -1
+                          i32.add
+                          i32.store offset=8
+                          local.get 5
+                          br_if 1 (;@10;)
+                          local.get 4
+                          i32.const 0
+                          i32.le_s
+                          br_if 5 (;@6;)
+                          local.get 2
+                          local.get 4
+                          i32.store offset=8
+                          local.get 1
+                          i32.const 32
+                          i32.add
+                          i32.const 1048872
+                          i32.const 18
+                          call 48
+                          local.set 5
+                          local.get 2
+                          local.get 2
+                          i32.load offset=8
+                          local.tee 4
+                          i32.const -1
+                          i32.add
+                          i32.store offset=8
+                          local.get 5
+                          br_if 2 (;@9;)
+                          local.get 4
+                          i32.const 0
+                          i32.le_s
+                          br_if 5 (;@6;)
+                          local.get 2
+                          local.get 4
+                          i32.store offset=8
+                          local.get 1
+                          i32.const 32
+                          i32.add
+                          i32.const 1048890
+                          i32.const 25
+                          call 48
+                          local.set 5
+                          local.get 2
+                          local.get 2
+                          i32.load offset=8
+                          local.tee 4
+                          i32.const -1
+                          i32.add
+                          i32.store offset=8
+                          local.get 5
+                          br_if 3 (;@8;)
+                          local.get 4
+                          i32.const 0
+                          i32.le_s
+                          br_if 5 (;@6;)
+                          local.get 2
+                          local.get 4
+                          i32.store offset=8
+                          local.get 1
+                          i32.const 32
+                          i32.add
+                          i32.const 1048915
+                          i32.const 26
+                          call 48
+                          local.set 5
+                          local.get 2
+                          local.get 2
+                          i32.load offset=8
+                          local.tee 4
+                          i32.const -1
+                          i32.add
+                          i32.store offset=8
+                          local.get 5
+                          i32.eqz
+                          br_if 4 (;@7;)
+                          local.get 2
+                          local.get 1
+                          i32.const 16
+                          i32.add
+                          call 52
+                          br 9 (;@2;)
+                        end
+                        local.get 1
+                        i32.const 120
+                        i32.add
+                        i32.const 8
+                        i32.add
+                        local.get 1
+                        i32.const 16
+                        i32.add
+                        i32.const 8
+                        i32.add
+                        i64.load
+                        i64.store
+                        local.get 2
+                        local.get 2
+                        i32.load
+                        i32.const 1
+                        i32.add
+                        local.tee 5
+                        i32.store
+                        local.get 1
+                        local.get 1
+                        i64.load offset=16
+                        i64.store offset=120
+                        local.get 1
+                        i32.const 0
+                        i32.store offset=136
+                        local.get 5
+                        i32.eqz
+                        br_if 4 (;@6;)
+                        local.get 1
+                        i32.const 0
+                        i32.store offset=240
+                        local.get 1
+                        i64.const 17179869184
+                        i64.store offset=232 align=4
+                        local.get 1
+                        i32.const 176
+                        i32.add
+                        i64.const 18
+                        call 31
+                        local.get 1
+                        i32.const 232
+                        i32.add
+                        local.get 1
+                        i32.const 176
+                        i32.add
+                        i32.const 4
+                        call 33
+                        local.get 2
+                        i32.load offset=8
+                        br_if 4 (;@6;)
+                        local.get 2
+                        i32.const -1
+                        i32.store offset=8
+                        local.get 1
+                        i32.const 176
+                        i32.add
+                        local.get 1
+                        i32.load offset=236
+                        local.get 1
+                        i32.load offset=240
+                        call 34
+                        local.get 1
+                        i32.load offset=180
+                        local.tee 5
+                        local.get 1
+                        i32.load offset=184
+                        local.tee 4
+                        call 2
+                        local.get 1
+                        i32.const 176
+                        i32.add
+                        i32.const 12
+                        i32.add
+                        local.get 5
+                        local.get 4
+                        local.get 1
+                        i32.load offset=176
+                        i32.load offset=16
+                        call_indirect (type 0)
+                        local.get 2
+                        local.get 2
+                        i32.load offset=8
+                        i32.const 1
+                        i32.add
+                        i32.store offset=8
+                        local.get 1
+                        i32.const 232
+                        i32.add
+                        call 9
+                        local.get 2
+                        local.get 2
+                        i32.load
+                        i32.const -1
+                        i32.add
+                        local.tee 5
+                        i32.store
+                        block  ;; label = @11
+                          local.get 5
+                          br_if 0 (;@11;)
+                          local.get 2
+                          i32.const 1048772
+                          call 11
+                        end
+                        local.get 1
+                        i32.const 120
+                        i32.add
+                        i32.const 12
+                        i32.add
+                        local.get 1
+                        i32.load offset=124
+                        local.get 1
+                        i32.load offset=128
+                        local.get 1
+                        i32.load offset=120
+                        i32.load offset=16
+                        call_indirect (type 0)
+                        local.get 2
+                        local.get 2
+                        i32.load
+                        i32.const -1
+                        i32.add
+                        local.tee 5
+                        i32.store
+                        local.get 5
+                        br_if 8 (;@2;)
+                        local.get 2
+                        i32.const 1048772
+                        call 11
+                        br 8 (;@2;)
+                      end
+                      local.get 1
+                      i32.const 232
+                      i32.add
+                      i32.const 8
+                      i32.add
+                      local.get 1
+                      i32.const 16
+                      i32.add
+                      i32.const 8
+                      i32.add
+                      i64.load
+                      i64.store
+                      local.get 2
+                      local.get 2
+                      i32.load
+                      i32.const 1
+                      i32.add
+                      local.tee 5
+                      i32.store
+                      local.get 1
+                      local.get 1
+                      i64.load offset=16
+                      i64.store offset=232
+                      local.get 1
+                      i32.const 0
+                      i32.store offset=248
+                      local.get 5
+                      i32.eqz
+                      br_if 3 (;@6;)
+                      local.get 1
+                      i32.const 176
+                      i32.add
+                      local.get 2
+                      i32.const 1048772
+                      call 37
+                      local.get 1
+                      i32.const 120
+                      i32.add
+                      local.get 1
+                      i32.const 176
+                      i32.add
+                      call 42
+                      local.get 1
+                      i32.load offset=176
+                      local.tee 5
+                      local.get 5
+                      i32.load
+                      i32.const -1
+                      i32.add
+                      local.tee 4
+                      i32.store
+                      block  ;; label = @10
+                        local.get 4
+                        br_if 0 (;@10;)
+                        local.get 5
+                        local.get 1
+                        i32.load offset=180
+                        call 11
+                      end
+                      local.get 1
+                      i32.const 0
+                      i32.store offset=160
+                      local.get 1
+                      i64.const 17179869184
+                      i64.store offset=152 align=4
+                      local.get 1
+                      i32.const 176
+                      i32.add
+                      i32.const 24
+                      i32.add
+                      local.get 1
+                      i32.const 120
+                      i32.add
+                      i32.const 24
+                      i32.add
+                      i64.load align=1
+                      i64.store
+                      local.get 1
+                      i32.const 176
+                      i32.add
+                      i32.const 16
+                      i32.add
+                      local.get 1
+                      i32.const 120
+                      i32.add
+                      i32.const 16
+                      i32.add
+                      i64.load align=1
+                      i64.store
+                      local.get 1
+                      i32.const 176
+                      i32.add
+                      i32.const 8
+                      i32.add
+                      local.get 1
+                      i32.const 120
+                      i32.add
+                      i32.const 8
+                      i32.add
+                      i64.load align=1
+                      i64.store
+                      local.get 1
+                      local.get 1
+                      i64.load offset=120 align=1
+                      i64.store offset=176
+                      local.get 1
+                      i32.const 152
+                      i32.add
+                      local.get 1
+                      i32.const 176
+                      i32.add
+                      i32.const 4
+                      call 33
+                      local.get 2
+                      i32.load offset=8
+                      br_if 3 (;@6;)
+                      local.get 2
+                      i32.const -1
+                      i32.store offset=8
+                      local.get 1
+                      i32.const 176
+                      i32.add
+                      local.get 1
+                      i32.load offset=156
+                      local.get 1
+                      i32.load offset=160
+                      call 34
+                      local.get 1
+                      i32.load offset=180
+                      local.tee 5
+                      local.get 1
+                      i32.load offset=184
+                      local.tee 4
+                      call 2
+                      local.get 1
+                      i32.const 176
+                      i32.add
+                      i32.const 12
+                      i32.add
+                      local.get 5
+                      local.get 4
+                      local.get 1
+                      i32.load offset=176
+                      i32.load offset=16
+                      call_indirect (type 0)
+                      local.get 2
+                      local.get 2
+                      i32.load offset=8
+                      i32.const 1
+                      i32.add
+                      i32.store offset=8
+                      local.get 1
+                      i32.const 152
+                      i32.add
+                      call 9
+                      local.get 2
+                      local.get 2
+                      i32.load
+                      i32.const -1
+                      i32.add
+                      local.tee 5
+                      i32.store
+                      block  ;; label = @10
+                        local.get 5
+                        br_if 0 (;@10;)
+                        local.get 2
+                        i32.const 1048772
+                        call 11
+                      end
+                      local.get 1
+                      i32.const 232
+                      i32.add
+                      i32.const 12
+                      i32.add
+                      local.get 1
+                      i32.load offset=236
+                      local.get 1
+                      i32.load offset=240
+                      local.get 1
+                      i32.load offset=232
+                      i32.load offset=16
+                      call_indirect (type 0)
+                      local.get 2
+                      local.get 2
+                      i32.load
+                      i32.const -1
+                      i32.add
+                      local.tee 5
+                      i32.store
+                      local.get 5
+                      br_if 7 (;@2;)
+                      local.get 2
+                      i32.const 1048772
+                      call 11
+                      br 7 (;@2;)
+                    end
+                    local.get 1
+                    i32.const 96
+                    i32.add
+                    i32.const 8
+                    i32.add
+                    local.get 1
+                    i32.const 16
+                    i32.add
+                    i32.const 8
+                    i32.add
+                    i64.load
+                    i64.store
+                    local.get 1
+                    local.get 1
+                    i64.load offset=16
+                    i64.store offset=96
+                    local.get 1
+                    i32.const 0
+                    i32.store offset=112
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    local.get 1
+                    i32.const 96
+                    i32.add
+                    call 28
+                    local.get 1
+                    i32.const 152
+                    i32.add
+                    i32.const 16
+                    i32.add
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    i32.const 16
+                    i32.add
+                    i32.load
+                    i32.store
+                    local.get 1
+                    i32.const 152
+                    i32.add
+                    i32.const 8
+                    i32.add
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    i32.const 8
+                    i32.add
+                    i64.load align=4
+                    i64.store
+                    local.get 1
+                    local.get 1
+                    i64.load offset=176 align=4
+                    i64.store offset=152
+                    local.get 1
+                    i32.const 232
+                    i32.add
+                    i32.const 16
+                    i32.add
+                    local.get 1
+                    i32.const 212
+                    i32.add
+                    i32.load
+                    i32.store
+                    local.get 1
+                    i32.const 232
+                    i32.add
+                    i32.const 8
+                    i32.add
+                    local.get 1
+                    i32.const 204
+                    i32.add
+                    i64.load align=4
+                    i64.store
+                    local.get 1
+                    local.get 1
+                    i64.load offset=196 align=4
+                    i64.store offset=232
+                    local.get 2
+                    local.get 2
+                    i32.load
+                    i32.const 1
+                    i32.add
+                    local.tee 5
+                    i32.store
+                    local.get 5
+                    i32.eqz
+                    br_if 2 (;@6;)
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    local.get 2
+                    i32.const 1048772
+                    local.get 1
+                    i32.const 152
+                    i32.add
+                    call 39
+                    local.get 1
+                    i32.const 120
+                    i32.add
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    call 42
+                    local.get 1
+                    i32.load offset=176
+                    local.tee 5
+                    local.get 5
+                    i32.load
+                    i32.const -1
+                    i32.add
+                    local.tee 4
+                    i32.store
+                    block  ;; label = @9
+                      local.get 4
+                      br_if 0 (;@9;)
+                      local.get 5
+                      local.get 1
+                      i32.load offset=180
+                      call 11
+                    end
+                    local.get 1
+                    i32.const 0
+                    i32.store offset=80
+                    local.get 1
+                    i64.const 17179869184
+                    i64.store offset=72 align=4
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    i32.const 24
+                    i32.add
+                    local.get 1
+                    i32.const 120
+                    i32.add
+                    i32.const 24
+                    i32.add
+                    i64.load align=1
+                    i64.store
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    i32.const 16
+                    i32.add
+                    local.get 1
+                    i32.const 120
+                    i32.add
+                    i32.const 16
+                    i32.add
+                    i64.load align=1
+                    i64.store
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    i32.const 8
+                    i32.add
+                    local.get 1
+                    i32.const 120
+                    i32.add
+                    i32.const 8
+                    i32.add
+                    i64.load align=1
+                    i64.store
+                    local.get 1
+                    local.get 1
+                    i64.load offset=120 align=1
+                    i64.store offset=176
+                    local.get 1
+                    i32.const 72
+                    i32.add
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    i32.const 4
+                    call 33
+                    local.get 2
+                    i32.load offset=8
+                    br_if 2 (;@6;)
+                    local.get 2
+                    i32.const -1
+                    i32.store offset=8
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    local.get 1
+                    i32.load offset=76
+                    local.get 1
+                    i32.load offset=80
+                    call 34
+                    local.get 1
+                    i32.load offset=180
+                    local.tee 5
+                    local.get 1
+                    i32.load offset=184
+                    local.tee 4
+                    call 2
+                    local.get 1
+                    i32.const 176
+                    i32.add
+                    i32.const 12
+                    i32.add
+                    local.get 5
+                    local.get 4
+                    local.get 1
+                    i32.load offset=176
+                    i32.load offset=16
+                    call_indirect (type 0)
+                    local.get 2
+                    local.get 2
+                    i32.load offset=8
+                    i32.const 1
+                    i32.add
+                    i32.store offset=8
+                    local.get 1
+                    i32.const 72
+                    i32.add
+                    call 9
+                    local.get 2
+                    local.get 2
+                    i32.load
+                    i32.const -1
+                    i32.add
+                    local.tee 5
+                    i32.store
+                    block  ;; label = @9
+                      local.get 5
+                      br_if 0 (;@9;)
+                      local.get 2
+                      i32.const 1048772
+                      call 11
+                    end
+                    local.get 1
+                    i32.const 232
+                    i32.add
+                    i32.const 12
+                    i32.add
+                    local.get 1
+                    i32.load offset=236
+                    local.get 1
+                    i32.load offset=240
+                    local.get 1
+                    i32.load offset=232
+                    i32.load offset=16
+                    call_indirect (type 0)
+                    local.get 2
+                    local.get 2
+                    i32.load
+                    i32.const -1
+                    i32.add
+                    local.tee 5
+                    i32.store
+                    local.get 5
+                    br_if 6 (;@2;)
+                    local.get 2
+                    i32.const 1048772
+                    call 11
+                    br 6 (;@2;)
+                  end
+                  local.get 1
+                  i32.const 48
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.get 1
+                  i32.const 16
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  i64.load
+                  i64.store
+                  local.get 1
+                  local.get 1
+                  i64.load offset=16
+                  i64.store offset=48
+                  local.get 1
+                  i32.const 0
+                  i32.store offset=64
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  local.get 1
+                  i32.const 48
+                  i32.add
+                  call 28
+                  local.get 1
+                  i32.const 72
+                  i32.add
+                  i32.const 16
+                  i32.add
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 16
+                  i32.add
+                  local.tee 5
+                  i32.load
+                  i32.store
+                  local.get 1
+                  i32.const 72
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.tee 4
+                  i64.load align=4
+                  i64.store
+                  local.get 1
+                  i32.const 96
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.get 1
+                  i32.const 204
+                  i32.add
+                  i64.load align=4
+                  i64.store
+                  local.get 1
+                  i32.const 96
+                  i32.add
+                  i32.const 16
+                  i32.add
+                  local.get 1
+                  i32.const 212
+                  i32.add
+                  i32.load
+                  i32.store
+                  local.get 1
+                  local.get 1
+                  i64.load offset=176 align=4
+                  i64.store offset=72
+                  local.get 1
+                  local.get 1
+                  i64.load offset=196 align=4
+                  i64.store offset=96
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  local.get 1
+                  i32.const 96
+                  i32.add
+                  call 26
+                  local.get 1
+                  i32.const 120
+                  i32.add
+                  i32.const 24
+                  i32.add
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 24
+                  i32.add
+                  i64.load align=4
+                  i64.store
+                  local.get 1
+                  i32.const 120
+                  i32.add
+                  i32.const 16
+                  i32.add
+                  local.get 5
+                  i64.load align=4
+                  i64.store
+                  local.get 1
+                  i32.const 120
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.get 4
+                  i64.load align=4
+                  i64.store
+                  local.get 1
+                  local.get 1
+                  i64.load offset=176 align=4
+                  i64.store offset=120
+                  local.get 1
+                  i32.const 152
+                  i32.add
+                  i32.const 16
+                  i32.add
+                  local.get 1
+                  i32.const 224
+                  i32.add
+                  i32.load
+                  i32.store
+                  local.get 1
+                  i32.const 152
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.get 1
+                  i32.const 216
+                  i32.add
+                  i64.load align=4
+                  i64.store
+                  local.get 1
+                  local.get 1
+                  i64.load offset=208 align=4
+                  i64.store offset=152
+                  local.get 2
+                  local.get 2
+                  i32.load
+                  i32.const 1
+                  i32.add
+                  local.tee 5
+                  i32.store
+                  local.get 5
+                  i32.eqz
+                  br_if 1 (;@6;)
+                  local.get 2
+                  i32.load offset=8
+                  local.tee 5
+                  i32.const 2147483647
+                  i32.ge_u
+                  br_if 1 (;@6;)
+                  local.get 2
+                  local.get 5
+                  i32.const 1
+                  i32.add
+                  i32.store offset=8
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 16
+                  i32.add
+                  local.tee 5
+                  i32.const 0
+                  i32.store
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.tee 4
+                  i64.const 0
+                  i64.store
+                  local.get 1
+                  i64.const 0
+                  i64.store offset=176
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  call 3
+                  local.get 1
+                  i32.const 232
+                  i32.add
+                  i32.const 16
+                  i32.add
+                  local.get 5
+                  i32.load
+                  i32.store
+                  local.get 1
+                  i32.const 232
+                  i32.add
+                  i32.const 8
+                  i32.add
+                  local.get 4
+                  i64.load
+                  i64.store
+                  local.get 1
+                  local.get 1
+                  i64.load offset=176
+                  i64.store offset=232
+                  local.get 2
+                  local.get 2
+                  i32.load offset=8
+                  i32.const -1
+                  i32.add
+                  i32.store offset=8
+                  local.get 2
+                  i32.const 1048772
+                  local.get 1
+                  i32.const 232
+                  i32.add
+                  local.get 1
+                  i32.const 72
+                  i32.add
+                  local.get 1
+                  i32.const 120
+                  i32.add
+                  call 43
+                  local.get 1
+                  i32.const 0
+                  i32.store offset=240
+                  local.get 1
+                  i64.const 17179869184
+                  i64.store offset=232 align=4
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i64.const 0
+                  call 31
+                  local.get 1
+                  i32.const 232
+                  i32.add
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 4
+                  call 33
+                  local.get 2
+                  i32.load offset=8
+                  br_if 1 (;@6;)
+                  local.get 2
+                  i32.const -1
+                  i32.store offset=8
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  local.get 1
+                  i32.load offset=236
+                  local.get 1
+                  i32.load offset=240
+                  call 34
+                  local.get 1
+                  i32.load offset=180
+                  local.tee 5
+                  local.get 1
+                  i32.load offset=184
+                  local.tee 4
+                  call 2
+                  local.get 1
+                  i32.const 176
+                  i32.add
+                  i32.const 12
+                  i32.add
+                  local.get 5
+                  local.get 4
+                  local.get 1
+                  i32.load offset=176
+                  i32.load offset=16
+                  call_indirect (type 0)
+                  local.get 2
+                  local.get 2
+                  i32.load offset=8
+                  i32.const 1
+                  i32.add
+                  i32.store offset=8
+                  local.get 1
+                  i32.const 232
+                  i32.add
+                  call 9
+                  local.get 2
+                  local.get 2
+                  i32.load
+                  i32.const -1
+                  i32.add
+                  local.tee 5
+                  i32.store
+                  block  ;; label = @8
+                    local.get 5
+                    br_if 0 (;@8;)
+                    local.get 2
+                    i32.const 1048772
+                    call 11
+                  end
+                  local.get 1
+                  i32.const 152
+                  i32.add
+                  i32.const 12
+                  i32.add
+                  local.get 1
+                  i32.load offset=156
+                  local.get 1
+                  i32.load offset=160
+                  local.get 1
+                  i32.load offset=152
+                  i32.load offset=16
+                  call_indirect (type 0)
+                  local.get 2
+                  local.get 2
+                  i32.load
+                  i32.const -1
+                  i32.add
+                  local.tee 5
+                  i32.store
+                  local.get 5
+                  br_if 5 (;@2;)
+                  local.get 2
+                  i32.const 1048772
+                  call 11
+                  br 5 (;@2;)
+                end
+                local.get 4
+                i32.const 0
+                i32.le_s
+                br_if 0 (;@6;)
+                local.get 2
+                local.get 4
+                i32.store offset=8
+                local.get 1
+                i32.const 32
+                i32.add
+                i32.const 1048941
+                i32.const 24
+                call 48
+                local.set 5
+                local.get 2
+                local.get 2
+                i32.load offset=8
+                local.tee 4
+                i32.const -1
+                i32.add
+                i32.store offset=8
+                local.get 5
+                br_if 1 (;@5;)
+                local.get 4
+                i32.const 0
+                i32.le_s
+                br_if 0 (;@6;)
+                local.get 2
+                local.get 4
+                i32.store offset=8
+                local.get 1
+                i32.const 32
+                i32.add
+                i32.const 1048965
+                i32.const 37
+                call 48
+                local.set 5
+                local.get 2
+                local.get 2
+                i32.load offset=8
+                local.tee 4
+                i32.const -1
+                i32.add
+                i32.store offset=8
+                local.get 5
+                br_if 2 (;@4;)
+                local.get 4
+                i32.const 0
+                i32.le_s
+                br_if 0 (;@6;)
+                local.get 2
+                local.get 4
+                i32.store offset=8
+                local.get 1
+                i32.const 32
+                i32.add
+                i32.const 1049002
+                i32.const 21
+                call 48
+                local.set 5
+                local.get 2
+                local.get 2
+                i32.load offset=8
+                i32.const -1
+                i32.add
+                i32.store offset=8
+                local.get 5
+                i32.eqz
+                br_if 3 (;@3;)
+                local.get 2
+                local.get 1
+                i32.const 16
+                i32.add
+                call 53
+                br 4 (;@2;)
+              end
+              unreachable
+            end
+            local.get 2
+            local.get 1
+            i32.const 16
+            i32.add
+            call 54
+            br 2 (;@2;)
+          end
+          local.get 2
+          local.get 1
+          i32.const 16
+          i32.add
+          call 55
+          br 1 (;@2;)
+        end
+        i32.const 1049023
+        i32.const 16
+        call 21
+        unreachable
+      end
+      local.get 1
+      i32.const 44
+      i32.add
+      local.get 1
+      i32.load offset=36
+      local.get 1
+      i32.load offset=40
+      local.get 1
+      i32.load offset=32
+      i32.load offset=16
+      call_indirect (type 0)
+    end
+    local.get 1
+    i32.const 256
+    i32.add
+    global.set 0)
+  (func (;51;) (type 0) (param i32 i32 i32)
+    block  ;; label = @1
+      call 1
+      local.get 2
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 1
+      call 6
+      return
+    end
+    i32.const 1049178
+    i32.const 28
+    call 22
+    unreachable)
+  (func (;52;) (type 3) (param i32 i32)
+    (local i32 i32 i64 i32)
+    global.get 0
+    i32.const 192
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    i32.const 8
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    local.tee 4
+    i64.store
+    local.get 2
+    i32.const 0
+    i32.store offset=24
+    local.get 2
+    local.get 1
+    i64.load align=4
+    i64.store offset=8
+    block  ;; label = @1
+      local.get 4
+      i32.wrap_i64
+      local.tee 1
+      i32.const 31
+      i32.le_u
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 176
+      i32.add
+      local.get 2
+      i32.const 20
+      i32.add
+      local.get 2
+      i32.load offset=12
+      local.get 1
+      local.get 2
+      i32.load offset=8
+      i32.load
+      call_indirect (type 2)
+      local.get 2
+      i32.const 32
+      i32.store offset=184
+      local.get 2
+      i32.const 124
+      i32.add
+      local.get 2
+      i32.const 176
+      i32.add
+      call 19
+      local.get 2
+      i32.const 152
+      i32.add
+      local.tee 1
+      local.get 3
+      i64.load
+      local.tee 4
+      i64.store align=4
+      local.get 2
+      i32.const 56
+      i32.add
+      i32.const 16
+      i32.add
+      i32.const 32
+      i32.store
+      local.get 2
+      i32.const 56
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 4
+      i64.store
+      local.get 2
+      i32.const 32
+      i32.store offset=160
+      local.get 2
+      local.get 2
+      i64.load offset=8
+      local.tee 4
+      i64.store offset=144 align=4
+      local.get 2
+      i32.const 32
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 2
+      i32.const 124
+      i32.add
+      i32.const 16
+      i32.add
+      local.tee 3
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 32
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 2
+      i32.const 124
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 5
+      i64.load align=4
+      i64.store
+      local.get 2
+      local.get 4
+      i64.store offset=56
+      local.get 2
+      local.get 2
+      i64.load offset=124 align=4
+      i64.store offset=32
+      local.get 2
+      i32.const 124
+      i32.add
+      local.get 2
+      i32.const 56
+      i32.add
+      call 28
+      local.get 2
+      i32.const 80
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 3
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 80
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 5
+      i64.load align=4
+      i64.store
+      local.get 2
+      local.get 2
+      i64.load offset=124 align=4
+      i64.store offset=80
+      local.get 2
+      i32.const 104
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 2
+      i32.const 160
+      i32.add
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 104
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 1
+      i64.load align=4
+      i64.store
+      local.get 2
+      local.get 2
+      i64.load offset=144 align=4
+      i64.store offset=104
+      local.get 0
+      local.get 0
+      i32.load
+      i32.const 1
+      i32.add
+      local.tee 1
+      i32.store
+      local.get 1
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 124
+      i32.add
+      local.get 0
+      i32.const 1048772
+      local.get 2
+      i32.const 32
+      i32.add
+      local.get 2
+      i32.const 80
+      i32.add
+      call 41
+      local.get 2
+      i32.const 0
+      i32.store offset=172
+      local.get 2
+      i64.const 17179869184
+      i64.store offset=164 align=4
+      local.get 2
+      i32.const 164
+      i32.add
+      local.get 2
+      i32.const 124
+      i32.add
+      i32.const 4
+      call 33
+      local.get 0
+      i32.const 8
+      i32.add
+      local.tee 1
+      i32.load
+      br_if 0 (;@1;)
+      local.get 1
+      i32.const -1
+      i32.store
+      local.get 0
+      i32.const -12
+      i32.eq
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 124
+      i32.add
+      local.get 2
+      i32.load offset=168
+      local.get 2
+      i32.load offset=172
+      call 34
+      local.get 2
+      i32.load offset=128
+      local.tee 1
+      local.get 2
+      i32.load offset=132
+      local.tee 3
+      call 2
+      local.get 2
+      i32.const 124
+      i32.add
+      i32.const 12
+      i32.add
+      local.get 1
+      local.get 3
+      local.get 2
+      i32.load offset=124
+      i32.load offset=16
+      call_indirect (type 0)
+      local.get 0
+      i32.const 8
+      i32.add
+      local.tee 1
+      local.get 1
+      i32.load
+      i32.const 1
+      i32.add
+      i32.store
+      local.get 2
+      i32.const 164
+      i32.add
+      call 9
+      local.get 0
+      local.get 0
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 1
+      i32.store
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 1048772
+        call 11
+      end
+      local.get 2
+      i32.const 104
+      i32.add
+      i32.const 12
+      i32.add
+      local.get 2
+      i32.load offset=108
+      local.get 2
+      i32.load offset=112
+      local.get 2
+      i32.load offset=104
+      i32.load offset=16
+      call_indirect (type 0)
+      local.get 0
+      local.get 0
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 1
+      i32.store
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 1048772
+        call 11
+      end
+      local.get 2
+      i32.const 192
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;53;) (type 3) (param i32 i32)
+    (local i32 i32 i32)
+    global.get 0
+    i32.const 192
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    i32.const 8
+    i32.add
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 0
+    i32.store offset=16
+    local.get 2
+    local.get 1
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    call 28
+    local.get 2
+    i32.const 24
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 1
+    i32.load
+    i32.store
+    local.get 2
+    i32.const 24
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 48
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 156
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 48
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 164
+    i32.add
+    i32.load
+    i32.store
+    local.get 2
+    local.get 2
+    i64.load offset=128 align=4
+    i64.store offset=24
+    local.get 2
+    local.get 2
+    i64.load offset=148 align=4
+    i64.store offset=48
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    i32.const 48
+    i32.add
+    call 26
+    local.get 2
+    i32.const 72
+    i32.add
+    i32.const 24
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 24
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 72
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 1
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 72
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 3
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=128 align=4
+    i64.store offset=72
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 176
+    i32.add
+    i32.load
+    i32.store
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 168
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=160 align=4
+    i64.store offset=104
+    local.get 0
+    local.get 0
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 4
+    i32.store
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 4
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        i32.const 0
+        i32.store
+        local.get 3
+        i64.const 0
+        i64.store
+        local.get 2
+        i64.const 0
+        i64.store offset=128
+        i32.const 19
+        local.set 1
+        loop  ;; label = @3
+          local.get 1
+          i32.const -1
+          i32.eq
+          br_if 2 (;@1;)
+          local.get 2
+          i32.const 128
+          i32.add
+          local.get 1
+          i32.add
+          local.set 3
+          local.get 2
+          i32.const 24
+          i32.add
+          local.get 1
+          i32.add
+          local.set 4
+          local.get 1
+          i32.const -1
+          i32.add
+          local.set 1
+          local.get 4
+          i32.load8_u
+          local.get 3
+          i32.load8_u
+          i32.eq
+          br_if 0 (;@3;)
+        end
+        local.get 2
+        i32.const 144
+        i32.add
+        i32.const 0
+        i32.store
+        local.get 2
+        i32.const 128
+        i32.add
+        i32.const 8
+        i32.add
+        i64.const 0
+        i64.store
+        local.get 2
+        i64.const 0
+        i64.store offset=128
+        local.get 0
+        i32.const 1048772
+        local.get 2
+        i32.const 128
+        i32.add
+        local.get 2
+        i32.const 24
+        i32.add
+        local.get 2
+        i32.const 72
+        i32.add
+        call 44
+        local.get 2
+        i32.const 0
+        i32.store offset=188
+        local.get 2
+        i64.const 17179869184
+        i64.store offset=180 align=4
+        local.get 0
+        i32.const 8
+        i32.add
+        local.tee 1
+        i32.load
+        br_if 0 (;@2;)
+        local.get 1
+        i32.const -1
+        i32.store
+        local.get 0
+        i32.const -12
+        i32.eq
+        br_if 0 (;@2;)
+        local.get 2
+        i32.const 128
+        i32.add
+        i32.const 4
+        i32.const 0
+        call 34
+        local.get 2
+        i32.load offset=132
+        local.tee 1
+        local.get 2
+        i32.load offset=136
+        local.tee 3
+        call 2
+        local.get 2
+        i32.const 128
+        i32.add
+        i32.const 12
+        i32.add
+        local.get 1
+        local.get 3
+        local.get 2
+        i32.load offset=128
+        i32.load offset=16
+        call_indirect (type 0)
+        local.get 0
+        i32.const 8
+        i32.add
+        local.tee 1
+        local.get 1
+        i32.load
+        i32.const 1
+        i32.add
+        i32.store
+        local.get 2
+        i32.const 180
+        i32.add
+        call 9
+        local.get 0
+        local.get 0
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 1
+        i32.store
+        block  ;; label = @3
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 1048772
+          call 11
+        end
+        local.get 2
+        i32.const 104
+        i32.add
+        i32.const 12
+        i32.add
+        local.get 2
+        i32.load offset=108
+        local.get 2
+        i32.load offset=112
+        local.get 2
+        i32.load offset=104
+        i32.load offset=16
+        call_indirect (type 0)
+        local.get 0
+        local.get 0
+        i32.load
+        i32.const -1
+        i32.add
+        local.tee 1
+        i32.store
+        block  ;; label = @3
+          local.get 1
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 1048772
+          call 11
+        end
+        local.get 2
+        i32.const 192
+        i32.add
+        global.set 0
+        return
+      end
+      unreachable
+    end
+    i32.const 1048708
+    i32.const 12
+    call 21
+    unreachable)
+  (func (;54;) (type 3) (param i32 i32)
+    (local i32 i32 i32)
+    global.get 0
+    i32.const 208
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    i32.const 8
+    i32.add
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 0
+    i32.store offset=16
+    local.get 2
+    local.get 1
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    call 28
+    local.get 2
+    i32.const 24
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 16
+    i32.add
+    local.tee 1
+    i32.load
+    i32.store
+    local.get 2
+    i32.const 24
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 8
+    i32.add
+    local.tee 3
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 48
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 156
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 48
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 164
+    i32.add
+    i32.load
+    i32.store
+    local.get 2
+    local.get 2
+    i64.load offset=128 align=4
+    i64.store offset=24
+    local.get 2
+    local.get 2
+    i64.load offset=148 align=4
+    i64.store offset=48
+    local.get 2
+    i32.const 128
+    i32.add
+    local.get 2
+    i32.const 48
+    i32.add
+    call 26
+    local.get 2
+    i32.const 72
+    i32.add
+    i32.const 24
+    i32.add
+    local.get 2
+    i32.const 128
+    i32.add
+    i32.const 24
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 72
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 1
+    i64.load align=4
+    i64.store
+    local.get 2
+    i32.const 72
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 3
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=128 align=4
+    i64.store offset=72
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 16
+    i32.add
+    local.get 2
+    i32.const 176
+    i32.add
+    i32.load
+    i32.store
+    local.get 2
+    i32.const 104
+    i32.add
+    i32.const 8
+    i32.add
+    local.get 2
+    i32.const 168
+    i32.add
+    i64.load align=4
+    i64.store
+    local.get 2
+    local.get 2
+    i64.load offset=160 align=4
+    i64.store offset=104
+    local.get 0
+    local.get 0
+    i32.load
+    i32.const 1
+    i32.add
+    local.tee 1
+    i32.store
+    block  ;; label = @1
+      local.get 1
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      i32.const 8
+      i32.add
+      i32.load
+      local.tee 3
+      i32.const 2147483646
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 0
+      i32.const 8
+      i32.add
+      local.tee 1
+      local.get 3
+      i32.const 1
+      i32.add
+      i32.store
+      local.get 0
+      i32.const -12
+      i32.eq
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 128
+      i32.add
+      i32.const 16
+      i32.add
+      local.tee 3
+      i32.const 0
+      i32.store
+      local.get 2
+      i32.const 128
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 4
+      i64.const 0
+      i64.store
+      local.get 2
+      i64.const 0
+      i64.store offset=128
+      local.get 2
+      i32.const 128
+      i32.add
+      call 3
+      local.get 2
+      i32.const 184
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 3
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 184
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 4
+      i64.load
+      i64.store
+      local.get 2
+      local.get 2
+      i64.load offset=128
+      i64.store offset=184
+      local.get 1
+      local.get 1
+      i32.load
+      i32.const -1
+      i32.add
+      i32.store
+      local.get 0
+      i32.const 1048772
+      local.get 2
+      i32.const 184
+      i32.add
+      local.get 2
+      i32.const 24
+      i32.add
+      local.get 2
+      i32.const 72
+      i32.add
+      i32.const 1
+      call 47
+      local.get 2
+      i32.const 0
+      i32.store offset=192
+      local.get 2
+      i64.const 17179869184
+      i64.store offset=184 align=4
+      local.get 2
+      i32.const 128
+      i32.add
+      i64.const 0
+      call 31
+      local.get 2
+      i32.const 184
+      i32.add
+      local.get 2
+      i32.const 128
+      i32.add
+      i32.const 4
+      call 33
+      local.get 1
+      i32.load
+      br_if 0 (;@1;)
+      local.get 0
+      i32.const 8
+      i32.add
+      local.tee 1
+      i32.const -1
+      i32.store
+      local.get 2
+      i32.const 128
+      i32.add
+      local.get 2
+      i32.load offset=188
+      local.get 2
+      i32.load offset=192
+      call 34
+      local.get 2
+      i32.load offset=132
+      local.tee 3
+      local.get 2
+      i32.load offset=136
+      local.tee 4
+      call 2
+      local.get 2
+      i32.const 128
+      i32.add
+      i32.const 12
+      i32.add
+      local.get 3
+      local.get 4
+      local.get 2
+      i32.load offset=128
+      i32.load offset=16
+      call_indirect (type 0)
+      local.get 1
+      local.get 1
+      i32.load
+      i32.const 1
+      i32.add
+      i32.store
+      local.get 2
+      i32.const 184
+      i32.add
+      call 9
+      local.get 0
+      local.get 0
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 1
+      i32.store
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 1048772
+        call 11
+      end
+      local.get 2
+      i32.const 104
+      i32.add
+      i32.const 12
+      i32.add
+      local.get 2
+      i32.load offset=108
+      local.get 2
+      i32.load offset=112
+      local.get 2
+      i32.load offset=104
+      i32.load offset=16
+      call_indirect (type 0)
+      local.get 0
+      local.get 0
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 1
+      i32.store
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 1048772
+        call 11
+      end
+      local.get 2
+      i32.const 208
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;55;) (type 3) (param i32 i32)
+    (local i32 i32 i64 i32)
+    global.get 0
+    i32.const 304
+    i32.sub
+    local.tee 2
+    global.set 0
+    local.get 2
+    i32.const 8
+    i32.add
+    local.tee 3
+    local.get 1
+    i32.const 8
+    i32.add
+    i64.load align=4
+    local.tee 4
+    i64.store
+    local.get 2
+    i32.const 0
+    i32.store offset=16
+    local.get 2
+    local.get 1
+    i64.load align=4
+    i64.store
+    block  ;; label = @1
+      local.get 4
+      i32.wrap_i64
+      local.tee 1
+      i32.const 31
+      i32.le_u
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 288
+      i32.add
+      local.get 2
+      i32.const 12
+      i32.add
+      local.get 2
+      i32.load offset=4
+      local.get 1
+      local.get 2
+      i32.load
+      i32.load
+      call_indirect (type 2)
+      local.get 2
+      i32.const 32
+      i32.store offset=296
+      local.get 2
+      i32.const 176
+      i32.add
+      local.get 2
+      i32.const 288
+      i32.add
+      call 19
+      local.get 2
+      i32.const 204
+      i32.add
+      local.tee 5
+      local.get 3
+      i64.load
+      local.tee 4
+      i64.store align=4
+      local.get 2
+      i32.const 48
+      i32.add
+      i32.const 16
+      i32.add
+      i32.const 32
+      i32.store
+      local.get 2
+      i32.const 48
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 4
+      i64.store
+      local.get 2
+      i32.const 32
+      i32.store offset=212
+      local.get 2
+      local.get 2
+      i64.load
+      local.tee 4
+      i64.store offset=196 align=4
+      local.get 2
+      i32.const 24
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 2
+      i32.const 176
+      i32.add
+      i32.const 16
+      i32.add
+      local.tee 1
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 24
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 2
+      i32.const 176
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 3
+      i64.load align=4
+      i64.store
+      local.get 2
+      local.get 4
+      i64.store offset=48
+      local.get 2
+      local.get 2
+      i64.load offset=176 align=4
+      i64.store offset=24
+      local.get 2
+      i32.const 176
+      i32.add
+      local.get 2
+      i32.const 48
+      i32.add
+      call 28
+      local.get 2
+      i32.const 72
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 1
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 72
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 3
+      i64.load align=4
+      i64.store
+      local.get 2
+      i32.const 96
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 5
+      i64.load align=4
+      i64.store
+      local.get 2
+      i32.const 96
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 2
+      i32.const 212
+      i32.add
+      i32.load
+      i32.store
+      local.get 2
+      local.get 2
+      i64.load offset=176 align=4
+      i64.store offset=72
+      local.get 2
+      local.get 2
+      i64.load offset=196 align=4
+      i64.store offset=96
+      local.get 2
+      i32.const 176
+      i32.add
+      local.get 2
+      i32.const 96
+      i32.add
+      call 26
+      local.get 2
+      i32.const 120
+      i32.add
+      i32.const 24
+      i32.add
+      local.get 2
+      i32.const 176
+      i32.add
+      i32.const 24
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 2
+      i32.const 120
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 1
+      i64.load align=4
+      i64.store
+      local.get 2
+      i32.const 120
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 3
+      i64.load align=4
+      i64.store
+      local.get 2
+      local.get 2
+      i64.load offset=176 align=4
+      i64.store offset=120
+      local.get 2
+      i32.const 152
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 2
+      i32.const 224
+      i32.add
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 152
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 2
+      i32.const 216
+      i32.add
+      i64.load align=4
+      i64.store
+      local.get 2
+      local.get 2
+      i64.load offset=208 align=4
+      i64.store offset=152
+      local.get 0
+      local.get 0
+      i32.load
+      i32.const 1
+      i32.add
+      local.tee 1
+      i32.store
+      local.get 1
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      i32.const 8
+      i32.add
+      local.tee 1
+      i32.load
+      local.tee 3
+      i32.const 2147483646
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 1
+      local.get 3
+      i32.const 1
+      i32.add
+      i32.store
+      local.get 0
+      i32.const -12
+      i32.eq
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const 176
+      i32.add
+      i32.const 16
+      i32.add
+      local.tee 1
+      i32.const 0
+      i32.store
+      local.get 2
+      i32.const 176
+      i32.add
+      i32.const 8
+      i32.add
+      local.tee 3
+      i64.const 0
+      i64.store
+      local.get 2
+      i64.const 0
+      i64.store offset=176
+      local.get 2
+      i32.const 176
+      i32.add
+      call 3
+      local.get 2
+      i32.const 232
+      i32.add
+      i32.const 16
+      i32.add
+      local.get 1
+      i32.load
+      i32.store
+      local.get 2
+      i32.const 232
+      i32.add
+      i32.const 8
+      i32.add
+      local.get 3
+      i64.load
+      i64.store
+      local.get 2
+      local.get 2
+      i64.load offset=176
+      i64.store offset=232
+      local.get 0
+      i32.const 8
+      i32.add
+      local.tee 1
+      local.get 1
+      i32.load
+      i32.const -1
+      i32.add
+      i32.store
+      local.get 2
+      i32.const 256
+      i32.add
+      local.get 0
+      i32.const 1048772
+      local.get 2
+      i32.const 24
+      i32.add
+      local.get 2
+      i32.const 232
+      i32.add
+      call 41
+      i32.const 31
+      local.set 1
+      block  ;; label = @2
+        loop  ;; label = @3
+          local.get 1
+          i32.const -1
+          i32.eq
+          br_if 1 (;@2;)
+          local.get 2
+          i32.const 120
+          i32.add
+          local.get 1
+          i32.add
+          i32.load8_u
+          local.tee 3
+          local.get 2
+          i32.const 256
+          i32.add
+          local.get 1
+          i32.add
+          i32.load8_u
+          local.tee 5
+          i32.lt_u
+          br_if 1 (;@2;)
+          local.get 1
+          i32.const -1
+          i32.add
+          local.set 1
+          local.get 3
+          local.get 5
+          i32.le_u
+          br_if 0 (;@3;)
+        end
+        i32.const 1048751
+        i32.const 21
+        call 21
+        unreachable
+      end
+      local.get 2
+      i32.const 176
+      i32.add
+      local.get 2
+      i32.const 256
+      i32.add
+      local.get 2
+      i32.const 120
+      i32.add
+      call 24
+      local.get 0
+      i32.const 1048772
+      local.get 2
+      i32.const 24
+      i32.add
+      local.get 2
+      i32.const 232
+      i32.add
+      local.get 2
+      i32.const 176
+      i32.add
+      i32.const 0
+      call 47
+      local.get 0
+      i32.const 1048772
+      local.get 2
+      i32.const 24
+      i32.add
+      local.get 2
+      i32.const 72
+      i32.add
+      local.get 2
+      i32.const 120
+      i32.add
+      call 43
+      local.get 2
+      i32.const 0
+      i32.store offset=264
+      local.get 2
+      i64.const 17179869184
+      i64.store offset=256 align=4
+      local.get 2
+      i32.const 176
+      i32.add
+      i64.const 0
+      call 31
+      local.get 2
+      i32.const 256
+      i32.add
+      local.get 2
+      i32.const 176
+      i32.add
+      i32.const 4
+      call 33
+      local.get 0
+      i32.const 8
+      i32.add
+      local.tee 1
+      i32.load
+      br_if 0 (;@1;)
+      local.get 1
+      i32.const -1
+      i32.store
+      local.get 2
+      i32.const 176
+      i32.add
+      local.get 2
+      i32.load offset=260
+      local.get 2
+      i32.load offset=264
+      call 34
+      local.get 2
+      i32.load offset=180
+      local.tee 3
+      local.get 2
+      i32.load offset=184
+      local.tee 5
+      call 2
+      local.get 2
+      i32.const 176
+      i32.add
+      i32.const 12
+      i32.add
+      local.get 3
+      local.get 5
+      local.get 2
+      i32.load offset=176
+      i32.load offset=16
+      call_indirect (type 0)
+      local.get 1
+      local.get 1
+      i32.load
+      i32.const 1
+      i32.add
+      i32.store
+      local.get 2
+      i32.const 256
+      i32.add
+      call 9
+      local.get 0
+      local.get 0
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 1
+      i32.store
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 1048772
+        call 11
+      end
+      local.get 2
+      i32.const 152
+      i32.add
+      i32.const 12
+      i32.add
+      local.get 2
+      i32.load offset=156
+      local.get 2
+      i32.load offset=160
+      local.get 2
+      i32.load offset=152
+      i32.load offset=16
+      call_indirect (type 0)
+      local.get 0
+      local.get 0
+      i32.load
+      i32.const -1
+      i32.add
+      local.tee 1
+      i32.store
+      block  ;; label = @2
+        local.get 1
+        br_if 0 (;@2;)
+        local.get 0
+        i32.const 1048772
+        call 11
+      end
+      local.get 2
+      i32.const 304
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;56;) (type 4) (param i32 i32 i32 i32 i32 i32)
+    local.get 1
+    local.get 2
+    local.get 3
+    local.get 4
+    local.get 5
+    call 5)
+  (func (;57;) (type 3) (param i32 i32)
+    local.get 1
+    call 3)
+  (func (;58;) (type 8) (param i32) (result i32)
+    call 1)
+  (func (;59;) (type 0) (param i32 i32 i32)
+    local.get 1
+    local.get 2
+    call 7)
+  (func (;60;) (type 0) (param i32 i32 i32)
+    local.get 1
+    local.get 2
+    call 8)
+  (func (;61;) (type 0) (param i32 i32 i32)
+    local.get 1
+    local.get 2
+    call 2)
+  (func (;62;) (type 2) (param i32 i32 i32 i32)
+    local.get 1
+    local.get 2
+    local.get 3
+    call 0)
+  (func (;63;) (type 1) (param i32)
+    (local i32 i32 i32 i32 i32)
+    local.get 0
+    i32.const -8
+    i32.add
+    local.tee 1
+    local.get 0
+    i32.const -4
+    i32.add
+    i32.load
+    local.tee 2
+    i32.const -8
+    i32.and
+    local.tee 0
+    i32.add
+    local.set 3
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 2
+            i32.const 1
+            i32.and
+            br_if 0 (;@4;)
+            local.get 2
+            i32.const 2
+            i32.and
+            i32.eqz
+            br_if 1 (;@3;)
+            local.get 1
+            i32.load
+            local.tee 2
+            local.get 0
+            i32.add
+            local.set 0
+            block  ;; label = @5
+              local.get 1
+              local.get 2
+              i32.sub
+              local.tee 1
+              i32.const 0
+              i32.load offset=1049736
+              i32.ne
+              br_if 0 (;@5;)
+              local.get 3
+              i32.load offset=4
+              i32.const 3
+              i32.and
+              i32.const 3
+              i32.ne
+              br_if 1 (;@4;)
+              i32.const 0
+              local.get 0
+              i32.store offset=1049728
+              local.get 3
+              local.get 3
+              i32.load offset=4
+              i32.const -2
+              i32.and
+              i32.store offset=4
+              local.get 1
+              local.get 0
+              i32.const 1
+              i32.or
+              i32.store offset=4
+              local.get 3
+              local.get 0
+              i32.store
+              return
+            end
+            local.get 1
+            local.get 2
+            call 65
+          end
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                local.get 3
+                i32.load offset=4
+                local.tee 2
+                i32.const 2
+                i32.and
+                br_if 0 (;@6;)
+                local.get 3
+                i32.const 0
+                i32.load offset=1049740
+                i32.eq
+                br_if 2 (;@4;)
+                local.get 3
+                i32.const 0
+                i32.load offset=1049736
+                i32.eq
+                br_if 5 (;@1;)
+                local.get 3
+                local.get 2
+                i32.const -8
+                i32.and
+                local.tee 2
+                call 65
+                local.get 1
+                local.get 2
+                local.get 0
+                i32.add
+                local.tee 0
+                i32.const 1
+                i32.or
+                i32.store offset=4
+                local.get 1
+                local.get 0
+                i32.add
+                local.get 0
+                i32.store
+                local.get 1
+                i32.const 0
+                i32.load offset=1049736
+                i32.ne
+                br_if 1 (;@5;)
+                i32.const 0
+                local.get 0
+                i32.store offset=1049728
+                return
+              end
+              local.get 3
+              local.get 2
+              i32.const -2
+              i32.and
+              i32.store offset=4
+              local.get 1
+              local.get 0
+              i32.const 1
+              i32.or
+              i32.store offset=4
+              local.get 1
+              local.get 0
+              i32.add
+              local.get 0
+              i32.store
+            end
+            local.get 0
+            i32.const 256
+            i32.lt_u
+            br_if 2 (;@2;)
+            local.get 1
+            local.get 0
+            call 100
+            i32.const 0
+            local.set 1
+            i32.const 0
+            i32.const 0
+            i32.load offset=1049760
+            i32.const -1
+            i32.add
+            local.tee 0
+            i32.store offset=1049760
+            local.get 0
+            br_if 1 (;@3;)
+            block  ;; label = @5
+              i32.const 0
+              i32.load offset=1049448
+              local.tee 0
+              i32.eqz
+              br_if 0 (;@5;)
+              i32.const 0
+              local.set 1
+              loop  ;; label = @6
+                local.get 1
+                i32.const 1
+                i32.add
+                local.set 1
+                local.get 0
+                i32.load offset=8
+                local.tee 0
+                br_if 0 (;@6;)
+              end
+            end
+            i32.const 0
+            local.get 1
+            i32.const 4095
+            local.get 1
+            i32.const 4095
+            i32.gt_u
+            select
+            i32.store offset=1049760
+            return
+          end
+          i32.const 0
+          local.get 1
+          i32.store offset=1049740
+          i32.const 0
+          i32.const 0
+          i32.load offset=1049732
+          local.get 0
+          i32.add
+          local.tee 0
+          i32.store offset=1049732
+          local.get 1
+          local.get 0
+          i32.const 1
+          i32.or
+          i32.store offset=4
+          block  ;; label = @4
+            local.get 1
+            i32.const 0
+            i32.load offset=1049736
+            i32.ne
+            br_if 0 (;@4;)
+            i32.const 0
+            i32.const 0
+            i32.store offset=1049728
+            i32.const 0
+            i32.const 0
+            i32.store offset=1049736
+          end
+          i32.const 0
+          i32.load offset=1049752
+          local.tee 4
+          local.get 0
+          i32.ge_u
+          br_if 0 (;@3;)
+          i32.const 0
+          i32.load offset=1049740
+          local.tee 3
+          i32.eqz
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 1
+          block  ;; label = @4
+            i32.const 0
+            i32.load offset=1049732
+            local.tee 5
+            i32.const 41
+            i32.lt_u
+            br_if 0 (;@4;)
+            i32.const 1049440
+            local.set 0
+            loop  ;; label = @5
+              block  ;; label = @6
+                local.get 0
+                i32.load
+                local.tee 2
+                local.get 3
+                i32.gt_u
+                br_if 0 (;@6;)
+                local.get 2
+                local.get 0
+                i32.load offset=4
+                i32.add
+                local.get 3
+                i32.gt_u
+                br_if 2 (;@4;)
+              end
+              local.get 0
+              i32.load offset=8
+              local.tee 0
+              br_if 0 (;@5;)
+            end
+          end
+          block  ;; label = @4
+            i32.const 0
+            i32.load offset=1049448
+            local.tee 0
+            i32.eqz
+            br_if 0 (;@4;)
+            i32.const 0
+            local.set 1
+            loop  ;; label = @5
+              local.get 1
+              i32.const 1
+              i32.add
+              local.set 1
+              local.get 0
+              i32.load offset=8
+              local.tee 0
+              br_if 0 (;@5;)
+            end
+          end
+          i32.const 0
+          local.get 1
+          i32.const 4095
+          local.get 1
+          i32.const 4095
+          i32.gt_u
+          select
+          i32.store offset=1049760
+          local.get 5
+          local.get 4
+          i32.le_u
+          br_if 0 (;@3;)
+          i32.const 0
+          i32.const -1
+          i32.store offset=1049752
+        end
+        return
+      end
+      local.get 0
+      i32.const 248
+      i32.and
+      i32.const 1049456
+      i32.add
+      local.set 3
+      block  ;; label = @2
+        block  ;; label = @3
+          i32.const 0
+          i32.load offset=1049720
+          local.tee 2
+          i32.const 1
+          local.get 0
+          i32.const 3
+          i32.shr_u
+          i32.shl
+          local.tee 0
+          i32.and
+          br_if 0 (;@3;)
+          i32.const 0
+          local.get 2
+          local.get 0
+          i32.or
+          i32.store offset=1049720
+          local.get 3
+          local.set 0
+          br 1 (;@2;)
+        end
+        local.get 3
+        i32.load offset=8
+        local.set 0
+      end
+      local.get 3
+      local.get 1
+      i32.store offset=8
+      local.get 0
+      local.get 1
+      i32.store offset=12
+      local.get 1
+      local.get 3
+      i32.store offset=12
+      local.get 1
+      local.get 0
+      i32.store offset=8
+      return
+    end
+    i32.const 0
+    local.get 1
+    i32.store offset=1049736
+    i32.const 0
+    i32.const 0
+    i32.load offset=1049728
+    local.get 0
+    i32.add
+    local.tee 0
+    i32.store offset=1049728
+    local.get 1
+    local.get 0
+    i32.const 1
+    i32.or
+    i32.store offset=4
+    local.get 1
+    local.get 0
+    i32.add
+    local.get 0
+    i32.store)
+  (func (;64;) (type 11) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.const -4
+        i32.add
+        local.tee 3
+        i32.load
+        local.tee 4
+        i32.const -8
+        i32.and
+        local.tee 5
+        i32.const 4
+        i32.const 8
+        local.get 4
+        i32.const 3
+        i32.and
+        local.tee 6
+        select
+        local.get 1
+        i32.add
+        i32.lt_u
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          local.get 6
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 5
+          local.get 1
+          i32.const 39
+          i32.add
+          i32.gt_u
+          br_if 1 (;@2;)
+        end
+        i32.const 0
+        local.set 1
+        block  ;; label = @3
+          local.get 2
+          i32.const -65588
+          i32.gt_u
+          br_if 0 (;@3;)
+          i32.const 16
+          local.get 2
+          i32.const 11
+          i32.add
+          i32.const -8
+          i32.and
+          local.get 2
+          i32.const 11
+          i32.lt_u
+          select
+          local.set 7
+          block  ;; label = @4
+            block  ;; label = @5
+              block  ;; label = @6
+                block  ;; label = @7
+                  block  ;; label = @8
+                    block  ;; label = @9
+                      block  ;; label = @10
+                        local.get 6
+                        i32.eqz
+                        br_if 0 (;@10;)
+                        local.get 0
+                        i32.const -8
+                        i32.add
+                        local.tee 8
+                        local.get 5
+                        i32.add
+                        local.set 6
+                        local.get 5
+                        local.get 7
+                        i32.ge_u
+                        br_if 1 (;@9;)
+                        local.get 6
+                        i32.const 0
+                        i32.load offset=1049740
+                        i32.eq
+                        br_if 5 (;@5;)
+                        local.get 6
+                        i32.const 0
+                        i32.load offset=1049736
+                        i32.eq
+                        br_if 3 (;@7;)
+                        local.get 6
+                        i32.load offset=4
+                        local.tee 4
+                        i32.const 2
+                        i32.and
+                        br_if 6 (;@4;)
+                        local.get 4
+                        i32.const -8
+                        i32.and
+                        local.tee 4
+                        local.get 5
+                        i32.add
+                        local.tee 5
+                        local.get 7
+                        i32.lt_u
+                        br_if 6 (;@4;)
+                        local.get 6
+                        local.get 4
+                        call 65
+                        local.get 5
+                        local.get 7
+                        i32.sub
+                        local.tee 2
+                        i32.const 16
+                        i32.lt_u
+                        br_if 2 (;@8;)
+                        local.get 3
+                        local.get 3
+                        i32.load
+                        i32.const 1
+                        i32.and
+                        local.get 7
+                        i32.or
+                        i32.const 2
+                        i32.or
+                        i32.store
+                        local.get 8
+                        local.get 7
+                        i32.add
+                        local.tee 1
+                        local.get 2
+                        i32.const 3
+                        i32.or
+                        i32.store offset=4
+                        local.get 8
+                        local.get 5
+                        i32.add
+                        local.tee 5
+                        local.get 5
+                        i32.load offset=4
+                        i32.const 1
+                        i32.or
+                        i32.store offset=4
+                        local.get 1
+                        local.get 2
+                        call 66
+                        local.get 0
+                        return
+                      end
+                      local.get 7
+                      i32.const 256
+                      i32.lt_u
+                      br_if 5 (;@4;)
+                      local.get 5
+                      local.get 7
+                      i32.const 4
+                      i32.or
+                      i32.lt_u
+                      br_if 5 (;@4;)
+                      local.get 5
+                      local.get 7
+                      i32.sub
+                      i32.const 131073
+                      i32.ge_u
+                      br_if 5 (;@4;)
+                      local.get 0
+                      return
+                    end
+                    local.get 5
+                    local.get 7
+                    i32.sub
+                    local.tee 2
+                    i32.const 16
+                    i32.ge_u
+                    br_if 2 (;@6;)
+                    local.get 0
+                    return
+                  end
+                  local.get 3
+                  local.get 3
+                  i32.load
+                  i32.const 1
+                  i32.and
+                  local.get 5
+                  i32.or
+                  i32.const 2
+                  i32.or
+                  i32.store
+                  local.get 8
+                  local.get 5
+                  i32.add
+                  local.tee 2
+                  local.get 2
+                  i32.load offset=4
+                  i32.const 1
+                  i32.or
+                  i32.store offset=4
+                  local.get 0
+                  return
+                end
+                i32.const 0
+                i32.load offset=1049728
+                local.get 5
+                i32.add
+                local.tee 5
+                local.get 7
+                i32.lt_u
+                br_if 2 (;@4;)
+                block  ;; label = @7
+                  block  ;; label = @8
+                    local.get 5
+                    local.get 7
+                    i32.sub
+                    local.tee 2
+                    i32.const 15
+                    i32.gt_u
+                    br_if 0 (;@8;)
+                    local.get 3
+                    local.get 4
+                    i32.const 1
+                    i32.and
+                    local.get 5
+                    i32.or
+                    i32.const 2
+                    i32.or
+                    i32.store
+                    local.get 8
+                    local.get 5
+                    i32.add
+                    local.tee 2
+                    local.get 2
+                    i32.load offset=4
+                    i32.const 1
+                    i32.or
+                    i32.store offset=4
+                    i32.const 0
+                    local.set 2
+                    i32.const 0
+                    local.set 1
+                    br 1 (;@7;)
+                  end
+                  local.get 3
+                  local.get 4
+                  i32.const 1
+                  i32.and
+                  local.get 7
+                  i32.or
+                  i32.const 2
+                  i32.or
+                  i32.store
+                  local.get 8
+                  local.get 7
+                  i32.add
+                  local.tee 1
+                  local.get 2
+                  i32.const 1
+                  i32.or
+                  i32.store offset=4
+                  local.get 8
+                  local.get 5
+                  i32.add
+                  local.tee 5
+                  local.get 2
+                  i32.store
+                  local.get 5
+                  local.get 5
+                  i32.load offset=4
+                  i32.const -2
+                  i32.and
+                  i32.store offset=4
+                end
+                i32.const 0
+                local.get 1
+                i32.store offset=1049736
+                i32.const 0
+                local.get 2
+                i32.store offset=1049728
+                local.get 0
+                return
+              end
+              local.get 3
+              local.get 4
+              i32.const 1
+              i32.and
+              local.get 7
+              i32.or
+              i32.const 2
+              i32.or
+              i32.store
+              local.get 8
+              local.get 7
+              i32.add
+              local.tee 5
+              local.get 2
+              i32.const 3
+              i32.or
+              i32.store offset=4
+              local.get 6
+              local.get 6
+              i32.load offset=4
+              i32.const 1
+              i32.or
+              i32.store offset=4
+              local.get 5
+              local.get 2
+              call 66
+              local.get 0
+              return
+            end
+            i32.const 0
+            i32.load offset=1049732
+            local.get 5
+            i32.add
+            local.tee 5
+            local.get 7
+            i32.gt_u
+            br_if 3 (;@1;)
+          end
+          local.get 2
+          call 30
+          local.tee 5
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 5
+          local.get 0
+          i32.const -4
+          i32.const -8
+          local.get 3
+          i32.load
+          local.tee 1
+          i32.const 3
+          i32.and
+          select
+          local.get 1
+          i32.const -8
+          i32.and
+          i32.add
+          local.tee 1
+          local.get 2
+          local.get 1
+          local.get 2
+          i32.lt_u
+          select
+          call 102
+          local.set 2
+          local.get 0
+          call 63
+          local.get 2
+          local.set 1
+        end
+        local.get 1
+        return
+      end
+      unreachable
+    end
+    local.get 3
+    local.get 4
+    i32.const 1
+    i32.and
+    local.get 7
+    i32.or
+    i32.const 2
+    i32.or
+    i32.store
+    local.get 8
+    local.get 7
+    i32.add
+    local.tee 2
+    local.get 5
+    local.get 7
+    i32.sub
+    local.tee 5
+    i32.const 1
+    i32.or
+    i32.store offset=4
+    i32.const 0
+    local.get 5
+    i32.store offset=1049732
+    i32.const 0
+    local.get 2
+    i32.store offset=1049740
+    local.get 0)
+  (func (;65;) (type 3) (param i32 i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 1
+      i32.const 256
+      i32.lt_u
+      br_if 0 (;@1;)
+      local.get 0
+      call 101
+      return
+    end
+    block  ;; label = @1
+      local.get 0
+      i32.load offset=12
+      local.tee 2
+      local.get 0
+      i32.load offset=8
+      local.tee 0
+      i32.eq
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 2
+      i32.store offset=12
+      local.get 2
+      local.get 0
+      i32.store offset=8
+      return
+    end
+    i32.const 0
+    i32.const 0
+    i32.load offset=1049720
+    i32.const -2
+    local.get 1
+    i32.const 3
+    i32.shr_u
+    i32.rotl
+    i32.and
+    i32.store offset=1049720)
+  (func (;66;) (type 3) (param i32 i32)
+    (local i32 i32)
+    local.get 0
+    local.get 1
+    i32.add
+    local.set 2
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=4
+        local.tee 3
+        i32.const 1
+        i32.and
+        br_if 0 (;@2;)
+        local.get 3
+        i32.const 2
+        i32.and
+        i32.eqz
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load
+        local.tee 3
+        local.get 1
+        i32.add
+        local.set 1
+        block  ;; label = @3
+          local.get 0
+          local.get 3
+          i32.sub
+          local.tee 0
+          i32.const 0
+          i32.load offset=1049736
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 2
+          i32.load offset=4
+          i32.const 3
+          i32.and
+          i32.const 3
+          i32.ne
+          br_if 1 (;@2;)
+          i32.const 0
+          local.get 1
+          i32.store offset=1049728
+          local.get 2
+          local.get 2
+          i32.load offset=4
+          i32.const -2
+          i32.and
+          i32.store offset=4
+          local.get 0
+          local.get 1
+          i32.const 1
+          i32.or
+          i32.store offset=4
+          local.get 2
+          local.get 1
+          i32.store
+          return
+        end
+        local.get 0
+        local.get 3
+        call 65
+      end
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 2
+              i32.load offset=4
+              local.tee 3
+              i32.const 2
+              i32.and
+              br_if 0 (;@5;)
+              local.get 2
+              i32.const 0
+              i32.load offset=1049740
+              i32.eq
+              br_if 2 (;@3;)
+              local.get 2
+              i32.const 0
+              i32.load offset=1049736
+              i32.eq
+              br_if 3 (;@2;)
+              local.get 2
+              local.get 3
+              i32.const -8
+              i32.and
+              local.tee 3
+              call 65
+              local.get 0
+              local.get 3
+              local.get 1
+              i32.add
+              local.tee 1
+              i32.const 1
+              i32.or
+              i32.store offset=4
+              local.get 0
+              local.get 1
+              i32.add
+              local.get 1
+              i32.store
+              local.get 0
+              i32.const 0
+              i32.load offset=1049736
+              i32.ne
+              br_if 1 (;@4;)
+              i32.const 0
+              local.get 1
+              i32.store offset=1049728
+              return
+            end
+            local.get 2
+            local.get 3
+            i32.const -2
+            i32.and
+            i32.store offset=4
+            local.get 0
+            local.get 1
+            i32.const 1
+            i32.or
+            i32.store offset=4
+            local.get 0
+            local.get 1
+            i32.add
+            local.get 1
+            i32.store
+          end
+          local.get 0
+          local.get 1
+          call 99
+          br 2 (;@1;)
+        end
+        i32.const 0
+        local.get 0
+        i32.store offset=1049740
+        i32.const 0
+        i32.const 0
+        i32.load offset=1049732
+        local.get 1
+        i32.add
+        local.tee 1
+        i32.store offset=1049732
+        local.get 0
+        local.get 1
+        i32.const 1
+        i32.or
+        i32.store offset=4
+        local.get 0
+        i32.const 0
+        i32.load offset=1049736
+        i32.ne
+        br_if 1 (;@1;)
+        i32.const 0
+        i32.const 0
+        i32.store offset=1049728
+        i32.const 0
+        i32.const 0
+        i32.store offset=1049736
+        return
+      end
+      i32.const 0
+      local.get 0
+      i32.store offset=1049736
+      i32.const 0
+      i32.const 0
+      i32.load offset=1049728
+      local.get 1
+      i32.add
+      local.tee 1
+      i32.store offset=1049728
+      local.get 0
+      local.get 1
+      i32.const 1
+      i32.or
+      i32.store offset=4
+      local.get 0
+      local.get 1
+      i32.add
+      local.get 1
+      i32.store
+      return
+    end)
+  (func (;67;) (type 3) (param i32 i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.get 0
+      i32.load offset=8
+      local.tee 2
+      i32.sub
+      local.get 1
+      i32.ge_u
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 2
+      local.get 1
+      i32.const 1
+      i32.const 1
+      call 13
+      i32.const -2147483647
+      i32.eq
+      br_if 0 (;@1;)
+      unreachable
+    end)
+  (func (;68;) (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 3
+            i32.load offset=4
+            i32.eqz
+            br_if 0 (;@4;)
+            block  ;; label = @5
+              local.get 3
+              i32.load offset=8
+              local.tee 4
+              br_if 0 (;@5;)
+              local.get 2
+              i32.eqz
+              br_if 3 (;@2;)
+              i32.const 0
+              i32.load8_u offset=1049308
+              drop
+              br 2 (;@3;)
+            end
+            local.get 3
+            i32.load
+            local.get 4
+            local.get 2
+            call 64
+            local.set 3
+            br 3 (;@1;)
+          end
+          local.get 2
+          i32.eqz
+          br_if 1 (;@2;)
+          i32.const 0
+          i32.load8_u offset=1049308
+          drop
+        end
+        local.get 2
+        call 30
+        local.set 3
+        br 1 (;@1;)
+      end
+      local.get 1
+      local.set 3
+    end
+    local.get 0
+    local.get 2
+    i32.store offset=8
+    local.get 0
+    local.get 3
+    local.get 1
+    local.get 3
+    select
+    i32.store offset=4
+    local.get 0
+    local.get 3
+    i32.eqz
+    i32.store)
+  (func (;69;) (type 12)
+    unreachable)
+  (func (;70;) (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      local.tee 4
+      i32.const 1
+      i32.and
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      local.get 4
+      local.get 4
+      i32.const -2
+      i32.and
+      local.get 2
+      local.get 3
+      call 71
+      return
+    end
+    local.get 4
+    local.get 4
+    i32.load offset=8
+    local.tee 1
+    i32.const 1
+    i32.add
+    i32.store offset=8
+    block  ;; label = @1
+      local.get 1
+      i32.const -1
+      i32.le_s
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 4
+      i32.store offset=12
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 2
+      i32.store offset=4
+      local.get 0
+      i32.const 1049268
+      i32.store
+      return
+    end
+    call 69
+    unreachable)
+  (func (;71;) (type 4) (param i32 i32 i32 i32 i32 i32)
+    (local i32)
+    i32.const 0
+    i32.load8_u offset=1049308
+    drop
+    block  ;; label = @1
+      block  ;; label = @2
+        i32.const 12
+        call 30
+        local.tee 6
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 6
+        i32.const 2
+        i32.store offset=8
+        local.get 6
+        local.get 3
+        i32.store
+        local.get 6
+        local.get 4
+        local.get 3
+        i32.sub
+        local.get 5
+        i32.add
+        i32.store offset=4
+        local.get 1
+        local.get 6
+        local.get 1
+        i32.load
+        local.tee 3
+        local.get 3
+        local.get 2
+        i32.eq
+        select
+        i32.store
+        block  ;; label = @3
+          local.get 3
+          local.get 2
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 0
+          local.get 6
+          i32.store offset=12
+          local.get 0
+          local.get 5
+          i32.store offset=8
+          local.get 0
+          local.get 4
+          i32.store offset=4
+          local.get 0
+          i32.const 1049268
+          i32.store
+          return
+        end
+        local.get 3
+        local.get 3
+        i32.load offset=8
+        local.tee 2
+        i32.const 1
+        i32.add
+        i32.store offset=8
+        local.get 2
+        i32.const -1
+        i32.le_s
+        br_if 1 (;@1;)
+        local.get 0
+        local.get 3
+        i32.store offset=12
+        local.get 0
+        local.get 5
+        i32.store offset=8
+        local.get 0
+        local.get 4
+        i32.store offset=4
+        local.get 0
+        i32.const 1049268
+        i32.store
+        local.get 6
+        i32.const 12
+        i32.const 4
+        call 10
+        return
+      end
+      unreachable
+    end
+    call 69
+    unreachable)
+  (func (;72;) (type 2) (param i32 i32 i32 i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      local.tee 1
+      i32.const 1
+      i32.and
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 1
+      i32.const -2
+      i32.and
+      local.get 2
+      local.get 3
+      call 105
+      local.set 1
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 1
+      i32.store offset=4
+      local.get 0
+      local.get 2
+      local.get 3
+      i32.add
+      local.get 1
+      i32.sub
+      i32.store
+      return
+    end
+    local.get 0
+    local.get 1
+    local.get 2
+    local.get 3
+    call 73)
+  (func (;73;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    local.get 1
+    i32.const 0
+    local.get 1
+    i32.load offset=8
+    local.tee 4
+    local.get 4
+    i32.const 1
+    i32.eq
+    local.tee 4
+    select
+    i32.store offset=8
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 4
+          br_if 0 (;@3;)
+          local.get 3
+          i32.const 0
+          i32.lt_s
+          br_if 2 (;@1;)
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 3
+              br_if 0 (;@5;)
+              i32.const 0
+              local.set 5
+              i32.const 1
+              local.set 4
+              br 1 (;@4;)
+            end
+            i32.const 0
+            i32.load8_u offset=1049308
+            drop
+            local.get 3
+            local.set 5
+            local.get 3
+            call 30
+            local.tee 4
+            i32.eqz
+            br_if 3 (;@1;)
+          end
+          local.get 4
+          local.get 2
+          local.get 3
+          call 102
+          drop
+          local.get 1
+          call 78
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.load offset=4
+        local.set 5
+        local.get 1
+        i32.load
+        local.set 4
+        local.get 1
+        i32.const 12
+        i32.const 4
+        call 10
+        local.get 4
+        local.get 2
+        local.get 3
+        call 105
+        drop
+      end
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 4
+      i32.store offset=4
+      local.get 0
+      local.get 5
+      i32.store
+      return
+    end
+    unreachable)
+  (func (;74;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    global.get 0
+    i32.const 16
+    i32.sub
+    local.tee 4
+    global.set 0
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        i32.load
+        local.tee 1
+        i32.const 1
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 4
+        local.get 1
+        i32.const -2
+        i32.and
+        local.tee 1
+        i32.store
+        local.get 4
+        i32.const 8
+        i32.add
+        local.tee 5
+        local.get 2
+        local.get 1
+        i32.sub
+        local.tee 2
+        local.get 3
+        i32.add
+        local.tee 1
+        i32.store
+        local.get 4
+        local.get 1
+        i32.store offset=4
+        local.get 4
+        i32.const 32
+        local.get 1
+        i32.const 10
+        i32.shr_u
+        i32.clz
+        i32.sub
+        local.tee 1
+        i32.const 7
+        local.get 1
+        i32.const 7
+        i32.lt_u
+        select
+        i32.const 2
+        i32.shl
+        i32.const 1
+        i32.or
+        i32.store offset=12
+        local.get 4
+        local.get 2
+        call 35
+        local.get 0
+        i32.const 8
+        i32.add
+        local.get 5
+        i64.load align=4
+        i64.store align=4
+        local.get 0
+        local.get 4
+        i64.load align=4
+        i64.store align=4
+        br 1 (;@1;)
+      end
+      local.get 0
+      local.get 1
+      local.get 2
+      local.get 3
+      call 75
+    end
+    local.get 4
+    i32.const 16
+    i32.add
+    global.set 0)
+  (func (;75;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32 i32)
+    global.get 0
+    i32.const 16
+    i32.sub
+    local.tee 4
+    global.set 0
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.load offset=8
+          i32.const 1
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 1
+          i32.load
+          local.set 5
+          local.get 1
+          i32.load offset=4
+          local.set 6
+          local.get 1
+          i32.const 12
+          i32.const 4
+          call 10
+          local.get 4
+          i32.const 8
+          i32.add
+          local.tee 1
+          local.get 6
+          i32.store
+          local.get 4
+          local.get 2
+          local.get 5
+          i32.sub
+          local.tee 2
+          local.get 3
+          i32.add
+          i32.store offset=4
+          local.get 4
+          local.get 5
+          i32.store
+          local.get 4
+          i32.const 32
+          local.get 6
+          i32.const 10
+          i32.shr_u
+          i32.clz
+          i32.sub
+          local.tee 3
+          i32.const 7
+          local.get 3
+          i32.const 7
+          i32.lt_u
+          select
+          i32.const 2
+          i32.shl
+          i32.const 1
+          i32.or
+          i32.store offset=12
+          local.get 4
+          local.get 2
+          call 35
+          local.get 0
+          i32.const 8
+          i32.add
+          local.get 1
+          i64.load align=4
+          i64.store align=4
+          local.get 0
+          local.get 4
+          i64.load align=4
+          i64.store align=4
+          br 1 (;@2;)
+        end
+        i32.const 0
+        local.set 5
+        local.get 3
+        i32.const 0
+        i32.lt_s
+        br_if 1 (;@1;)
+        i32.const 1
+        local.set 6
+        block  ;; label = @3
+          local.get 3
+          i32.eqz
+          br_if 0 (;@3;)
+          i32.const 0
+          i32.load8_u offset=1049308
+          drop
+          local.get 3
+          local.set 5
+          local.get 3
+          call 30
+          local.tee 6
+          i32.eqz
+          br_if 2 (;@1;)
+        end
+        local.get 6
+        local.get 2
+        local.get 3
+        call 102
+        local.set 2
+        local.get 1
+        call 78
+        local.get 0
+        local.get 5
+        i32.store offset=8
+        local.get 0
+        local.get 3
+        i32.store offset=4
+        local.get 0
+        local.get 2
+        i32.store
+        local.get 0
+        i32.const 32
+        local.get 5
+        i32.const 10
+        i32.shr_u
+        i32.clz
+        i32.sub
+        local.tee 3
+        i32.const 7
+        local.get 3
+        i32.const 7
+        i32.lt_u
+        select
+        i32.const 2
+        i32.shl
+        i32.const 1
+        i32.or
+        i32.store offset=12
+      end
+      local.get 4
+      i32.const 16
+      i32.add
+      global.set 0
+      return
+    end
+    unreachable)
+  (func (;76;) (type 8) (param i32) (result i32)
+    (local i32)
+    i32.const 1
+    local.set 1
+    block  ;; label = @1
+      local.get 0
+      i32.load
+      local.tee 0
+      i32.const 1
+      i32.and
+      br_if 0 (;@1;)
+      local.get 0
+      i32.load offset=8
+      i32.const 1
+      i32.eq
+      local.set 1
+    end
+    local.get 1)
+  (func (;77;) (type 0) (param i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load
+        local.tee 0
+        i32.const 1
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        local.get 0
+        i32.const -2
+        i32.and
+        local.tee 0
+        i32.sub
+        local.get 2
+        i32.add
+        local.tee 2
+        i32.const -1
+        i32.le_s
+        br_if 1 (;@1;)
+        local.get 0
+        local.get 2
+        i32.const 1
+        call 10
+        return
+      end
+      local.get 0
+      call 78
+      return
+    end
+    unreachable)
+  (func (;78;) (type 1) (param i32)
+    (local i32)
+    local.get 0
+    local.get 0
+    i32.load offset=8
+    local.tee 1
+    i32.const -1
+    i32.add
+    i32.store offset=8
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        i32.const 1
+        i32.ne
+        br_if 0 (;@2;)
+        local.get 0
+        i32.load offset=4
+        local.tee 1
+        i32.const -1
+        i32.le_s
+        br_if 1 (;@1;)
+        local.get 0
+        i32.load
+        local.get 1
+        i32.const 1
+        call 10
+        local.get 0
+        i32.const 12
+        i32.const 4
+        call 10
+      end
+      return
+    end
+    unreachable)
+  (func (;79;) (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    local.get 1
+    i32.load
+    local.tee 1
+    local.get 1
+    i32.load offset=8
+    local.tee 4
+    i32.const 1
+    i32.add
+    i32.store offset=8
+    block  ;; label = @1
+      local.get 4
+      i32.const -1
+      i32.gt_s
+      br_if 0 (;@1;)
+      call 69
+      unreachable
+    end
+    local.get 0
+    local.get 1
+    i32.store offset=12
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 0
+    i32.const 1049268
+    i32.store)
+  (func (;80;) (type 2) (param i32 i32 i32 i32)
+    local.get 0
+    local.get 1
+    i32.load
+    local.get 2
+    local.get 3
+    call 73)
+  (func (;81;) (type 2) (param i32 i32 i32 i32)
+    local.get 0
+    local.get 1
+    i32.load
+    local.get 2
+    local.get 3
+    call 75)
+  (func (;82;) (type 8) (param i32) (result i32)
+    local.get 0
+    i32.load
+    i32.load offset=8
+    i32.const 1
+    i32.eq)
+  (func (;83;) (type 0) (param i32 i32 i32)
+    local.get 0
+    i32.load
+    call 78)
+  (func (;84;) (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      local.tee 4
+      i32.const 1
+      i32.and
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      local.get 4
+      local.get 4
+      local.get 2
+      local.get 3
+      call 71
+      return
+    end
+    local.get 4
+    local.get 4
+    i32.load offset=8
+    local.tee 1
+    i32.const 1
+    i32.add
+    i32.store offset=8
+    block  ;; label = @1
+      local.get 1
+      i32.const -1
+      i32.le_s
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 4
+      i32.store offset=12
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 2
+      i32.store offset=4
+      local.get 0
+      i32.const 1049268
+      i32.store
+      return
+    end
+    call 69
+    unreachable)
+  (func (;85;) (type 2) (param i32 i32 i32 i32)
+    block  ;; label = @1
+      local.get 1
+      i32.load
+      local.tee 1
+      i32.const 1
+      i32.and
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 1
+      local.get 2
+      local.get 3
+      call 105
+      local.set 1
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 1
+      i32.store offset=4
+      local.get 0
+      local.get 2
+      local.get 3
+      i32.add
+      local.get 1
+      i32.sub
+      i32.store
+      return
+    end
+    local.get 0
+    local.get 1
+    local.get 2
+    local.get 3
+    call 73)
+  (func (;86;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    global.get 0
+    i32.const 16
+    i32.sub
+    local.tee 4
+    global.set 0
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 1
+        i32.load
+        local.tee 1
+        i32.const 1
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 4
+        local.get 1
+        i32.store
+        local.get 4
+        i32.const 8
+        i32.add
+        local.tee 5
+        local.get 2
+        local.get 1
+        i32.sub
+        local.tee 2
+        local.get 3
+        i32.add
+        local.tee 1
+        i32.store
+        local.get 4
+        local.get 1
+        i32.store offset=4
+        local.get 4
+        i32.const 32
+        local.get 1
+        i32.const 10
+        i32.shr_u
+        i32.clz
+        i32.sub
+        local.tee 1
+        i32.const 7
+        local.get 1
+        i32.const 7
+        i32.lt_u
+        select
+        i32.const 2
+        i32.shl
+        i32.const 1
+        i32.or
+        i32.store offset=12
+        local.get 4
+        local.get 2
+        call 35
+        local.get 0
+        i32.const 8
+        i32.add
+        local.get 5
+        i64.load align=4
+        i64.store align=4
+        local.get 0
+        local.get 4
+        i64.load align=4
+        i64.store align=4
+        br 1 (;@1;)
+      end
+      local.get 0
+      local.get 1
+      local.get 2
+      local.get 3
+      call 75
+    end
+    local.get 4
+    i32.const 16
+    i32.add
+    global.set 0)
+  (func (;87;) (type 0) (param i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        i32.load
+        local.tee 0
+        i32.const 1
+        i32.and
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 1
+        local.get 0
+        i32.sub
+        local.get 2
+        i32.add
+        local.tee 2
+        i32.const -1
+        i32.le_s
+        br_if 1 (;@1;)
+        local.get 0
+        local.get 2
+        i32.const 1
+        call 10
+        return
+      end
+      local.get 0
+      call 78
+      return
+    end
+    unreachable)
+  (func (;88;) (type 2) (param i32 i32 i32 i32)
+    (local i32)
+    local.get 1
+    i32.load
+    local.tee 1
+    local.get 1
+    i32.load offset=16
+    local.tee 4
+    i32.const 1
+    i32.add
+    i32.store offset=16
+    block  ;; label = @1
+      local.get 4
+      i32.const -1
+      i32.gt_s
+      br_if 0 (;@1;)
+      call 69
+      unreachable
+    end
+    local.get 0
+    local.get 1
+    i32.store offset=12
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 0
+    i32.const 1049288
+    i32.store)
+  (func (;89;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.load
+          local.tee 1
+          i32.load offset=16
+          i32.const 1
+          i32.eq
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 4
+          local.get 3
+          i32.const 0
+          i32.lt_s
+          br_if 2 (;@1;)
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 3
+              br_if 0 (;@5;)
+              i32.const 1
+              local.set 5
+              br 1 (;@4;)
+            end
+            i32.const 0
+            i32.load8_u offset=1049308
+            drop
+            local.get 3
+            local.set 4
+            local.get 3
+            call 30
+            local.tee 5
+            i32.eqz
+            br_if 3 (;@1;)
+          end
+          local.get 5
+          local.get 2
+          local.get 3
+          call 102
+          drop
+          local.get 1
+          call 36
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.const 0
+        i32.store offset=8
+        local.get 1
+        i32.load
+        local.set 4
+        local.get 1
+        i32.load offset=4
+        local.set 5
+        local.get 1
+        i64.const 4294967296
+        i64.store align=4
+        local.get 1
+        call 36
+        local.get 5
+        local.get 2
+        local.get 3
+        call 105
+        drop
+      end
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      local.get 0
+      local.get 5
+      i32.store offset=4
+      local.get 0
+      local.get 4
+      i32.store
+      return
+    end
+    unreachable)
+  (func (;90;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          i32.load
+          local.tee 1
+          i32.load offset=16
+          i32.const 1
+          i32.eq
+          br_if 0 (;@3;)
+          i32.const 0
+          local.set 4
+          local.get 3
+          i32.const 0
+          i32.lt_s
+          br_if 2 (;@1;)
+          i32.const 1
+          local.set 5
+          block  ;; label = @4
+            local.get 3
+            i32.eqz
+            br_if 0 (;@4;)
+            i32.const 0
+            i32.load8_u offset=1049308
+            drop
+            local.get 3
+            local.set 4
+            local.get 3
+            call 30
+            local.tee 5
+            i32.eqz
+            br_if 3 (;@1;)
+          end
+          local.get 5
+          local.get 2
+          local.get 3
+          call 102
+          drop
+          local.get 1
+          call 36
+          i32.const 32
+          local.get 4
+          i32.const 10
+          i32.shr_u
+          i32.clz
+          i32.sub
+          local.tee 1
+          i32.const 7
+          local.get 1
+          i32.const 7
+          i32.lt_u
+          select
+          i32.const 2
+          i32.shl
+          i32.const 1
+          i32.or
+          local.set 1
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.load
+        local.get 2
+        i32.sub
+        local.get 1
+        i32.load offset=4
+        i32.add
+        local.set 4
+        local.get 2
+        local.set 5
+      end
+      local.get 0
+      local.get 1
+      i32.store offset=12
+      local.get 0
+      local.get 4
+      i32.store offset=8
+      local.get 0
+      local.get 3
+      i32.store offset=4
+      local.get 0
+      local.get 5
+      i32.store
+      return
+    end
+    unreachable)
+  (func (;91;) (type 8) (param i32) (result i32)
+    local.get 0
+    i32.load
+    i32.load offset=16
+    i32.const 1
+    i32.eq)
+  (func (;92;) (type 0) (param i32 i32 i32)
+    local.get 0
+    i32.load
+    call 36)
+  (func (;93;) (type 2) (param i32 i32 i32 i32)
+    local.get 0
+    i32.const 0
+    i32.store offset=12
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 0
+    i32.const 1049208
+    i32.store)
+  (func (;94;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    i32.const 0
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 3
+        i32.const 0
+        i32.lt_s
+        br_if 0 (;@2;)
+        block  ;; label = @3
+          local.get 3
+          br_if 0 (;@3;)
+          i32.const 1
+          local.set 5
+          br 2 (;@1;)
+        end
+        i32.const 0
+        i32.load8_u offset=1049308
+        drop
+        local.get 3
+        local.set 4
+        local.get 3
+        call 30
+        local.tee 5
+        br_if 1 (;@1;)
+      end
+      unreachable
+    end
+    local.get 5
+    local.get 2
+    local.get 3
+    call 102
+    local.set 2
+    local.get 0
+    local.get 3
+    i32.store offset=8
+    local.get 0
+    local.get 2
+    i32.store offset=4
+    local.get 0
+    local.get 4
+    i32.store)
+  (func (;95;) (type 2) (param i32 i32 i32 i32)
+    (local i32 i32)
+    i32.const 0
+    local.set 4
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 3
+        i32.const 0
+        i32.lt_s
+        br_if 0 (;@2;)
+        i32.const 1
+        local.set 5
+        local.get 3
+        i32.eqz
+        br_if 1 (;@1;)
+        i32.const 0
+        i32.load8_u offset=1049308
+        drop
+        local.get 3
+        local.set 4
+        local.get 3
+        call 30
+        local.tee 5
+        br_if 1 (;@1;)
+      end
+      unreachable
+    end
+    local.get 5
+    local.get 2
+    local.get 3
+    call 102
+    local.set 5
+    local.get 0
+    local.get 4
+    i32.store offset=8
+    local.get 0
+    local.get 3
+    i32.store offset=4
+    local.get 0
+    local.get 5
+    i32.store
+    local.get 0
+    i32.const 32
+    local.get 4
+    i32.const 10
+    i32.shr_u
+    i32.clz
+    i32.sub
+    local.tee 3
+    i32.const 7
+    local.get 3
+    i32.const 7
+    i32.lt_u
+    select
+    i32.const 2
+    i32.shl
+    i32.const 1
+    i32.or
+    i32.store offset=12)
+  (func (;96;) (type 8) (param i32) (result i32)
+    i32.const 0)
+  (func (;97;) (type 0) (param i32 i32 i32))
+  (func (;98;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32)
+    block  ;; label = @1
+      i32.const 0
+      i32.load offset=1049728
+      local.tee 2
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 2
+      i32.const -8
+      i32.and
+      i32.const 1049456
+      i32.add
+      local.set 3
+      i32.const 0
+      i32.load offset=1049736
+      local.set 4
+      block  ;; label = @2
+        block  ;; label = @3
+          i32.const 0
+          i32.load offset=1049720
+          local.tee 5
+          i32.const 1
+          local.get 2
+          i32.const 3
+          i32.shr_u
+          i32.shl
+          local.tee 2
+          i32.and
+          br_if 0 (;@3;)
+          i32.const 0
+          local.get 5
+          local.get 2
+          i32.or
+          i32.store offset=1049720
+          local.get 3
+          local.set 2
+          br 1 (;@2;)
+        end
+        local.get 3
+        i32.load offset=8
+        local.set 2
+      end
+      local.get 3
+      local.get 4
+      i32.store offset=8
+      local.get 2
+      local.get 4
+      i32.store offset=12
+      local.get 4
+      local.get 3
+      i32.store offset=12
+      local.get 4
+      local.get 2
+      i32.store offset=8
+    end
+    i32.const 0
+    local.get 0
+    i32.store offset=1049736
+    i32.const 0
+    local.get 1
+    i32.store offset=1049728)
+  (func (;99;) (type 3) (param i32 i32)
+    (local i32 i32)
+    block  ;; label = @1
+      local.get 1
+      i32.const 256
+      i32.lt_u
+      br_if 0 (;@1;)
+      local.get 0
+      local.get 1
+      call 100
+      return
+    end
+    local.get 1
+    i32.const 248
+    i32.and
+    i32.const 1049456
+    i32.add
+    local.set 2
+    block  ;; label = @1
+      block  ;; label = @2
+        i32.const 0
+        i32.load offset=1049720
+        local.tee 3
+        i32.const 1
+        local.get 1
+        i32.const 3
+        i32.shr_u
+        i32.shl
+        local.tee 1
+        i32.and
+        br_if 0 (;@2;)
+        i32.const 0
+        local.get 3
+        local.get 1
+        i32.or
+        i32.store offset=1049720
+        local.get 2
+        local.set 1
+        br 1 (;@1;)
+      end
+      local.get 2
+      i32.load offset=8
+      local.set 1
+    end
+    local.get 2
+    local.get 0
+    i32.store offset=8
+    local.get 1
+    local.get 0
+    i32.store offset=12
+    local.get 0
+    local.get 2
+    i32.store offset=12
+    local.get 0
+    local.get 1
+    i32.store offset=8)
+  (func (;100;) (type 3) (param i32 i32)
+    (local i32 i32 i32 i32)
+    i32.const 31
+    local.set 2
+    block  ;; label = @1
+      local.get 1
+      i32.const 16777215
+      i32.gt_u
+      br_if 0 (;@1;)
+      local.get 1
+      i32.const 6
+      local.get 1
+      i32.const 8
+      i32.shr_u
+      i32.clz
+      local.tee 2
+      i32.sub
+      i32.shr_u
+      i32.const 1
+      i32.and
+      local.get 2
+      i32.const 1
+      i32.shl
+      i32.sub
+      i32.const 62
+      i32.add
+      local.set 2
+    end
+    local.get 0
+    i64.const 0
+    i64.store offset=16 align=4
+    local.get 0
+    local.get 2
+    i32.store offset=28
+    local.get 2
+    i32.const 2
+    i32.shl
+    i32.const 1049312
+    i32.add
+    local.set 3
+    block  ;; label = @1
+      i32.const 0
+      i32.load offset=1049724
+      i32.const 1
+      local.get 2
+      i32.shl
+      local.tee 4
+      i32.and
+      br_if 0 (;@1;)
+      local.get 3
+      local.get 0
+      i32.store
+      local.get 0
+      local.get 3
+      i32.store offset=24
+      local.get 0
+      local.get 0
+      i32.store offset=12
+      local.get 0
+      local.get 0
+      i32.store offset=8
+      i32.const 0
+      i32.const 0
+      i32.load offset=1049724
+      local.get 4
+      i32.or
+      i32.store offset=1049724
+      return
+    end
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 3
+          i32.load
+          local.tee 4
+          i32.load offset=4
+          i32.const -8
+          i32.and
+          local.get 1
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 4
+          local.set 2
+          br 1 (;@2;)
+        end
+        local.get 1
+        i32.const 0
+        i32.const 25
+        local.get 2
+        i32.const 1
+        i32.shr_u
+        i32.sub
+        i32.const 31
+        i32.and
+        local.get 2
+        i32.const 31
+        i32.eq
+        select
+        i32.shl
+        local.set 3
+        loop  ;; label = @3
+          local.get 4
+          local.get 3
+          i32.const 29
+          i32.shr_u
+          i32.const 4
+          i32.and
+          i32.add
+          i32.const 16
+          i32.add
+          local.tee 5
+          i32.load
+          local.tee 2
+          i32.eqz
+          br_if 2 (;@1;)
+          local.get 3
+          i32.const 1
+          i32.shl
+          local.set 3
+          local.get 2
+          local.set 4
+          local.get 2
+          i32.load offset=4
+          i32.const -8
+          i32.and
+          local.get 1
+          i32.ne
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 2
+      i32.load offset=8
+      local.tee 3
+      local.get 0
+      i32.store offset=12
+      local.get 2
+      local.get 0
+      i32.store offset=8
+      local.get 0
+      i32.const 0
+      i32.store offset=24
+      local.get 0
+      local.get 2
+      i32.store offset=12
+      local.get 0
+      local.get 3
+      i32.store offset=8
+      return
+    end
+    local.get 5
+    local.get 0
+    i32.store
+    local.get 0
+    local.get 4
+    i32.store offset=24
+    local.get 0
+    local.get 0
+    i32.store offset=12
+    local.get 0
+    local.get 0
+    i32.store offset=8)
+  (func (;101;) (type 1) (param i32)
+    (local i32 i32 i32 i32 i32)
+    local.get 0
+    i32.load offset=24
+    local.set 1
+    block  ;; label = @1
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 0
+          i32.load offset=12
+          local.tee 2
+          local.get 0
+          i32.ne
+          br_if 0 (;@3;)
+          local.get 0
+          i32.const 20
+          i32.const 16
+          local.get 0
+          i32.load offset=20
+          local.tee 2
+          select
+          i32.add
+          i32.load
+          local.tee 3
+          br_if 1 (;@2;)
+          i32.const 0
+          local.set 2
+          br 2 (;@1;)
+        end
+        local.get 0
+        i32.load offset=8
+        local.tee 3
+        local.get 2
+        i32.store offset=12
+        local.get 2
+        local.get 3
+        i32.store offset=8
+        br 1 (;@1;)
+      end
+      local.get 0
+      i32.const 20
+      i32.add
+      local.get 0
+      i32.const 16
+      i32.add
+      local.get 2
+      select
+      local.set 4
+      loop  ;; label = @2
+        local.get 4
+        local.set 5
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 3
+            local.tee 2
+            i32.load offset=20
+            local.tee 3
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 2
+            i32.const 20
+            i32.add
+            local.set 4
+            br 1 (;@3;)
+          end
+          local.get 2
+          i32.const 16
+          i32.add
+          local.set 4
+          local.get 2
+          i32.load offset=16
+          local.set 3
+        end
+        local.get 3
+        br_if 0 (;@2;)
+      end
+      local.get 5
+      i32.const 0
+      i32.store
+    end
+    block  ;; label = @1
+      local.get 1
+      i32.eqz
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 0
+          i32.load offset=28
+          local.tee 4
+          i32.const 2
+          i32.shl
+          i32.const 1049312
+          i32.add
+          local.tee 3
+          i32.load
+          local.get 0
+          i32.eq
+          br_if 0 (;@3;)
+          local.get 1
+          i32.const 16
+          i32.const 20
+          local.get 1
+          i32.load offset=16
+          local.get 0
+          i32.eq
+          select
+          i32.add
+          local.get 2
+          i32.store
+          local.get 2
+          i32.eqz
+          br_if 2 (;@1;)
+          br 1 (;@2;)
+        end
+        local.get 3
+        local.get 2
+        i32.store
+        local.get 2
+        br_if 0 (;@2;)
+        i32.const 0
+        i32.const 0
+        i32.load offset=1049724
+        i32.const -2
+        local.get 4
+        i32.rotl
+        i32.and
+        i32.store offset=1049724
+        br 1 (;@1;)
+      end
+      local.get 2
+      local.get 1
+      i32.store offset=24
+      block  ;; label = @2
+        local.get 0
+        i32.load offset=16
+        local.tee 3
+        i32.eqz
+        br_if 0 (;@2;)
+        local.get 2
+        local.get 3
+        i32.store offset=16
+        local.get 3
+        local.get 2
+        i32.store offset=24
+      end
+      local.get 0
+      i32.load offset=20
+      local.tee 3
+      i32.eqz
+      br_if 0 (;@1;)
+      local.get 2
+      local.get 3
+      i32.store offset=20
+      local.get 3
+      local.get 2
+      i32.store offset=24
+      return
+    end)
+  (func (;102;) (type 11) (param i32 i32 i32) (result i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    call 103)
+  (func (;103;) (type 11) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 2
+        i32.const 16
+        i32.ge_u
+        br_if 0 (;@2;)
+        local.get 0
+        local.set 3
+        br 1 (;@1;)
+      end
+      block  ;; label = @2
+        local.get 0
+        i32.const 0
+        local.get 0
+        i32.sub
+        i32.const 3
+        i32.and
+        local.tee 4
+        i32.add
+        local.tee 5
+        local.get 0
+        i32.le_u
+        br_if 0 (;@2;)
+        local.get 4
+        local.set 6
+        local.get 0
+        local.set 3
+        local.get 1
+        local.set 7
+        loop  ;; label = @3
+          local.get 3
+          local.get 7
+          i32.load8_u
+          i32.store8
+          local.get 7
+          i32.const 1
+          i32.add
+          local.set 7
+          local.get 3
+          i32.const 1
+          i32.add
+          local.set 3
+          local.get 6
+          i32.const -1
+          i32.add
+          local.tee 6
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 5
+      local.get 2
+      local.get 4
+      i32.sub
+      local.tee 8
+      i32.const -4
+      i32.and
+      local.tee 9
+      i32.add
+      local.set 3
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 1
+          local.get 4
+          i32.add
+          local.tee 4
+          i32.const 3
+          i32.and
+          i32.eqz
+          br_if 0 (;@3;)
+          local.get 5
+          local.get 3
+          i32.ge_u
+          br_if 1 (;@2;)
+          local.get 4
+          i32.const 3
+          i32.shl
+          local.tee 2
+          i32.const 24
+          i32.and
+          local.set 7
+          local.get 4
+          i32.const -4
+          i32.and
+          local.tee 10
+          i32.const 4
+          i32.add
+          local.set 1
+          i32.const 0
+          local.get 2
+          i32.sub
+          i32.const 24
+          i32.and
+          local.set 6
+          local.get 10
+          i32.load
+          local.set 2
+          loop  ;; label = @4
+            local.get 5
+            local.get 2
+            local.get 7
+            i32.shr_u
+            local.get 1
+            i32.load
+            local.tee 2
+            local.get 6
+            i32.shl
+            i32.or
+            i32.store
+            local.get 1
+            i32.const 4
+            i32.add
+            local.set 1
+            local.get 5
+            i32.const 4
+            i32.add
+            local.tee 5
+            local.get 3
+            i32.lt_u
+            br_if 0 (;@4;)
+            br 2 (;@2;)
+          end
+        end
+        local.get 5
+        local.get 3
+        i32.ge_u
+        br_if 0 (;@2;)
+        local.get 4
+        local.set 1
+        loop  ;; label = @3
+          local.get 5
+          local.get 1
+          i32.load
+          i32.store
+          local.get 1
+          i32.const 4
+          i32.add
+          local.set 1
+          local.get 5
+          i32.const 4
+          i32.add
+          local.tee 5
+          local.get 3
+          i32.lt_u
+          br_if 0 (;@3;)
+        end
+      end
+      local.get 8
+      i32.const 3
+      i32.and
+      local.set 2
+      local.get 4
+      local.get 9
+      i32.add
+      local.set 1
+    end
+    block  ;; label = @1
+      local.get 3
+      local.get 3
+      local.get 2
+      i32.add
+      i32.ge_u
+      br_if 0 (;@1;)
+      loop  ;; label = @2
+        local.get 3
+        local.get 1
+        i32.load8_u
+        i32.store8
+        local.get 1
+        i32.const 1
+        i32.add
+        local.set 1
+        local.get 3
+        i32.const 1
+        i32.add
+        local.set 3
+        local.get 2
+        i32.const -1
+        i32.add
+        local.tee 2
+        br_if 0 (;@2;)
+      end
+    end
+    local.get 0)
+  (func (;104;) (type 11) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32 i32 i32 i32 i32 i32)
+    block  ;; label = @1
+      block  ;; label = @2
+        local.get 0
+        local.get 1
+        i32.sub
+        local.get 2
+        i32.ge_u
+        br_if 0 (;@2;)
+        local.get 1
+        local.get 2
+        i32.add
+        local.set 3
+        local.get 0
+        local.get 2
+        i32.add
+        local.set 4
+        block  ;; label = @3
+          local.get 2
+          i32.const 16
+          i32.lt_u
+          br_if 0 (;@3;)
+          i32.const 0
+          local.get 4
+          i32.const 3
+          i32.and
+          local.tee 5
+          i32.sub
+          local.set 6
+          block  ;; label = @4
+            local.get 4
+            i32.const -4
+            i32.and
+            local.tee 7
+            local.get 4
+            i32.ge_u
+            br_if 0 (;@4;)
+            local.get 1
+            local.get 2
+            i32.add
+            i32.const -1
+            i32.add
+            local.set 8
+            loop  ;; label = @5
+              local.get 4
+              i32.const -1
+              i32.add
+              local.tee 4
+              local.get 8
+              i32.load8_u
+              i32.store8
+              local.get 8
+              i32.const -1
+              i32.add
+              local.set 8
+              local.get 7
+              local.get 4
+              i32.lt_u
+              br_if 0 (;@5;)
+            end
+          end
+          local.get 7
+          local.get 2
+          local.get 5
+          i32.sub
+          local.tee 9
+          i32.const -4
+          i32.and
+          local.tee 4
+          i32.sub
+          local.set 8
+          i32.const 0
+          local.get 4
+          i32.sub
+          local.set 10
+          block  ;; label = @4
+            block  ;; label = @5
+              local.get 3
+              local.get 6
+              i32.add
+              local.tee 6
+              i32.const 3
+              i32.and
+              i32.eqz
+              br_if 0 (;@5;)
+              local.get 8
+              local.get 7
+              i32.ge_u
+              br_if 1 (;@4;)
+              local.get 6
+              i32.const 3
+              i32.shl
+              local.tee 1
+              i32.const 24
+              i32.and
+              local.set 3
+              local.get 6
+              i32.const -4
+              i32.and
+              local.tee 2
+              i32.const -4
+              i32.add
+              local.set 4
+              i32.const 0
+              local.get 1
+              i32.sub
+              i32.const 24
+              i32.and
+              local.set 5
+              local.get 2
+              i32.load
+              local.set 2
+              local.get 7
+              local.set 1
+              loop  ;; label = @6
+                local.get 1
+                i32.const -4
+                i32.add
+                local.tee 1
+                local.get 2
+                local.get 5
+                i32.shl
+                local.get 4
+                i32.load
+                local.tee 2
+                local.get 3
+                i32.shr_u
+                i32.or
+                i32.store
+                local.get 4
+                i32.const -4
+                i32.add
+                local.set 4
+                local.get 8
+                local.get 1
+                i32.lt_u
+                br_if 0 (;@6;)
+                br 2 (;@4;)
+              end
+            end
+            local.get 8
+            local.get 7
+            i32.ge_u
+            br_if 0 (;@4;)
+            local.get 9
+            local.get 1
+            i32.add
+            i32.const -4
+            i32.add
+            local.set 4
+            local.get 7
+            local.set 1
+            loop  ;; label = @5
+              local.get 1
+              i32.const -4
+              i32.add
+              local.tee 1
+              local.get 4
+              i32.load
+              i32.store
+              local.get 4
+              i32.const -4
+              i32.add
+              local.set 4
+              local.get 8
+              local.get 1
+              i32.lt_u
+              br_if 0 (;@5;)
+            end
+          end
+          local.get 9
+          i32.const 3
+          i32.and
+          local.set 2
+          local.get 6
+          local.get 10
+          i32.add
+          local.set 3
+          local.get 7
+          local.get 10
+          i32.add
+          local.set 4
+        end
+        local.get 4
+        local.get 2
+        i32.sub
+        local.tee 2
+        local.get 4
+        i32.ge_u
+        br_if 1 (;@1;)
+        local.get 3
+        i32.const -1
+        i32.add
+        local.set 1
+        loop  ;; label = @3
+          local.get 4
+          i32.const -1
+          i32.add
+          local.tee 4
+          local.get 1
+          i32.load8_u
+          i32.store8
+          local.get 1
+          i32.const -1
+          i32.add
+          local.set 1
+          local.get 2
+          local.get 4
+          i32.lt_u
+          br_if 0 (;@3;)
+          br 2 (;@1;)
+        end
+      end
+      block  ;; label = @2
+        block  ;; label = @3
+          local.get 2
+          i32.const 16
+          i32.ge_u
+          br_if 0 (;@3;)
+          local.get 0
+          local.set 4
+          br 1 (;@2;)
+        end
+        block  ;; label = @3
+          local.get 0
+          i32.const 0
+          local.get 0
+          i32.sub
+          i32.const 3
+          i32.and
+          local.tee 5
+          i32.add
+          local.tee 8
+          local.get 0
+          i32.le_u
+          br_if 0 (;@3;)
+          local.get 5
+          local.set 3
+          local.get 0
+          local.set 4
+          local.get 1
+          local.set 7
+          loop  ;; label = @4
+            local.get 4
+            local.get 7
+            i32.load8_u
+            i32.store8
+            local.get 7
+            i32.const 1
+            i32.add
+            local.set 7
+            local.get 4
+            i32.const 1
+            i32.add
+            local.set 4
+            local.get 3
+            i32.const -1
+            i32.add
+            local.tee 3
+            br_if 0 (;@4;)
+          end
+        end
+        local.get 8
+        local.get 2
+        local.get 5
+        i32.sub
+        local.tee 10
+        i32.const -4
+        i32.and
+        local.tee 6
+        i32.add
+        local.set 4
+        block  ;; label = @3
+          block  ;; label = @4
+            local.get 1
+            local.get 5
+            i32.add
+            local.tee 5
+            i32.const 3
+            i32.and
+            i32.eqz
+            br_if 0 (;@4;)
+            local.get 8
+            local.get 4
+            i32.ge_u
+            br_if 1 (;@3;)
+            local.get 5
+            i32.const 3
+            i32.shl
+            local.tee 2
+            i32.const 24
+            i32.and
+            local.set 7
+            local.get 5
+            i32.const -4
+            i32.and
+            local.tee 9
+            i32.const 4
+            i32.add
+            local.set 1
+            i32.const 0
+            local.get 2
+            i32.sub
+            i32.const 24
+            i32.and
+            local.set 3
+            local.get 9
+            i32.load
+            local.set 2
+            loop  ;; label = @5
+              local.get 8
+              local.get 2
+              local.get 7
+              i32.shr_u
+              local.get 1
+              i32.load
+              local.tee 2
+              local.get 3
+              i32.shl
+              i32.or
+              i32.store
+              local.get 1
+              i32.const 4
+              i32.add
+              local.set 1
+              local.get 8
+              i32.const 4
+              i32.add
+              local.tee 8
+              local.get 4
+              i32.lt_u
+              br_if 0 (;@5;)
+              br 2 (;@3;)
+            end
+          end
+          local.get 8
+          local.get 4
+          i32.ge_u
+          br_if 0 (;@3;)
+          local.get 5
+          local.set 1
+          loop  ;; label = @4
+            local.get 8
+            local.get 1
+            i32.load
+            i32.store
+            local.get 1
+            i32.const 4
+            i32.add
+            local.set 1
+            local.get 8
+            i32.const 4
+            i32.add
+            local.tee 8
+            local.get 4
+            i32.lt_u
+            br_if 0 (;@4;)
+          end
+        end
+        local.get 10
+        i32.const 3
+        i32.and
+        local.set 2
+        local.get 5
+        local.get 6
+        i32.add
+        local.set 1
+      end
+      local.get 4
+      local.get 4
+      local.get 2
+      i32.add
+      i32.ge_u
+      br_if 0 (;@1;)
+      loop  ;; label = @2
+        local.get 4
+        local.get 1
+        i32.load8_u
+        i32.store8
+        local.get 1
+        i32.const 1
+        i32.add
+        local.set 1
+        local.get 4
+        i32.const 1
+        i32.add
+        local.set 4
+        local.get 2
+        i32.const -1
+        i32.add
+        local.tee 2
+        br_if 0 (;@2;)
+      end
+    end
+    local.get 0)
+  (func (;105;) (type 11) (param i32 i32 i32) (result i32)
+    local.get 0
+    local.get 1
+    local.get 2
+    call 104)
+  (func (;106;) (type 11) (param i32 i32 i32) (result i32)
+    (local i32 i32 i32)
+    i32.const 0
+    local.set 3
+    block  ;; label = @1
+      local.get 2
+      i32.eqz
+      br_if 0 (;@1;)
+      block  ;; label = @2
+        loop  ;; label = @3
+          local.get 0
+          i32.load8_u
+          local.tee 4
+          local.get 1
+          i32.load8_u
+          local.tee 5
+          i32.ne
+          br_if 1 (;@2;)
+          local.get 0
+          i32.const 1
+          i32.add
+          local.set 0
+          local.get 1
+          i32.const 1
+          i32.add
+          local.set 1
+          local.get 2
+          i32.const -1
+          i32.add
+          local.tee 2
+          i32.eqz
+          br_if 2 (;@1;)
+          br 0 (;@3;)
+        end
+      end
+      local.get 4
+      local.get 5
+      i32.sub
+      local.set 3
+    end
+    local.get 3)
+  (table (;0;) 37 37 funcref)
+  (memory (;0;) 17)
+  (global (;0;) (mut i32) (i32.const 1048576))
+  (global (;1;) i32 (i32.const 1049764))
+  (global (;2;) i32 (i32.const 1049776))
+  (export "memory" (memory 0))
+  (export "ulmDispatchCaller" (func 50))
+  (export "__data_end" (global 1))
+  (export "__heap_base" (global 2))
+  (elem (;0;) (i32.const 1) func 29 17 25 18 56 57 58 51 59 60 61 62 93 94 95 96 97 70 72 74 76 77 84 85 86 87 79 80 81 82 83 88 89 90 91 92)
+  (data (;0;) (i32.const 1048576) "total_supplyallowancesTransfer(address,address,u256)Approval(address,address,u256)Invalid receiverInvalid senderInsufficient balanceZero addressInvalid spenderInvalid approverInsuficient allowance\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\09\00\00\00\0a\00\00\00\0b\00\00\00\0c\00\00\00Buffer without function signaturedecimals()totalSupply()balanceOf(address)transfer(address,uint256)allowance(address,address)approve(address,uint256)transferFrom(address,address,uint256)mint(address,uint256)Unknown endpointValue too large to castUnprocessed bits in value.Addition overflowSubtraction overflowUnexpected value in subtractionWrong length to decodecall_data: buffer too small.\00\00\0d\00\00\00\0e\00\00\00\0f\00\00\00\10\00\00\00\11\00\00\00\12\00\00\00\13\00\00\00\14\00\00\00\15\00\00\00\16\00\00\00\17\00\00\00\18\00\00\00\19\00\00\00\15\00\00\00\1a\00\00\00\1b\00\00\00\1c\00\00\00\1d\00\00\00\1e\00\00\00\1f\00\00\00 \00\00\00!\00\00\00\22\00\00\00#\00\00\00$\00\00\00"))
diff --git a/tests/ulm/erc20/rust/Cargo.toml b/tests/ulm/erc20/rust/Cargo.toml
index 36a007ac6..d79e31d3c 100644
--- a/tests/ulm/erc20/rust/Cargo.toml
+++ b/tests/ulm/erc20/rust/Cargo.toml
@@ -3,15 +3,24 @@ name = "erc20"
 version = "0.1.0"
 edition = "2021"
 
-#[profile.dev]
-#panic = "abort"
-
-#[profile.release]
-#panic = "abort"
-
 [lib]
 crate-type = ["cdylib"]
 
 [dependencies]
 wasm-bindgen = "0.2"
 bytes = "1.9"
+
+#[profile.dev]
+#panic = "abort"
+
+[profile.release]
+# this flag removes debug symbols
+strip = true
+# this flag and the one below optimizes for size, experiment with both and find the one that works better!
+# opt-level = "z"
+opt-level = "s"
+# the flags below instruct the compiler to try harder to do whole-program optimization
+lto = true
+codegen-units = 1
+# this flag tells the compiler to replace helpful debug behavior with calls to abort
+panic = "abort"
diff --git a/tests/ulm/erc20/rust/README.md b/tests/ulm/erc20/rust/README.md
new file mode 100644
index 000000000..bf561df6e
--- /dev/null
+++ b/tests/ulm/erc20/rust/README.md
@@ -0,0 +1,8 @@
+# Rust/Wasm ERC20 Contract
+
+This directory contains a Rust implementation of an ERC20 contract that is compiled into Wasm.
+
+As is the case with many chains that use Wasm contracts, we compile this Rust project as a library;
+that way, functions referenced in external libraries become host functions which can be provided via Wasm module imports.
+
+In order to reduce the 
diff --git a/tests/ulm/erc20/rust/build.sh b/tests/ulm/erc20/rust/build.sh
new file mode 100755
index 000000000..080aa101f
--- /dev/null
+++ b/tests/ulm/erc20/rust/build.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+LOC_FLAG="-Zlocation-detail=none" # removes debugging info from binary
+FMT_FLAG="-Zfmt-debug=none"       # removes formatter code from binary
+RUSTFLAGS="$LOC_FLAG $FMT_FLAG" cargo +nightly build --release --target wasm32-unknown-unknown \
+-Z build-std=std,panic_abort \
+-Z build-std-features="optimize_for_size,panic_immediate_abort"

From 2f6658492b6ce46d695c5501dfb8d64bdab70c48 Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@runtimeverification.com>
Date: Fri, 13 Dec 2024 19:49:19 -0500
Subject: [PATCH 20/21] improve README

---
 tests/ulm/erc20/rust/README.md | 17 ++++++++++++++++-
 tests/ulm/erc20/rust/build.sh  |  3 ++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/tests/ulm/erc20/rust/README.md b/tests/ulm/erc20/rust/README.md
index bf561df6e..3732105f1 100644
--- a/tests/ulm/erc20/rust/README.md
+++ b/tests/ulm/erc20/rust/README.md
@@ -5,4 +5,19 @@ This directory contains a Rust implementation of an ERC20 contract that is compi
 As is the case with many chains that use Wasm contracts, we compile this Rust project as a library;
 that way, functions referenced in external libraries become host functions which can be provided via Wasm module imports.
 
-In order to reduce the 
+In order to reduce the size of the compiled Wasm library, we referred to this guide:
+
+https://github.com/johnthagen/min-sized-rust
+
+To build the contract with all of the size minimization options, first, ensure that a recent build of the Rust compiler is installed with the Wasm32 target, which can be done with:
+
+```sh
+rustup install nightly
+rustup target add wasm32-unknown-unknown --toolchain nightly
+```
+
+Then run the build script as follows:
+
+```sh
+build.sh
+```
diff --git a/tests/ulm/erc20/rust/build.sh b/tests/ulm/erc20/rust/build.sh
index 080aa101f..2032a2de5 100755
--- a/tests/ulm/erc20/rust/build.sh
+++ b/tests/ulm/erc20/rust/build.sh
@@ -1,6 +1,7 @@
 #!/bin/bash
 LOC_FLAG="-Zlocation-detail=none" # removes debugging info from binary
 FMT_FLAG="-Zfmt-debug=none"       # removes formatter code from binary
+# the last two lines build stdlib for target with minimal panic handling and optimized for size
 RUSTFLAGS="$LOC_FLAG $FMT_FLAG" cargo +nightly build --release --target wasm32-unknown-unknown \
--Z build-std=std,panic_abort \
+-Z build-std=std,panic_abort                                                                   \
 -Z build-std-features="optimize_for_size,panic_immediate_abort"

From ae2c6f3ca6e4eb369b0f04bea5f987086061bbca Mon Sep 17 00:00:00 2001
From: Stephen Skeirik <stephen.skeirik@pi2.network>
Date: Mon, 16 Dec 2024 12:17:21 -0500
Subject: [PATCH 21/21] Fix Wasm VM Initialization Bug (#43)

* add kore rich header build

* update entrypoint resolution

* fix syntax error

* fix more errors

* remove deprecated comment
---
 Makefile                                      |  4 ++-
 .../pykwasm/kdist/wasm-semantics/ulm-wasm.md  | 29 ++++++++++++++-----
 2 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/Makefile b/Makefile
index ac6d3b988..3cf196b94 100644
--- a/Makefile
+++ b/Makefile
@@ -194,7 +194,9 @@ $(ULM_WASM_TARGET): $(ULM_KRYPTO_TARGET) $(ULM_HOOKS_TARGET) $(ULM_WASM_SRC)
 	  --emit-json \
 	  $(if $(DEBUG),--debug) \
 	  -o $(ULM_WASM_DIR)
-	$(if $(ULM_TEST),,cp "$(ULM_WASM_DIR)/$(ULM_WASM_OUT)" "$(ULM_LIB_DIR)")
+	kore-rich-header "$(ULM_WASM_DIR)/definition.kore" -o "$(ULM_WASM_DIR)/header.bin"
+	$(if $(ULM_TEST),,cp "$(ULM_WASM_DIR)/$(ULM_WASM_OUT)" "$(ULM_LIB_DIR)";)
+	$(if $(ULM_TEST),,cp "$(ULM_WASM_DIR)/header.bin"      "$(ULM_LIB_DIR)";)
 
 .PHONY: ulm-wasm
 ulm-wasm: $(ULM_WASM_TARGET)
diff --git a/pykwasm/src/pykwasm/kdist/wasm-semantics/ulm-wasm.md b/pykwasm/src/pykwasm/kdist/wasm-semantics/ulm-wasm.md
index 640c474f8..e2e327194 100644
--- a/pykwasm/src/pykwasm/kdist/wasm-semantics/ulm-wasm.md
+++ b/pykwasm/src/pykwasm/kdist/wasm-semantics/ulm-wasm.md
@@ -91,22 +91,38 @@ A special configuration cell is added in the local case to support VM initializa
       </ulmWasm>
 ```
 
+Obtaining the Entrypoint
+------------------------
+
+In the standalone semantics, the Wasm VM obtains an entrypoint from the configuration.
+
+```local
+    syntax String ::= #getEntryPoint() [function, total]
+    rule #getEntryPoint() => FUNCNAME
+         [[ <entry> FUNCNAME </entry> ]]
+```
+
+In the remote semantics, the Wasm VM has a fixed entrypoint.
+
+```remote
+    syntax String ::= #getEntryPoint() [function, total]
+    rule #getEntryPoint() => "ulmDispatchCaller"
+```
+
 Passing Control
 ---------------
 
 The embedder loads the module to be executed and then resolves the entrypoint function.
-Currently, only the local Wasm VM initialization is supported.
 
-```local
-    rule <k> PGM:PgmEncoding => #resolveCurModuleFuncExport(FUNCNAME) </k>
-         <entry> FUNCNAME </entry>
+```k
+    rule <k> PGM:PgmEncoding => #resolveCurModuleFuncExport(#getEntryPoint()) </k>
          <instrs> .K => decodePgm(PGM) </instrs>
 ```
 
 Note that entrypoint resolution must occur _after_ the Wasm module has been loaded.
 This is ensured by requiring that the `<instrs>` cell is empty during resolution.
 
-```local
+```k
     syntax Initializer ::= #resolveCurModuleFuncExport(String)
                          | #resolveModuleFuncExport(Int, String)
                          | #resolveFunc(Int, ListInt)
@@ -142,9 +158,6 @@ ULM Hook Behavior
 
 These rules define various integration points between the ULM and our Wasm interpreter.
 
-**Note**: the first three rules hooks below are written with helper functions
-          because parse errors were encountered when writing `<generatedTopCell>` literals.
-
 ```k
 
     rule getGasLeft(