diff --git a/Makefile b/Makefile index 94c25e825..3cf196b94 100644 --- a/Makefile +++ b/Makefile @@ -93,7 +93,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) @@ -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/README.md b/README.md index b5a99cda5..fa74af57c 100644 --- a/README.md +++ b/README.md @@ -196,7 +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 -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 +206,37 @@ Then, you can start the ULM locally and load the Wasm VM into it by running: ./scripts/ulm-load-lang ./build/lib/libwasm.so ``` -Then, you can invoke Wasm programs by doing the following: +As an example, to deploy a Wasm contract, you can do the following: -**TODO** +1. Install the python scripts: + + ```sh + poetry -C pykwasm install + ``` + +2. Compile the contract: + + ```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 + ``` + +3. Deploy the compiled Wasm contract: + + ```sh + poetry -C pykwasm run deploy tests/ulm/erc20/erc20.bin + ``` + +To invoke a deployed Wasm contract, do the following: + +**TODO:** add 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..cfe4d8655 100644 --- a/pykwasm/pyproject.toml +++ b/pykwasm/pyproject.toml @@ -11,7 +11,9 @@ authors = [ ] [tool.poetry.scripts] +deploy = "pykwasm.deploy_contract:main" wasm = "pykwasm.run_wasm:main" +wasm2kore = "pykwasm.wasm2kore:main" wasm2kast = "pykwasm.wasm2kast:main" kwasm = "pykwasm.scripts.kwasm:main" kwasm-convert = "pykwasm.scripts.convert:main" @@ -26,6 +28,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 = "*" @@ -66,7 +69,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/deploy_contract.py b/pykwasm/src/pykwasm/deploy_contract.py new file mode 100644 index 000000000..a9592ed89 --- /dev/null +++ b/pykwasm/src/pykwasm/deploy_contract.py @@ -0,0 +1,57 @@ +#!/usr/bin/python3 +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(node_url)) + 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 + + +USAGE = 'deploy_contract.py [node_url] [sender_private_key_file]' + + +def main(): + args = sys.argv[1:] + if len(args) < 1: + print(USAGE) + sys.exit(1) + 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) > 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) + + +if __name__ == '__main__': + main() 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 ``` +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 + [[ FUNCNAME ]] +``` + +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 PGM:PgmEncoding => #resolveCurModuleFuncExport(FUNCNAME) - FUNCNAME +```k + rule PGM:PgmEncoding => #resolveCurModuleFuncExport(#getEntryPoint()) .K => decodePgm(PGM) ``` Note that entrypoint resolution must occur _after_ the Wasm module has been loaded. This is ensured by requiring that the `` 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 `` literals. - ```k rule getGasLeft( diff --git a/pykwasm/src/pykwasm/run_wasm.py b/pykwasm/src/pykwasm/run_wasm.py index 0d769a01d..6e60af7d7 100644 --- a/pykwasm/src/pykwasm/run_wasm.py +++ b/pykwasm/src/pykwasm/run_wasm.py @@ -9,46 +9,14 @@ 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 - -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 +from .wasm2kore import PatternWriter, wasm2kast def main(): @@ -139,431 +107,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 new file mode 100644 index 000000000..bd56a5aad --- /dev/null +++ b/pykwasm/src/pykwasm/wasm2kore.py @@ -0,0 +1,153 @@ +from __future__ import annotations + +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 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 + args = sys.argv[1:] + if len(args) < 3: + print('usage: wasm2kore ') + sys.exit(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(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(infile1) + infile1.close() + + # get runner + runner = KRun(llvm_dir) + + # produce kore + top_sort = KSort('ModuleDecl') + module_kore = runner.kast_to_kore(module, top_sort) + + # monkey patch kore writer + module_kore_patched = PatternWriter(module_kore) + + # write kore to file + with open(kore_file, 'w') as f: + module_kore_patched.write(f) + + +class DepthChange(Enum): + UP = 1 + DOWN = -1 + PRINT = 0 + + +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 + not_first_term = False + print_spacer = False + depth = 0 + stack: list[str | Pattern | DepthChange] = [pat] + + # TODO: fix bug with workitems order + + def push(*items: str | Pattern | DepthChange) -> None: + 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: bool = False): + self.pat = pat + self.pretty = pretty + + 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: Pattern) -> str: + if isinstance(pat, str): + return pat + elif isinstance(pat, tuple): + return ' '.join(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() diff --git a/scripts/compile-contract b/scripts/compile-contract index 5fc41e1ad..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 ) -LD_LIBRARY_PATH="$SCRIPT_DIR/../build/lib:$LD_LIBRARY_PATH" "$SCRIPT_DIR/../build/ulm-contract-compiler" +[ $# -ne 1 ] && { echo "usage: compile-contract "; exit 1; } +LD_LIBRARY_PATH="$SCRIPT_DIR/../build/lib:$LD_LIBRARY_PATH" "$SCRIPT_DIR/../build/ulm-contract-compiler" $1 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..3732105f1 --- /dev/null +++ b/tests/ulm/erc20/rust/README.md @@ -0,0 +1,23 @@ +# 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 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 new file mode 100755 index 000000000..2032a2de5 --- /dev/null +++ b/tests/ulm/erc20/rust/build.sh @@ -0,0 +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-features="optimize_for_size,panic_immediate_abort"