From f965a83fbf1a09795c92b85850a6ed0690e99fbf Mon Sep 17 00:00:00 2001 From: Miles Liu Date: Wed, 5 Oct 2022 15:06:16 +0800 Subject: [PATCH] Migrate benchmarks to the JSON State Test format --- .gitmodules | 3 + CMakeLists.txt | 2 +- test/bench/CMakeLists.txt | 1 + test/bench/bench.cpp | 67 ++++++------------- test/benchmarks | 1 + test/benchmarks/main/blake2b_huff.bin-runtime | 1 - test/benchmarks/main/blake2b_huff.inputs | 20 ------ .../main/blake2b_shifts.bin-runtime | 1 - test/benchmarks/main/blake2b_shifts.inputs | 16 ----- test/benchmarks/main/sha1_divs.bin-runtime | 1 - test/benchmarks/main/sha1_divs.inputs | 20 ------ test/benchmarks/main/sha1_shifts.bin-runtime | 1 - test/benchmarks/main/sha1_shifts.inputs | 20 ------ test/benchmarks/main/weierstrudel.bin-runtime | 1 - test/benchmarks/main/weierstrudel.inputs | 20 ------ .../micro/beginsub_push1s_0xffff.bin-runtime | 2 - .../micro/beginsubs_0xffff.bin-runtime | 1 - test/benchmarks/micro/jump_around.bin-runtime | 1 - test/benchmarks/micro/jump_around.inputs | 3 - .../micro/jumpdests_0xffff.bin-runtime | 1 - test/benchmarks/micro/jumpdests_0xffff.inputs | 3 - .../loop_with_many_jumpdests.bin-runtime | 1 - .../micro/loop_with_many_jumpdests.inputs | 3 - .../micro/memory_grow_mload.bin-runtime | 1 - .../benchmarks/micro/memory_grow_mload.inputs | 16 ----- .../micro/memory_grow_mstore.bin-runtime | 1 - .../micro/memory_grow_mstore.inputs | 16 ----- .../micro/push1s_0xffff.bin-runtime | 1 - .../micro/push32s_0xffff.bin-runtime | 1 - test/benchmarks/micro/signextend.bin-runtime | 1 - test/benchmarks/micro/signextend.inputs | 8 --- .../benchmarks/micro/zeros_0xffff.bin-runtime | 1 - test/state/state.hpp | 16 +++++ test/statetest/statetest.hpp | 1 + test/statetest/statetest_loader.cpp | 23 ++++++- 35 files changed, 65 insertions(+), 211 deletions(-) create mode 160000 test/benchmarks delete mode 100644 test/benchmarks/main/blake2b_huff.bin-runtime delete mode 100644 test/benchmarks/main/blake2b_huff.inputs delete mode 100644 test/benchmarks/main/blake2b_shifts.bin-runtime delete mode 100644 test/benchmarks/main/blake2b_shifts.inputs delete mode 100644 test/benchmarks/main/sha1_divs.bin-runtime delete mode 100644 test/benchmarks/main/sha1_divs.inputs delete mode 100644 test/benchmarks/main/sha1_shifts.bin-runtime delete mode 100644 test/benchmarks/main/sha1_shifts.inputs delete mode 100644 test/benchmarks/main/weierstrudel.bin-runtime delete mode 100644 test/benchmarks/main/weierstrudel.inputs delete mode 100644 test/benchmarks/micro/beginsub_push1s_0xffff.bin-runtime delete mode 100644 test/benchmarks/micro/beginsubs_0xffff.bin-runtime delete mode 100644 test/benchmarks/micro/jump_around.bin-runtime delete mode 100644 test/benchmarks/micro/jump_around.inputs delete mode 100644 test/benchmarks/micro/jumpdests_0xffff.bin-runtime delete mode 100644 test/benchmarks/micro/jumpdests_0xffff.inputs delete mode 100644 test/benchmarks/micro/loop_with_many_jumpdests.bin-runtime delete mode 100644 test/benchmarks/micro/loop_with_many_jumpdests.inputs delete mode 100644 test/benchmarks/micro/memory_grow_mload.bin-runtime delete mode 100644 test/benchmarks/micro/memory_grow_mload.inputs delete mode 100644 test/benchmarks/micro/memory_grow_mstore.bin-runtime delete mode 100644 test/benchmarks/micro/memory_grow_mstore.inputs delete mode 100644 test/benchmarks/micro/push1s_0xffff.bin-runtime delete mode 100644 test/benchmarks/micro/push32s_0xffff.bin-runtime delete mode 100644 test/benchmarks/micro/signextend.bin-runtime delete mode 100644 test/benchmarks/micro/signextend.inputs delete mode 100644 test/benchmarks/micro/zeros_0xffff.bin-runtime diff --git a/.gitmodules b/.gitmodules index c55742f157..c2acb735f6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "evmc"] path = evmc url = https://github.com/ethereum/evmc +[submodule "test/benchmarks"] + path = test/benchmarks + url = https://github.com/ipsilon/evm-benchmarks diff --git a/CMakeLists.txt b/CMakeLists.txt index f816e04e12..95f5f96264 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16...3.23) -if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/evmc/.git) +if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/evmc/.git OR NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/test/benchmarks/.git) message(FATAL_ERROR "Git submodules not initialized, execute:\n git submodule update --init") endif() diff --git a/test/bench/CMakeLists.txt b/test/bench/CMakeLists.txt index 5dd4276d85..e82e27aa75 100644 --- a/test/bench/CMakeLists.txt +++ b/test/bench/CMakeLists.txt @@ -10,6 +10,7 @@ target_sources( bench.cpp helpers.hpp synthetic_benchmarks.cpp synthetic_benchmarks.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/../statetest/statetest_loader.cpp ) # Tests diff --git a/test/bench/bench.cpp b/test/bench/bench.cpp index 9b3a31c722..22688f5f63 100644 --- a/test/bench/bench.cpp +++ b/test/bench/bench.cpp @@ -2,6 +2,7 @@ // Copyright 2019 The evmone Authors. // SPDX-License-Identifier: Apache-2.0 +#include "../statetest/statetest.hpp" #include "helpers.hpp" #include "synthetic_benchmarks.hpp" #include @@ -12,6 +13,7 @@ #include #include #include +#include namespace fs = std::filesystem; @@ -48,49 +50,22 @@ struct BenchmarkCase {} }; - -constexpr auto runtime_code_extension = ".bin-runtime"; -constexpr auto inputs_extension = ".inputs"; - /// Loads the benchmark case's inputs from the inputs file at the given path. -std::vector load_inputs(const fs::path& path) +std::vector load_inputs(const StateTransitionTest& state_test) { - enum class state + std::vector inputs; + const std::string input_name_prefix = ":label "; + for (size_t i = 0; i < state_test.multi_tx.inputs.size(); ++i) { - name, - input, - expected_output - }; + auto input_name = state_test.info.labels.at(i); + const auto prefix_pos = input_name.find_first_of(input_name_prefix); + if (prefix_pos != std::string::npos) + input_name = input_name.substr(prefix_pos + input_name_prefix.size()); - auto inputs_file = std::ifstream{path}; + const auto input = state_test.multi_tx.inputs[i]; + bytes expected_output; - std::vector inputs; - auto st = state::name; - std::string input_name; - bytes input; - for (std::string l; std::getline(inputs_file, l);) - { - switch (st) - { - case state::name: - if (l.empty()) - continue; // Skip any empty line. - input_name = std::move(l); - st = state::input; - break; - - case state::input: - input = from_hexx(l); - st = state::expected_output; - break; - - case state::expected_output: - inputs.emplace_back(std::move(input_name), std::move(input), from_hexx(l)); - input_name = {}; - input = {}; - st = state::name; - break; - } + inputs.emplace_back(std::move(input_name), std::move(input), std::move(expected_output)); } return inputs; @@ -99,16 +74,14 @@ std::vector load_inputs(const fs::path& path) /// Loads a benchmark case from a file at `path` and all its inputs from the matching inputs file. BenchmarkCase load_benchmark(const fs::path& path, const std::string& name_prefix) { - const auto name = name_prefix + path.stem().string(); + auto state_test = evmone::test::load_state_test(path); - std::ifstream file{path}; - std::string code_hexx{std::istreambuf_iterator{file}, std::istreambuf_iterator{}}; - BenchmarkCase b{name, from_hexx(code_hexx)}; + const auto name = name_prefix + path.stem().string(); + const auto code = state_test.pre_state.get(state_test.multi_tx.to.value()).code; + const auto inputs = load_inputs(state_test); - auto inputs_path = path; - inputs_path.replace_extension(inputs_extension); - if (fs::exists(inputs_path)) - b.inputs = load_inputs(inputs_path); + BenchmarkCase b{name, code}; + b.inputs = inputs; return b; } @@ -124,7 +97,7 @@ std::vector load_benchmarks_from_dir( // NOLINT(misc-no-recursio { if (e.is_directory()) subdirs.emplace_back(e); - else if (e.path().extension() == runtime_code_extension) + else if (e.path().extension() == ".json") code_files.emplace_back(e); } diff --git a/test/benchmarks b/test/benchmarks new file mode 160000 index 0000000000..849b3e239a --- /dev/null +++ b/test/benchmarks @@ -0,0 +1 @@ +Subproject commit 849b3e239a28f236dc99574b2e10e0c720895105 diff --git a/test/benchmarks/main/blake2b_huff.bin-runtime b/test/benchmarks/main/blake2b_huff.bin-runtime deleted file mode 100644 index beca846989..0000000000 --- a/test/benchmarks/main/blake2b_huff.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -60003560411161000f5760006000fd5b603f601060186020680100000000000000017f0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff7f00000000000000006a09e667f3bcc9080000000000000000bb67ae8584caa73b60003560801b1873010100000000000000000000000000000000000018610240527f00000000000000003c6ef372fe94f82b0000000000000000a54ff53a5f1d36f1610260527f0000000000000000510e527fade682d100000000000000009b05688c2b3e6c1f610280527f00000000000000001f83d9abfb41bd6b00000000000000005be0cd19137e21796102a052602036036000611ac9565b6080816020016020376080017fffffffffffffffff0000000000000000000000000000000000000000000000007f0000000000000000ffffffffffffffff000000000000000000000000000000007f00000000000000000000000000000000ffffffffffffffff00000000000000007f000000000000000000000000000000000000000000000000ffffffffffffffff602051807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b17604051807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b17606051807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b17608051807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b178088166101a05280871660401b6101c05280861660801b6101e052841660c01b610200528087166101205280861660401b6101405280851660801b61016052831660c01b6101805280861660a05280851660401b60c05280841660801b60e052821660c01b6101005280851660205280841660401b60405280831660801b606052811660c01b608052505050507f0000000000000000510e527fade682d100000000000000009b05688c2b3e6c1f8160801b18610330527f00000000000000001f83d9abfb41bd6b00000000000000005be0cd19137e2179610350527f00000000000000003c6ef372fe94f82b0000000000000000a54ff53a5f1d36f1610310527f00000000000000006a09e667f3bcc9080000000000000000bb67ae8584caa73b6102f052610240516103a052610260516103c052610280516103e0526102a0516104005261028051610240518160185160485117010184166103305181188602871c85166102f051810186169283188702891c8616918260385160685117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a051610260518160985160c85117010184166103505181188602871c851661031051810186169283188702891c8616918260b85160e85117010186168061026052188602891c851691820185168061031052188502891c84166102a05261035052610290516102405181610118516101485117010184166103605181188602871c851661031051810186169283188702891c86169182610138516101685117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b0516102605181610198516101c85117010184166103405181188602871c85166102f051810186169283188702891c861691826101b8516101e851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101d85160885117010184166103305181188602871c85166102f051810186169283188702891c86169182610158516101085117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a0516102605181610138516101a85117010184166103505181188602871c851661031051810186169283188702891c861691826101f85160c85117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160385160085117010184166103605181188602871c851661031051810186169283188702891c861691826101985160485117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816101785160a85117010184166103405181188602871c85166102f051810186169283188702891c8616918260f851606851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f05261034052610280516102405181610178516101885117010184166103305181188602871c85166102f051810186169283188702891c861691826101185160085117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a051610260518160b8516101e85117010184166103505181188602871c851661031051810186169283188702891c861691826058516101a85117010186168061026052188602891c851691820185168061031052188502891c84166102a052610350526102905161024051816101585160685117010184166103605181188602871c851661031051810186169283188702891c861691826101d85160c85117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b051610260518160f8516101285117010184166103405181188602871c85166102f051810186169283188702891c86169182603851608851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f0526103405261028051610240518160f85160685117010184166103305181188602871c85166102f051810186169283188702891c861691826101385160285117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816101b8516101685117010184166103505181188602871c851661031051810186169283188702891c86169182610198516101c85117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160585160a85117010184166103605181188602871c851661031051810186169283188702891c8616918260d8516101485117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816098516101e85117010184166103405181188602871c85166102f051810186169283188702891c8616918260185161010851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101385160a85117010184166103305181188602871c85166102f051810186169283188702891c8616918260185160e85117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816058516101485117010184166103505181188602871c851661031051810186169283188702891c861691826098516101e85117010186168061026052188602891c851691820185168061031052188502891c84166102a052610350526102905161024051816101d8516101685117010184166103605181188602871c851661031051810186169283188702891c861691826038516101885117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b051610260518160d85160685117010184166103405181188602871c85166102f051810186169283188702891c86169182610118516101a851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f0526103405261028051610240518160585160c85117010184166103305181188602871c85166102f051810186169283188702891c86169182610198516101485117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816018516101085117010184166103505181188602871c851661031051810186169283188702891c861691826101785160685117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160985160e85117010184166103605181188602871c851661031051810186169283188702891c861691826101b85160a85117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816101f85160285117010184166103405181188602871c85166102f051810186169283188702891c861691826101d85161012851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101985160285117010184166103305181188602871c85166102f051810186169283188702891c8616918260b8516101e85117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816101d85160885117010184166103505181188602871c851661031051810186169283188702891c861691826101b8516101485117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160185160c85117010184166103605181188602871c851661031051810186169283188702891c8616918260f85160685117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b0516102605181610138516101085117010184166103405181188602871c85166102f051810186169283188702891c8616918260585161016851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101b85160e85117010184166103305181188602871c85166102f051810186169283188702891c86169182610178516101c85117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816101985160685117010184166103505181188602871c851661031051810186169283188702891c861691826038516101285117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160b8516101e85117010184166103605181188602871c851661031051810186169283188702891c8616918260185160885117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816101185160485117010184166103405181188602871c85166102f051810186169283188702891c8616918260d85161014851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f0526103405261028051610240518160d8516101c85117010184166103305181188602871c85166102f051810186169283188702891c861691826101f8516101285117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816101785160085117010184166103505181188602871c851661031051810186169283188702891c861691826078516101085117010186168061026052188602891c851691820185168061031052188502891c84166102a05261035052610290516102405181610198516101a85117010184166103605181188602871c851661031051810186169283188702891c8616918260585160e85117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816038516101485117010184166103405181188602871c85166102f051810186169283188702891c8616918260985160a851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f05261034052610280516102405181610158516101085117010184166103305181188602871c85166102f051810186169283188702891c8616918260585160885117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a051610260518160f85160285117010184166103505181188602871c851661031051810186169283188702891c8616918260d85160a85117010186168061026052188602891c851691820185168061031052188502891c84166102a052610350526102905161024051816101f8516101285117010184166103605181188602871c851661031051810186169283188702891c86169182610178516101c85117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816078516101a85117010184166103405181188602871c85166102f051810186169283188702891c8616918261019851600851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f0526103405261028051610240518160185160485117010184166103305181188602871c85166102f051810186169283188702891c8616918260385160685117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a051610260518160985160c85117010184166103505181188602871c851661031051810186169283188702891c8616918260b85160e85117010186168061026052188602891c851691820185168061031052188502891c84166102a05261035052610290516102405181610118516101485117010184166103605181188602871c851661031051810186169283188702891c86169182610138516101685117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b0516102605181610198516101c85117010184166103405181188602871c85166102f051810186169283188702891c861691826101b8516101e851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101d85160885117010184166103305181188602871c85166102f051810186169283188702891c86169182610158516101085117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a0516102605181610138516101a85117010184166103505181188602871c851661031051810186169283188702891c861691826101f85160c85117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160385160085117010184166103605181188602871c851661031051810186169283188702891c861691826101985160485117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816101785160a85117010184166103405181188602871c85166102f051810186169283188702891c8616918260f851606851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f05261034052610400516102a0511861035051186102a0526103e05161028051186103305118610280526103c05161026051186103105118610260526103a05161024051186102f05118610240525b8181608001106100fe57600060205260006040526000606052600060805280820381602001602037907fffffffffffffffff0000000000000000000000000000000000000000000000007f0000000000000000ffffffffffffffff000000000000000000000000000000007f00000000000000000000000000000000ffffffffffffffff00000000000000007f000000000000000000000000000000000000000000000000ffffffffffffffff602051807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b17604051807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b17606051807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b17608051807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b178088166101a05280871660401b6101c05280861660801b6101e052841660c01b610200528087166101205280861660401b6101405280851660801b61016052831660c01b6101805280861660a05280851660401b60c05280841660801b60e052821660c01b6101005280851660205280841660401b60405280831660801b606052811660c01b608052505050507f0000000000000000510e527fade682d100000000000000009b05688c2b3e6c1f8160801b18610330527f00000000000000001f83d9abfb41bd6b00000000000000005be0cd19137e217980197f0000000000000000ffffffffffffffff0000000000000000000000000000000016907f000000000000000000000000000000000000000000000000ffffffffffffffff1617610350527f00000000000000003c6ef372fe94f82b0000000000000000a54ff53a5f1d36f1610310527f00000000000000006a09e667f3bcc9080000000000000000bb67ae8584caa73b6102f052610240516103a052610260516103c052610280516103e0526102a0516104005261028051610240518160185160485117010184166103305181188602871c85166102f051810186169283188702891c8616918260385160685117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a051610260518160985160c85117010184166103505181188602871c851661031051810186169283188702891c8616918260b85160e85117010186168061026052188602891c851691820185168061031052188502891c84166102a05261035052610290516102405181610118516101485117010184166103605181188602871c851661031051810186169283188702891c86169182610138516101685117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b0516102605181610198516101c85117010184166103405181188602871c85166102f051810186169283188702891c861691826101b8516101e851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101d85160885117010184166103305181188602871c85166102f051810186169283188702891c86169182610158516101085117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a0516102605181610138516101a85117010184166103505181188602871c851661031051810186169283188702891c861691826101f85160c85117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160385160085117010184166103605181188602871c851661031051810186169283188702891c861691826101985160485117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816101785160a85117010184166103405181188602871c85166102f051810186169283188702891c8616918260f851606851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f05261034052610280516102405181610178516101885117010184166103305181188602871c85166102f051810186169283188702891c861691826101185160085117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a051610260518160b8516101e85117010184166103505181188602871c851661031051810186169283188702891c861691826058516101a85117010186168061026052188602891c851691820185168061031052188502891c84166102a052610350526102905161024051816101585160685117010184166103605181188602871c851661031051810186169283188702891c861691826101d85160c85117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b051610260518160f8516101285117010184166103405181188602871c85166102f051810186169283188702891c86169182603851608851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f0526103405261028051610240518160f85160685117010184166103305181188602871c85166102f051810186169283188702891c861691826101385160285117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816101b8516101685117010184166103505181188602871c851661031051810186169283188702891c86169182610198516101c85117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160585160a85117010184166103605181188602871c851661031051810186169283188702891c8616918260d8516101485117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816098516101e85117010184166103405181188602871c85166102f051810186169283188702891c8616918260185161010851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101385160a85117010184166103305181188602871c85166102f051810186169283188702891c8616918260185160e85117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816058516101485117010184166103505181188602871c851661031051810186169283188702891c861691826098516101e85117010186168061026052188602891c851691820185168061031052188502891c84166102a052610350526102905161024051816101d8516101685117010184166103605181188602871c851661031051810186169283188702891c861691826038516101885117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b051610260518160d85160685117010184166103405181188602871c85166102f051810186169283188702891c86169182610118516101a851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f0526103405261028051610240518160585160c85117010184166103305181188602871c85166102f051810186169283188702891c86169182610198516101485117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816018516101085117010184166103505181188602871c851661031051810186169283188702891c861691826101785160685117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160985160e85117010184166103605181188602871c851661031051810186169283188702891c861691826101b85160a85117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816101f85160285117010184166103405181188602871c85166102f051810186169283188702891c861691826101d85161012851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101985160285117010184166103305181188602871c85166102f051810186169283188702891c8616918260b8516101e85117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816101d85160885117010184166103505181188602871c851661031051810186169283188702891c861691826101b8516101485117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160185160c85117010184166103605181188602871c851661031051810186169283188702891c8616918260f85160685117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b0516102605181610138516101085117010184166103405181188602871c85166102f051810186169283188702891c8616918260585161016851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101b85160e85117010184166103305181188602871c85166102f051810186169283188702891c86169182610178516101c85117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816101985160685117010184166103505181188602871c851661031051810186169283188702891c861691826038516101285117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160b8516101e85117010184166103605181188602871c851661031051810186169283188702891c8616918260185160885117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816101185160485117010184166103405181188602871c85166102f051810186169283188702891c8616918260d85161014851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f0526103405261028051610240518160d8516101c85117010184166103305181188602871c85166102f051810186169283188702891c861691826101f8516101285117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a05161026051816101785160085117010184166103505181188602871c851661031051810186169283188702891c861691826078516101085117010186168061026052188602891c851691820185168061031052188502891c84166102a05261035052610290516102405181610198516101a85117010184166103605181188602871c851661031051810186169283188702891c8616918260585160e85117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816038516101485117010184166103405181188602871c85166102f051810186169283188702891c8616918260985160a851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f05261034052610280516102405181610158516101085117010184166103305181188602871c85166102f051810186169283188702891c8616918260585160885117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a051610260518160f85160285117010184166103505181188602871c851661031051810186169283188702891c8616918260d85160a85117010186168061026052188602891c851691820185168061031052188502891c84166102a052610350526102905161024051816101f8516101285117010184166103605181188602871c851661031051810186169283188702891c86169182610178516101c85117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816078516101a85117010184166103405181188602871c85166102f051810186169283188702891c8616918261019851600851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f0526103405261028051610240518160185160485117010184166103305181188602871c85166102f051810186169283188702891c8616918260385160685117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a051610260518160985160c85117010184166103505181188602871c851661031051810186169283188702891c8616918260b85160e85117010186168061026052188602891c851691820185168061031052188502891c84166102a05261035052610290516102405181610118516101485117010184166103605181188602871c851661031051810186169283188702891c86169182610138516101685117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b0516102605181610198516101c85117010184166103405181188602871c85166102f051810186169283188702891c861691826101b8516101e851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f052610340526102805161024051816101d85160885117010184166103305181188602871c85166102f051810186169283188702891c86169182610158516101085117010186168061024052188602891c85169182018516806102f052188502891c8416806102c052610280528061037052610330526102a0516102605181610138516101a85117010184166103505181188602871c851661031051810186169283188702891c861691826101f85160c85117010186168061026052188602891c851691820185168061031052188502891c84166102a0526103505261029051610240518160385160085117010184166103605181188602871c851661031051810186169283188702891c861691826101985160485117010186168061024052188602891c8516918201851690811886028a1c851682610320526102905261031052610360526102b05161026051816101785160a85117010184166103405181188602871c85166102f051810186169283188702891c8616918260f851606851170101861690811887028a1c8616928301861691821887028b1c861680610270526102b052610260526102f05261034052610400516102a0511861035051186102a0526103e05161028051186103305118610280526103c05161026051186103105118610260526103a05161024051186102f051186102405261024051807f0000000000000000ffffffffffffffff000000000000000000000000000000001660401b907f000000000000000000000000000000000000000000000000ffffffffffffffff1660801b1761026051807f0000000000000000ffffffffffffffff000000000000000000000000000000001660401c907f000000000000000000000000000000000000000000000000ffffffffffffffff161717807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b1760005261028051807f0000000000000000ffffffffffffffff000000000000000000000000000000001660401b907f000000000000000000000000000000000000000000000000ffffffffffffffff1660801b176102a051807f0000000000000000ffffffffffffffff000000000000000000000000000000001660401c907f000000000000000000000000000000000000000000000000ffffffffffffffff161717807fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001660201c907f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1660201b17807fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001660101c907f0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1660101b17807fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001660081c907f00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1660081b1760205250505050505050506000356000f3 \ No newline at end of file diff --git a/test/benchmarks/main/blake2b_huff.inputs b/test/benchmarks/main/blake2b_huff.inputs deleted file mode 100644 index 346f500d50..0000000000 --- a/test/benchmarks/main/blake2b_huff.inputs +++ /dev/null @@ -1,20 +0,0 @@ - -empty -00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000 -9ab7a73a97a1a3031406b6c169634a9c06cfb81dec3323bb4de5ce6f4b7ca107de534442a7eaeafbaf366ccfdde1cb97d7c884e4344cd0a23039de71a56d630a - -2805nulls -00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000af5(2805x00) -2a715625dd8e3b86dc5c3f88d229968e8db4ce2e2c257cf40c6cabbc9aa3e17dddf22739fd79e4bef38c8c2166ff374e407ab25000cba307dc160b6cbd49f1c5 - -5610nulls -000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000015ea(5610x00) -f6f72a7f2dfc944429a4a6ec4d1a1c7998c5dd1de8a0c6d21918787ff6651c979bc0d35e4b66d7005f0417b37a13f8669ecdd2897b2f30d85cd91a307e247825 - -8415nulls -000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000020df(8415x00) -ee058d30512191b6ddbf27cef0b8e582fb25c4f9cb0f5b87ae321e0487566d9a32f7e4a94af0578cecf7d5b976dccc7fa74214262aae14094216158957b81002 - -65536nulls -00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000010000(65536x00) -528b404cf7d409a0656aba45a037eb685a5e1c58c28dae8b15d8f29edea2d896928a5b0df2e72b9a8e6133f72002cb9e0a79407d0a28b857b1b0ad8e68774b14 diff --git a/test/benchmarks/main/blake2b_shifts.bin-runtime b/test/benchmarks/main/blake2b_shifts.bin-runtime deleted file mode 100644 index b833dd0a6a..0000000000 --- a/test/benchmarks/main/blake2b_shifts.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b50600436106100365760003560e01c80631e0924231461003b578063d299dac0146102bb575b600080fd5b610282600480360360a081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156100f357600080fd5b82018360208201111561010557600080fd5b8035906020019184600183028401116401000000008311171561012757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561017a57600080fd5b82018360208201111561018c57600080fd5b803590602001918460018302840111640100000000831117156101ae57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561020157600080fd5b82018360208201111561021357600080fd5b8035906020019184600183028401116401000000008311171561023557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903567ffffffffffffffff1691506103f49050565b604051808261010080838360005b838110156102a8578181015183820152602001610290565b5050505090500191505060405180910390f35b610282600480360360608110156102d157600080fd5b8101906020810181356401000000008111156102ec57600080fd5b8201836020820111156102fe57600080fd5b8035906020019184600183028401116401000000008311171561032057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460018302840111640100000000831117156103a757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903567ffffffffffffffff1691506104489050565b6103fc61156d565b61040461158d565b61040c61156d565b61042982858961041b8a610485565b6104248a610485565b610538565b61043382896106dc565b61043d828261079b565b979650505050505050565b61045061156d565b61047d848460206040519081016040528060008152506020604051908101604052806000815250866103f4565b949350505050565b61048d6115ca565b60005b82518110156104fb5760088184018101519067ffffffffffffffff82166007841660010182026040031b9084908404600281106104c957fe5b6020020151188360088404600281106104de57fe5b67ffffffffffffffff909216602092909202015250600101610490565b5061050d8160005b60200201516108cd565b67ffffffffffffffff168152610524816001610503565b67ffffffffffffffff166020820152919050565b67ffffffffffffffff84161580610559575060408467ffffffffffffffff16115b80610565575060408351115b1561056f57600080fd5b61057761156d565b506040805161010081018252676a09e667f3bcc908815267bb67ae8584caa73b6020820152673c6ef372fe94f82b9181019190915267a54ff53a5f1d36f1606082015267510e527fade682d16080820152679b05688c2b3e6c1f60a0820152671f83d9abfb41bd6b60c0820152675be0cd19137e217960e082015260005b600881101561063d5781816008811061060a57fe5b602002015187602001518260088110151561062157fe5b67ffffffffffffffff90921660209290920201526001016105f5565b50835160208781018051805167ffffffffffffffff94851660081b188918630101000018841690528551815160809081018051909218851690915286830151825160a0018051909118851690528551825160c00180519091188516905291850151905160e00180519091188316905286821690880152845190600090821611156106d3576106cb87866106dc565b608060608801525b50505050505050565b60005b815181101561079657826060015167ffffffffffffffff166080141561074057606083015160408401805167ffffffffffffffff9092169091016fffffffffffffffffffffffffffffffff16905261073883600061094f565b600060608401525b60608301805167ffffffffffffffff600182018116909252166107616115e5565b508351835160009085908590811061077557fe5b90602001015160f81c60f81b60f81c905080838301535050506001016106df565b505050565b60608201805160408401805167ffffffffffffffff8084169182016fffffffffffffffffffffffffffffffff1690925260019092011690915260006107de6115e5565b508351825b60808110156107f95782818301536001016107e3565b5061080585600161094f565b60005b60808601516008900481101561085457602086015161082c90826008811061050357fe5b85826008811061083857fe5b67ffffffffffffffff9092166020929092020152600101610808565b506040856080015110156108c65760808501516020860151600860078316810260400392610889929190046008811061050357fe5b67ffffffffffffffff16901c84600887608001518115156108a657fe5b04600881106108b157fe5b67ffffffffffffffff90921660209290920201525b5050505050565b600067010000000000000060ff8316026501000000000061ff00841602630100000062ff000085160261010063ff000000861681029064ff00000000871604630100000065ff00000000008816046501000000000066ff00000000000089160467010000000000000067ff000000000000008a16041818181818181892915050565b610957611604565b61095f611604565b61096761156d565b506040805161010081018252676a09e667f3bcc908815267bb67ae8584caa73b6020820152673c6ef372fe94f82b9181019190915267a54ff53a5f1d36f1606082015267510e527fade682d16080820152679b05688c2b3e6c1f60a0820152671f83d9abfb41bd6b60c0820152675be0cd19137e217960e082015260005b6008811015610a5f57602086015181600881106109fe57fe5b6020020151848260108110610a0f57fe5b67ffffffffffffffff9092166020929092020152818160088110610a2f57fe5b6020020151846008830160108110610a4357fe5b67ffffffffffffffff90921660209290920201526001016109e5565b506040850180516101808501805167ffffffffffffffff928316188216905290516101a085018051680100000000000000006fffffffffffffffffffffffffffffffff9093169290920490911890911690528315610acc576101c0830180511967ffffffffffffffff1690525b600080805b60108160ff161015610b56576000925060038116801515610b0c578851600460ff84160460ff16600481101515610b0457fe5b602002015192505b67ffffffffffffffff83826003036040021c169350610b2a846108cd565b8660ff841660108110610b3957fe5b67ffffffffffffffff909216602092909202015250600101610ad1565b50610b7985600060046008600c89845b60200201518a60015b60200201516113e8565b610b9685600160056009600d8960025b60200201518a6003610b6f565b610bb38560026006600a600e8960045b60200201518a6005610b6f565b610bd08560036007600b600f8960065b60200201518a6007610b6f565b610bed8560006005600a600f8960085b60200201518a6009610b6f565b610c0a8560016006600b600c89600a5b60200201518a600b610b6f565b610c2785600260076008600d89600c5b60200201518a600d610b6f565b610c4385600360046009600e89815b60200201518a600f610b6f565b610c6085600060046008600c89600e5b60200201518a600a610b6f565b610c7d85600160056009600d8960045b60200201518a6008610b6f565b610c918560026006600a600e896009610c36565b610cae8560036007600b600f89600d5b60200201518a6006610b6f565b610ccb8560006005600a600f8960015b60200201518a600c610b6f565b610ce88560016006600b600c8960005b60200201518a6002610b6f565b610cfc85600260076008600d89600b610bc3565b610d1085600360046009600e896005610b89565b610d2485600060046008600c89600b610c70565b610d4185600160056009600d89600c5b60200201518a6000610b6f565b610d558560026006600a600e896005610cdb565b610d688560036007600b600f8981610c1a565b610d848560006005600a600f89825b60200201518a600e610b6f565b610d988560016006600b600c896003610ca1565b610dab85600260076008600d8983610b66565b610dc785600360046009600e89825b60200201518a6004610b6f565b610ddb85600060046008600c896007610be0565b610def85600160056009600d896003610b66565b610e038560026006600a600e89600d610cbe565b610e168560036007600b600f8982610d77565b610e2a8560006005600a600f896002610ca1565b610e3e8560016006600b600c896005610c53565b610e5285600260076008600d896004610d34565b610e6685600360046009600e89600f610c70565b610e7a85600060046008600c896009610d34565b610e8d85600160056009600d8983610bc3565b610ea08560026006600a600e8984610dba565b610eb48560036007600b600f89600a610c36565b610ec88560006005600a600f89600e610b66565b610edb8560016006600b600c8982610cbe565b610eef85600260076008600d896006610c70565b610f0285600360046009600e8984610c1a565b610f1685600060046008600c896002610cbe565b610f2a85600160056009600d896006610c53565b610f3e8560026006600a600e896000610bfd565b610f528560036007600b600f896008610b89565b610f668560006005600a600f896004610c1a565b610f7a8560016006600b600c896007610ba6565b610f8e85600260076008600d89600f610d77565b610fa285600360046009600e896001610be0565b610fb585600060046008600c8981610ba6565b610fc885600160056009600d8984610c36565b610fdb8560026006600a600e8981610c1a565b610fef8560036007600b600f896004610c53565b6110028560006005600a600f8984610bc3565b6110158560016006600b600c8983610b89565b61102985600260076008600d896009610cdb565b61103d85600360046009600e896008610bfd565b61105185600060046008600c89600d610bfd565b61106585600160056009600d896007610d77565b6110798560026006600a600e89600c610b66565b61108c8560036007600b600f8984610be0565b61109f8560006005600a600f8983610d34565b6110b38560016006600b600c89600f610dba565b6110c685600260076008600d8982610ca1565b6110da85600360046009600e896002610c53565b6110ee85600060046008600c896006610c36565b61110285600160056009600d89600e610be0565b6111168560026006600a600e89600b610b89565b61112a8560036007600b600f896000610c70565b61113e8560006005600a600f89600c610cdb565b6111528560016006600b600c89600d610bc3565b61116685600260076008600d896001610dba565b61117a85600360046009600e89600a610ba6565b61118e85600060046008600c89600a610cdb565b6111a285600160056009600d896008610dba565b6111b68560026006600a600e896007610ca1565b6111ca8560036007600b600f896001610ba6565b6111dd8560006005600a600f8981610bfd565b6111f18560016006600b600c896009610d77565b61120585600260076008600d896003610cbe565b61121985600360046009600e89600d610d34565b61122c85600060046008600c8984610b66565b61124085600160056009600d896002610b89565b6112548560026006600a600e896004610ba6565b6112688560036007600b600f896006610bc3565b61127c8560006005600a600f896008610be0565b6112908560016006600b600c89600a610bfd565b6112a485600260076008600d89600c610c1a565b6112b785600360046009600e8981610c36565b6112cb85600060046008600c89600e610c53565b6112df85600160056009600d896004610c70565b6112f38560026006600a600e896009610c36565b6113078560036007600b600f89600d610ca1565b61131b8560006005600a600f896001610cbe565b61132f8560016006600b600c896000610cdb565b61134385600260076008600d89600b610bc3565b61135785600360046009600e896005610b89565b60005b60088160ff1610156113de578560ff60088301166010811061137857fe5b60200201518660ff83166010811061138c57fe5b602002015189602001518360ff166008811015156113a657fe5b6020020151181888602001518260ff166008811015156113c257fe5b67ffffffffffffffff909216602092909202015260010161135a565b5050505050505050565b60008787601081106113f657fe5b60200201519050600088876010811061140b57fe5b60200201519050600089876010811061142057fe5b6020020151905060008a876010811061143557fe5b6020020151905068010000000000000000868486010893508318602081811c91901b67ffffffffffffffff161868010000000000000000818308915067ffffffffffffffff82841860281b1682841860181c18925068010000000000000000858486010893508318601081901c60309190911b67ffffffffffffffff161868010000000000000000818308928318603f81901c60019190911b67ffffffffffffffff1618929150838b8b601081106114e957fe5b67ffffffffffffffff9092166020929092020152828b8a6010811061150a57fe5b67ffffffffffffffff9092166020929092020152818b896010811061152b57fe5b67ffffffffffffffff9092166020929092020152808b886010811061154c57fe5b67ffffffffffffffff90921660209290920201525050505050505050505050565b610100604051908101604052806008906020820280388339509192915050565b6101e0604051908101604052806115a26115e5565b81526020016115af61156d565b81526000602082018190526040820181905260609091015290565b60408051808201825290600290829080388339509192915050565b6080604051908101604052806004906020820280388339509192915050565b61020060405190810160405280601090602082028038833950919291505056fea165627a7a72305820a59dc9d098d29bacdd88cb50c25c96ed4ba3047fd46a5c6ecf57e447a3c699100029 \ No newline at end of file diff --git a/test/benchmarks/main/blake2b_shifts.inputs b/test/benchmarks/main/blake2b_shifts.inputs deleted file mode 100644 index 0f39f8339c..0000000000 --- a/test/benchmarks/main/blake2b_shifts.inputs +++ /dev/null @@ -1,16 +0,0 @@ - -2805nulls -d299dac00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000af5(2805x00) -000000000000000000000000000000000000000000000000610f78eb767b35d60000000000000000000000000000000000000000000000008acb88982dd67191000000000000000000000000000000000000000000000000d96d8b16cbf058cb00000000000000000000000000000000000000000000000075e58196f211891e000000000000000000000000000000000000000000000000b86aeafcaeb2344600000000000000000000000000000000000000000000000088074269d31f0c89000000000000000000000000000000000000000000000000b8d0461382136a330000000000000000000000000000000000000000000000005246a9d5610d58c2 - -5610nulls -d299dac000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000015ea(5610x00) -000000000000000000000000000000000000000000000000e24b661901100a9f000000000000000000000000000000000000000000000000e86c19106fc93aa3000000000000000000000000000000000000000000000000f3f772ede793c73c000000000000000000000000000000000000000000000000e2a620fb9c2542ce00000000000000000000000000000000000000000000000027dd4f1b786e9b6a00000000000000000000000000000000000000000000000072ee3bd30df788c4000000000000000000000000000000000000000000000000bbfdee69798ce72e0000000000000000000000000000000000000000000000001d2c903a1d9e92c7 - -8415nulls -d299dac000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000020df(8415x00) -000000000000000000000000000000000000000000000000ff7720faeac09953000000000000000000000000000000000000000000000000a5ebd368781c3ddb000000000000000000000000000000000000000000000000626c172d3892a6dc000000000000000000000000000000000000000000000000768456d18531f95e000000000000000000000000000000000000000000000000e5504c9f0fa9a153000000000000000000000000000000000000000000000000a5f665b4bee1301f0000000000000000000000000000000000000000000000009358198b0f89274200000000000000000000000000000000000000000000000074b191b954d547e1 - -65536nulls -d299dac00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000010000(65536x00) -000000000000000000000000000000000000000000000000224bf59a700688ba000000000000000000000000000000000000000000000000a36d6ae418d9314d000000000000000000000000000000000000000000000000880adeb791ab854e000000000000000000000000000000000000000000000000bb697bc853d6f4c2000000000000000000000000000000000000000000000000faf9797b9902103f000000000000000000000000000000000000000000000000f8aa7b92b7340ec900000000000000000000000000000000000000000000000095e64259dcdb2be7000000000000000000000000000000000000000000000000ab45d93d04b14cd5 diff --git a/test/benchmarks/main/sha1_divs.bin-runtime b/test/benchmarks/main/sha1_divs.bin-runtime deleted file mode 100644 index 72e54be41e..0000000000 --- a/test/benchmarks/main/sha1_divs.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b5060043610610047577c010000000000000000000000000000000000000000000000000000000060003504631605782b811461004c575b600080fd5b6100f26004803603602081101561006257600080fd5b81019060208101813564010000000081111561007d57600080fd5b82018360208201111561008f57600080fd5b803590602001918460018302840111640100000000831117156100b157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610127945050505050565b604080517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009092168252519081900360200190f35b60006040518251602084019350604067ffffffffffffffc0600183011601600982820310600181146101585761015f565b6040820191505b50776745230100efcdab890098badcfe001032547600c3d2e1f06101d0565b6000838310156101c9575080820151928290039260208410156101c9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208590036101000a0119165b9392505050565b60005b82811015610686576101e684828961017e565b85526101f684602083018961017e565b60208601526040818503106001811461020e57610217565b60808286038701535b506040830381146001811461022b57610239565b602086018051600887021790525b5060405b6080811015610339578581017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc88201517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08301517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff48401516002911891909218189081027ffffffffefffffffefffffffefffffffefffffffefffffffefffffffefffffffe1663800000009091047c010000000100000001000000010000000100000001000000010000000116179052600c0161023d565b5060805b61014081101561043a578581017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908201517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08301517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe88401516004911891909218189081027ffffffffcfffffffcfffffffcfffffffcfffffffcfffffffcfffffffcfffffffc1663400000009091047c03000000030000000300000003000000030000000300000003000000031617905260180161033d565b508160008060005b605081101561065c5760148104801561047257600181146104ae57600281146104e857600381146105275761055d565b6501000000000085046a0100000000000000000000860481186f01000000000000000000000000000000870416189350635a827999925061055d565b6501000000000085046f0100000000000000000000000000000086046a0100000000000000000000870418189350636ed9eba1925061055d565b6a010000000000000000000085046f010000000000000000000000000000008604818117650100000000008804169116179350638f1bbcdc925061055d565b6501000000000085046f0100000000000000000000000000000086046a010000000000000000000087041818935063ca62c1d692505b50601f770800000000000000000000000000000000000000000000008504168063ffffffe073080000000000000000000000000000000000000087041617905080840190508063ffffffff86160190508083019050807c0100000000000000000000000000000000000000000000000000000000600484028c0151040190507401000000000000000000000000000000000000000081026501000000000086041794506a0100000000000000000000633fffffff6a040000000000000000000087041663c00000006604000000000000880416170277ffffffff00ffffffff000000000000ffffffff00ffffffff861617945050600181019050610442565b5050509190910177ffffffff00ffffffff00ffffffff00ffffffff00ffffffff16906040016101d3565b506c0100000000000000000000000063ffffffff821667ffffffff000000006101008404166bffffffff0000000000000000620100008504166fffffffff000000000000000000000000630100000086041673ffffffff00000000000000000000000000000000640100000000870416171717170294505050505091905056fea165627a7a7230582083396642a98f6018c81ca24dc0c2af8e842bd33a6b8d7f08632dc1bc372e466a0029 \ No newline at end of file diff --git a/test/benchmarks/main/sha1_divs.inputs b/test/benchmarks/main/sha1_divs.inputs deleted file mode 100644 index 966185d225..0000000000 --- a/test/benchmarks/main/sha1_divs.inputs +++ /dev/null @@ -1,20 +0,0 @@ - -empty -1605782b00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000 -da39a3ee5e6b4b0d3255bfef95601890afd80709000000000000000000000000 - -1351 -1605782b00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000547(1351x00) -c150bb7410841ea9231d01f36b504c7484c46317000000000000000000000000 - -2737 -1605782b00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000ab1(2737x00) -22170b5185363658b8f74d5f4409064df25c2efa000000000000000000000000 - -5311 -1605782b000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000014bf(5311x00) -86c9614de84df44ba01bfd1dd68e869dc730af09000000000000000000000000 - -65536 -1605782b00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000010000(65536x00) -1adc95bebe9eea8c112d40cd04ab7a8d75c4f961000000000000000000000000 diff --git a/test/benchmarks/main/sha1_shifts.bin-runtime b/test/benchmarks/main/sha1_shifts.bin-runtime deleted file mode 100644 index 165c7ec7e0..0000000000 --- a/test/benchmarks/main/sha1_shifts.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b506004361061002b5760003560e01c80631605782b14610030575b600080fd5b6100d66004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184600183028401116401000000008311171561009557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506100f8945050505050565b604080516bffffffffffffffffffffffff199092168252519081900360200190f35b60006040518251602084019350604067ffffffffffffffc06001830116016009828203106001811461012957610130565b6040820191505b50776745230100efcdab890098badcfe001032547600c3d2e1f0610183565b60008383101561017c5750808201519282900392602084101561017c5760001960208590036101000a0119165b9392505050565b60005b8281101561045c5761019984828961014f565b85526101a984602083018961014f565b6020860152604081850310600181146101c1576101ca565b60808286038701535b50604083038114600181146101de576101ee565b8460031b60208701511760208701525b5060405b608081101561027157858101603f19810151603719820151601f19830151600b1984015118911818600181901b7ffffffffefffffffefffffffefffffffefffffffefffffffefffffffefffffffe16601f9190911c7c010000000100000001000000010000000100000001000000010000000116179052600c016101f2565b5060805b6101408110156102f557858101607f19810151606f19820151603f1983015160171984015118911818600281901b7ffffffffcfffffffcfffffffcfffffffcfffffffcfffffffcfffffffcfffffffc16601e9190911c7c030000000300000003000000030000000300000003000000030000000316179052601801610275565b508160008060005b60508110156104325760148104801561032d576001811461034e576002811461036d5760038114610391576103ac565b602885901c605086901c8118607887901c16189350635a82799992506103ac565b8460501c8560781c189350838560281c189350636ed9eba192506103ac565b605085901c607886901c818117602888901c169116179350638f1bbcdc92506103ac565b8460501c8560781c189350838560281c18935063ca62c1d692505b50601f8460bb1c168063ffffffe086609b1c1617905080840190508063ffffffff86160190508083019050808260021b8b015160e01c0190508060a01b8560281c179450633fffffff8560521c1663c00000008660321c161760501b77ffffffff00ffffffff000000000000ffffffff00ffffffff8616179450506001810190506102fd565b5050509190910177ffffffff00ffffffff00ffffffff00ffffffff00ffffffff1690604001610186565b5063ffffffff811667ffffffff000000008260081c166bffffffff00000000000000008360101c166fffffffff0000000000000000000000008460181c1673ffffffff000000000000000000000000000000008560201c161717171760601b94505050505091905056fea165627a7a72305820227af8b272b9b0e3d345f580ebcde55f50e3e8b7ecafabffcadb92e55e4de68e0029 diff --git a/test/benchmarks/main/sha1_shifts.inputs b/test/benchmarks/main/sha1_shifts.inputs deleted file mode 100644 index 966185d225..0000000000 --- a/test/benchmarks/main/sha1_shifts.inputs +++ /dev/null @@ -1,20 +0,0 @@ - -empty -1605782b00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000 -da39a3ee5e6b4b0d3255bfef95601890afd80709000000000000000000000000 - -1351 -1605782b00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000547(1351x00) -c150bb7410841ea9231d01f36b504c7484c46317000000000000000000000000 - -2737 -1605782b00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000ab1(2737x00) -22170b5185363658b8f74d5f4409064df25c2efa000000000000000000000000 - -5311 -1605782b000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000014bf(5311x00) -86c9614de84df44ba01bfd1dd68e869dc730af09000000000000000000000000 - -65536 -1605782b00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000010000(65536x00) -1adc95bebe9eea8c112d40cd04ab7a8d75c4f961000000000000000000000000 diff --git a/test/benchmarks/main/weierstrudel.bin-runtime b/test/benchmarks/main/weierstrudel.bin-runtime deleted file mode 100644 index 5edddc8f6d..0000000000 --- a/test/benchmarks/main/weierstrudel.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -346060600036030617156100195761019060005260206000fd5b6060600036030460021b603e016102006136c66000396004810281600302826005020182601e01810383820384820385820386820387820388820360606000360304808001600a1b60e0019060061b6000015b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018235067f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000190067f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff70024ccef014a773d2cf7a7bd9d4391eb18d850970024ccef014a773d2cf7a7bd9d4391eb18d85028082109103036789d3256894d213e3097f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6802d91d232ec7e0b3d786096802d91d232ec7e0b3d786028082109103037f30644e72e131a029b85045b68181585cb8e665ff8b011694c1d039a872b0eed9090891818377b3c4d79d41a917585bfc41088d8daaa78b17ea66b99c90dd090860051b9060051b5b937ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0001938e6005026060600036030461080002610200010390806101e01651565b908e019060041c806101e01651565b8060031c6103e0168601828f019283516002018085528f03015260081c601001806101e01651565b8060021c6103e0168601828d019283516002018085528d03015260071c601001806101e01651565b8060011c6103e0168601828b019283516002018085528b03015260061c601001806101e01651565b806103e01686018289019283516002018085528903015260051c601001806101e01651565b601f811161021b57509060018303926101da5750505060200180360361006c5750505050505050505050506000037f912CEB58A394E07D28F0D12384840918C6843FB439555FA7B461A4448976F7D57f60C89CE5C263405370A08B6D0302B0BB2F02D522D0E3951A7841182DB0F9FA8E7f30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD477759e26bcea0d48bacd4f263f1acdb5c4f5763473177fffffe60c0528260a052816080526000604003600360003603048001038060605280359060200135828080848009840960030883828009146103b65761019060005260206000fd5b82818009838160021b818080838809968009600302818180098783038001018a03806000528701099209840380019180016040528101602052826020518201600051840182808280098061040a5760006000fd5b818184099382828909830383808084800983800101880891820181930982878a09018b03829561052a565b604060605103606052808480808380098093098160605135819006606051602001358290068280808480098409600308838280091461047a5761019060005260206000fd5b9409920985818009868160021b81808287098103818780096003029082828009818001018060a051036000520109920980010160a051036020528583800182098060405290919286808084800993840994830987809486098403849283818009848080838509602051098401916000510984018580828009806104fd5760006000fd5b818184099382828909830383808084800983800101880891820181930982878a0901608051038280968199095b83818009848080838509602051098401916000510984018580828009806105515760006000fd5b818184099382828909830383808084800983800101880891820181930982878a09016080510382809681990983818009848080838509602051098401916000510984018580828009806105a45760006000fd5b818184099382828909830383808084800983800101880891820181930982878a09016080510382809681990983818009848080838509602051098401916000510984018580828009806105f75760006000fd5b818184099382828909830383808084800983800101880891820181930982878a090160805103828096819909838180098480808385096020510984019160005109840185808280098061064a5760006000fd5b818184099382828909830383808084800983800101880891820181930982878a090160805103828096819909838180098480808385096020510984019160005109840185808280098061069d5760006000fd5b818184099382828909830383808084800983800101880891820181930982878a09016080510382809681990983818009848080838509602051098401916000510984018580828009806106f05760006000fd5b818184099382828909830383808084800983800101880891820181930982878a09016080510382808097819a0960405109600060605103610435573d526001600160606000360304600f036101cd0261074501565b91849083098061732052806176e0528403806172e0526177205291839083098303838160c05109806176c05261770052806172c05261730052920993099384098061736052806176a0528203806172a0526177605292830983038360c051820980617680526177405280617280526173405292099309938409806173a0528061766052820380617260526177a05292830983038360c051820980617640526177805280617240526173805292099309938409806173e0528061762052820380617220526177e05292830983038360c051820980617600526177c05280617200526173c052920993099384098061742052806175e0528203806171e0526178205292830983038360c0518209806175c05261780052806171c05261740052920993099384098061746052806175a0528203806171a0526178605292830983038360c051820980617580526178405280617180526174405292099309938409806174a0528061756052820380617160526178a05292830983038360c051820980617540526178805280617140526174805292099309938409806174e0528061752052820380617120526178e05292830985038560c051820980617500526178c05280617100526174c052920992095b918490830980616b205280616ee052840380616ae052616f205291839083098303838160c0510980616ec052616f005280616ac052616b00529209930993840980616b605280616ea052820380616aa052616f605292830983038360c051820980616e8052616f405280616a8052616b40529209930993840980616ba05280616e6052820380616a6052616fa05292830983038360c051820980616e4052616f805280616a4052616b80529209930993840980616be05280616e2052820380616a2052616fe05292830983038360c051820980616e0052616fc05280616a0052616bc0529209930993840980616c205280616de0528203806169e0526170205292830983038360c051820980616dc05261700052806169c052616c00529209930993840980616c605280616da0528203806169a0526170605292830983038360c051820980616d8052617040528061698052616c40529209930993840980616ca05280616d6052820380616960526170a05292830983038360c051820980616d4052617080528061694052616c80529209930993840980616ce05280616d2052820380616920526170e05292830985038560c051820980616d00526170c0528061690052616cc052920992095b91849083098061632052806166e0528403806162e0526167205291839083098303838160c05109806166c05261670052806162c05261630052920993099384098061636052806166a0528203806162a0526167605292830983038360c051820980616680526167405280616280526163405292099309938409806163a0528061666052820380616260526167a05292830983038360c051820980616640526167805280616240526163805292099309938409806163e0528061662052820380616220526167e05292830983038360c051820980616600526167c05280616200526163c052920993099384098061642052806165e0528203806161e0526168205292830983038360c0518209806165c05261680052806161c05261640052920993099384098061646052806165a0528203806161a0526168605292830983038360c051820980616580526168405280616180526164405292099309938409806164a0528061656052820380616160526168a05292830983038360c051820980616540526168805280616140526164805292099309938409806164e0528061652052820380616120526168e05292830985038560c051820980616500526168c05280616100526164c052920992095b918490830980615b205280615ee052840380615ae052615f205291839083098303838160c0510980615ec052615f005280615ac052615b00529209930993840980615b605280615ea052820380615aa052615f605292830983038360c051820980615e8052615f405280615a8052615b40529209930993840980615ba05280615e6052820380615a6052615fa05292830983038360c051820980615e4052615f805280615a4052615b80529209930993840980615be05280615e2052820380615a2052615fe05292830983038360c051820980615e0052615fc05280615a0052615bc0529209930993840980615c205280615de0528203806159e0526160205292830983038360c051820980615dc05261600052806159c052615c00529209930993840980615c605280615da0528203806159a0526160605292830983038360c051820980615d8052616040528061598052615c40529209930993840980615ca05280615d6052820380615960526160a05292830983038360c051820980615d4052616080528061594052615c80529209930993840980615ce05280615d2052820380615920526160e05292830985038560c051820980615d00526160c0528061590052615cc052920992095b91849083098061532052806156e0528403806152e0526157205291839083098303838160c05109806156c05261570052806152c05261530052920993099384098061536052806156a0528203806152a0526157605292830983038360c051820980615680526157405280615280526153405292099309938409806153a0528061566052820380615260526157a05292830983038360c051820980615640526157805280615240526153805292099309938409806153e0528061562052820380615220526157e05292830983038360c051820980615600526157c05280615200526153c052920993099384098061542052806155e0528203806151e0526158205292830983038360c0518209806155c05261580052806151c05261540052920993099384098061546052806155a0528203806151a0526158605292830983038360c051820980615580526158405280615180526154405292099309938409806154a0528061556052820380615160526158a05292830983038360c051820980615540526158805280615140526154805292099309938409806154e0528061552052820380615120526158e05292830985038560c051820980615500526158c05280615100526154c052920992095b918490830980614b205280614ee052840380614ae052614f205291839083098303838160c0510980614ec052614f005280614ac052614b00529209930993840980614b605280614ea052820380614aa052614f605292830983038360c051820980614e8052614f405280614a8052614b40529209930993840980614ba05280614e6052820380614a6052614fa05292830983038360c051820980614e4052614f805280614a4052614b80529209930993840980614be05280614e2052820380614a2052614fe05292830983038360c051820980614e0052614fc05280614a0052614bc0529209930993840980614c205280614de0528203806149e0526150205292830983038360c051820980614dc05261500052806149c052614c00529209930993840980614c605280614da0528203806149a0526150605292830983038360c051820980614d8052615040528061498052614c40529209930993840980614ca05280614d6052820380614960526150a05292830983038360c051820980614d4052615080528061494052614c80529209930993840980614ce05280614d2052820380614920526150e05292830985038560c051820980614d00526150c0528061490052614cc052920992095b91849083098061432052806146e0528403806142e0526147205291839083098303838160c05109806146c05261470052806142c05261430052920993099384098061436052806146a0528203806142a0526147605292830983038360c051820980614680526147405280614280526143405292099309938409806143a0528061466052820380614260526147a05292830983038360c051820980614640526147805280614240526143805292099309938409806143e0528061462052820380614220526147e05292830983038360c051820980614600526147c05280614200526143c052920993099384098061442052806145e0528203806141e0526148205292830983038360c0518209806145c05261480052806141c05261440052920993099384098061446052806145a0528203806141a0526148605292830983038360c051820980614580526148405280614180526144405292099309938409806144a0528061456052820380614160526148a05292830983038360c051820980614540526148805280614140526144805292099309938409806144e0528061452052820380614120526148e05292830985038560c051820980614500526148c05280614100526144c052920992095b918490830980613b205280613ee052840380613ae052613f205291839083098303838160c0510980613ec052613f005280613ac052613b00529209930993840980613b605280613ea052820380613aa052613f605292830983038360c051820980613e8052613f405280613a8052613b40529209930993840980613ba05280613e6052820380613a6052613fa05292830983038360c051820980613e4052613f805280613a4052613b80529209930993840980613be05280613e2052820380613a2052613fe05292830983038360c051820980613e0052613fc05280613a0052613bc0529209930993840980613c205280613de0528203806139e0526140205292830983038360c051820980613dc05261400052806139c052613c00529209930993840980613c605280613da0528203806139a0526140605292830983038360c051820980613d8052614040528061398052613c40529209930993840980613ca05280613d6052820380613960526140a05292830983038360c051820980613d4052614080528061394052613c80529209930993840980613ce05280613d2052820380613920526140e05292830985038560c051820980613d00526140c0528061390052613cc052920992095b91849083098061332052806136e0528403806132e0526137205291839083098303838160c05109806136c05261370052806132c05261330052920993099384098061336052806136a0528203806132a0526137605292830983038360c051820980613680526137405280613280526133405292099309938409806133a0528061366052820380613260526137a05292830983038360c051820980613640526137805280613240526133805292099309938409806133e0528061362052820380613220526137e05292830983038360c051820980613600526137c05280613200526133c052920993099384098061342052806135e0528203806131e0526138205292830983038360c0518209806135c05261380052806131c05261340052920993099384098061346052806135a0528203806131a0526138605292830983038360c051820980613580526138405280613180526134405292099309938409806134a0528061356052820380613160526138a05292830983038360c051820980613540526138805280613140526134805292099309938409806134e0528061352052820380613120526138e05292830985038560c051820980613500526138c05280613100526134c052920992095b918490830980612b205280612ee052840380612ae052612f205291839083098303838160c0510980612ec052612f005280612ac052612b00529209930993840980612b605280612ea052820380612aa052612f605292830983038360c051820980612e8052612f405280612a8052612b40529209930993840980612ba05280612e6052820380612a6052612fa05292830983038360c051820980612e4052612f805280612a4052612b80529209930993840980612be05280612e2052820380612a2052612fe05292830983038360c051820980612e0052612fc05280612a0052612bc0529209930993840980612c205280612de0528203806129e0526130205292830983038360c051820980612dc05261300052806129c052612c00529209930993840980612c605280612da0528203806129a0526130605292830983038360c051820980612d8052613040528061298052612c40529209930993840980612ca05280612d6052820380612960526130a05292830983038360c051820980612d4052613080528061294052612c80529209930993840980612ce05280612d2052820380612920526130e05292830985038560c051820980612d00526130c0528061290052612cc052920992095b91849083098061232052806126e0528403806122e0526127205291839083098303838160c05109806126c05261270052806122c05261230052920993099384098061236052806126a0528203806122a0526127605292830983038360c051820980612680526127405280612280526123405292099309938409806123a0528061266052820380612260526127a05292830983038360c051820980612640526127805280612240526123805292099309938409806123e0528061262052820380612220526127e05292830983038360c051820980612600526127c05280612200526123c052920993099384098061242052806125e0528203806121e0526128205292830983038360c0518209806125c05261280052806121c05261240052920993099384098061246052806125a0528203806121a0526128605292830983038360c051820980612580526128405280612180526124405292099309938409806124a0528061256052820380612160526128a05292830983038360c051820980612540526128805280612140526124805292099309938409806124e0528061252052820380612120526128e05292830985038560c051820980612500526128c05280612100526124c052920992095b918490830980611b205280611ee052840380611ae052611f205291839083098303838160c0510980611ec052611f005280611ac052611b00529209930993840980611b605280611ea052820380611aa052611f605292830983038360c051820980611e8052611f405280611a8052611b40529209930993840980611ba05280611e6052820380611a6052611fa05292830983038360c051820980611e4052611f805280611a4052611b80529209930993840980611be05280611e2052820380611a2052611fe05292830983038360c051820980611e0052611fc05280611a0052611bc0529209930993840980611c205280611de0528203806119e0526120205292830983038360c051820980611dc05261200052806119c052611c00529209930993840980611c605280611da0528203806119a0526120605292830983038360c051820980611d8052612040528061198052611c40529209930993840980611ca05280611d6052820380611960526120a05292830983038360c051820980611d4052612080528061194052611c80529209930993840980611ce05280611d2052820380611920526120e05292830985038560c051820980611d00526120c0528061190052611cc052920992095b91849083098061132052806116e0528403806112e0526117205291839083098303838160c05109806116c05261170052806112c05261130052920993099384098061136052806116a0528203806112a0526117605292830983038360c051820980611680526117405280611280526113405292099309938409806113a0528061166052820380611260526117a05292830983038360c051820980611640526117805280611240526113805292099309938409806113e0528061162052820380611220526117e05292830983038360c051820980611600526117c05280611200526113c052920993099384098061142052806115e0528203806111e0526118205292830983038360c0518209806115c05261180052806111c05261140052920993099384098061146052806115a0528203806111a0526118605292830983038360c051820980611580526118405280611180526114405292099309938409806114a0528061156052820380611160526118a05292830983038360c051820980611540526118805280611140526114805292099309938409806114e0528061152052820380611120526118e05292830985038560c051820980611500526118c05280611100526114c052920992095b918490830980610b205280610ee052840380610ae052610f205291839083098303838160c0510980610ec052610f005280610ac052610b00529209930993840980610b605280610ea052820380610aa052610f605292830983038360c051820980610e8052610f405280610a8052610b40529209930993840980610ba05280610e6052820380610a6052610fa05292830983038360c051820980610e4052610f805280610a4052610b80529209930993840980610be05280610e2052820380610a2052610fe05292830983038360c051820980610e0052610fc05280610a0052610bc0529209930993840980610c205280610de0528203806109e0526110205292830983038360c051820980610dc05261100052806109c052610c00529209930993840980610c605280610da0528203806109a0526110605292830983038360c051820980610d8052611040528061098052610c40529209930993840980610ca05280610d6052820380610960526110a05292830983038360c051820980610d4052611080528061094052610c80529209930993840980610ce05280610d2052820380610920526110e05292830985038560c051820980610d00526110c0528061090052610cc052920992095b91849083098061032052806106e0528403806102e0526107205291839083098303838160c05109806106c05261070052806102c05261030052920993099384098061036052806106a0528203806102a0526107605292830983038360c051820980610680526107405280610280526103405292099309938409806103a0528061066052820380610260526107a05292830983038360c051820980610640526107805280610240526103805292099309938409806103e0528061062052820380610220526107e05292830983038360c051820980610600526107c05280610200526103c052920993099384098061042052806105e0528203806101e0526108205292830983038360c0518209806105c05261080052806101c05261040052920993099384098061046052806105a0528203806101a0526108605292830983038360c051820980610580526108405280610180526104405292099309938409806104a0528061056052820380610160526108a05292830983038360c051820980610540526108805280610140526104805298090981038160c051820980610500526108c05280610100526104c052930909806104e0528061052052810380610120526108e0523d518460071b606060003603046108000261020001035b850180511561225657607c6138c6601e3980518103601e870301516202ffe0168051840390602001518403600160606000360304610800026102000151603e01606060003603046108000261020001526002848a019451035161ffff16565b858082800981605a8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160588703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160568703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160548703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160528703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160508703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981604e8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981604c8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981604a8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160488703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160468703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160448703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160428703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160408703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981603e8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981603c8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981603a8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160388703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160368703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160348703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160328703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160308703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981602e8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981602c8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981602a8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160288703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160268703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160248703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160228703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160208703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b8582800192830986818001818080838909810397800960030281818009888001019788010992090191869109850388840193515161ffff16565b858082800981605a8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160588703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160568703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160548703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160528703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160508703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981604e8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981604c8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981604a8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160488703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160468703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160448703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160428703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160408703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981603e8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981603c8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981603a8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160388703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160368703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160348703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160328703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160308703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981602e8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981602c8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b858082800981602a8703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160288703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160268703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160248703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160228703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b85808280098160208703516202ffe0168060200151828685098391098601928291510986018180808380098184820999098103968189818780098a800101089809940993850109018603905b806136a757505050508460071b606060003603046108000261020001035b85018051156134dd57603e60606000360304610800026102000151036060600036030461080002610200015280518103601e870301516202ffe0168051840390602001518403600160028451038452835161353757613627565b85808280098186516002810388528703601e8d0301516202ffe016806020015182868509839109860192829151098601818080838009806135ff57876135a8575050505086516002810388528703601e8d0301516202ffe01680602001518203955051900394505050506001613620565b818680096135ea575050505050505085828001928309868180018180808389098103978009600302818180098880010197880109920901918691098503613620565b50505050505050505050600060016000613620565b8184820999098103968189818780098a800101089809940993850109018603905b8351613537575b836060600036030461080002610200011461367a57858280019283098681800181808083890981039780096003028181800988800101978801099209019186910985039288019283511561362757613537565b806136a757801582600114841516166136935760006000fd5b60405260205260005250505050505060603df35b8486910960405284900684036020528390063d5250505050505060603df300000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002a2000000000000000000000000000000000000000000000000000000000000027a00000000000000000000000000000000000000000000000000000000000002a2000000000000000000000000000000000000000000000000000000000000025200000000000000000000000000000000000000000000000000000000000002a2000000000000000000000000000000000000000000000000000000000000027a00000000000000000000000000000000000000000000000000000000000002a2000000000000000000000000000000000000000000000000000000000000022a00000000000000000000000000000000000000000000000000000000000002a2000000000000000000000000000000000000000000000000000000000000027a00000000000000000000000000000000000000000000000000000000000002a2000000000000000000000000000000000000000000000000000000000000025200000000000000000000000000000000000000000000000000000000000002a2000000000000000000000000000000000000000000000000000000000000027a00000000000000000000000000000000000000000000000000000000000002a22b9d2b512b052ab92a6d2a2129d52989293d28f128a52859280d27c12775272926dd2691264525f925ad2561251524c9247d243123e52399234d230122b534bf3473342733db338f334332f732ab325f321331c7317b312f30e33097304b2fff2fb32f672f1b2ecf2e832e372deb2d9f2d532d072cbb2c6f2c232bd7 \ No newline at end of file diff --git a/test/benchmarks/main/weierstrudel.inputs b/test/benchmarks/main/weierstrudel.inputs deleted file mode 100644 index fbe69723b3..0000000000 --- a/test/benchmarks/main/weierstrudel.inputs +++ /dev/null @@ -1,20 +0,0 @@ - -0 -(1x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002)(1xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) -0267044364fafcc4179b3d9841976c5f9751085391a8d62ea2d85f3add49df212fd05e78e4d6069841dca813b82c477c70ff014564c72add2f3258355ae3900e1b237dbf02109b56a5d2e9bd7ac6d5613b4b685f39689ba531cc4383128a151f - -1 -(2x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002)(2xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) -23386b694c363dc9e2e2eee49aa5bf940e847fc66a54058e42b780c97d7e53630dbf2d60869bd617de2578e9ccd52c903ec669efd4219228e91c72407568ae2618b263f94f331dfebd495772e61d3517b404ce327c504b23f3b15af8f44bdfad - -3 -(4x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002)(4xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) -124f4bf2511c4ae2770b50b1ab956174bf87260d6ce8255c36ac44d8c354ceb3251e057af103a5b54eef7986550787979eb30384b77dffd8e57891c771553f4400c87e7d58a5ffc110788895ed1569b8b21bfac97502da2f38bd273c5046250a - -9 -(10x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002)(10xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) -1c895346881918d3b79f69a13cf38ba4f4377b3225edb88a93135f3b0ec986c20dc6f1ddba9b2573209c7f1165bf5eb03786ecadc30e130ff67c17fda6c4fb700fe7b15aad333f3b985a54c2aa523c9e9c4a2e4f53eb8abaa49668289b43147b - -14 -(15x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002)(15xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) -0f7f8f15d02f4e47ac51fe38826c20f511253fe504557da98f0aa915cb21db9b1fbfa0a8ccd10005eba9e5f7d575e530baa14c9711e9dbedca27a79f01c0ddac16989a70b325764d40bb22072b810f8606c35e6af9116fbdac4bc53c081109d3 diff --git a/test/benchmarks/micro/beginsub_push1s_0xffff.bin-runtime b/test/benchmarks/micro/beginsub_push1s_0xffff.bin-runtime deleted file mode 100644 index 3d5138fbfa..0000000000 --- a/test/benchmarks/micro/beginsub_push1s_0xffff.bin-runtime +++ /dev/null @@ -1,2 +0,0 @@ -00(2047x5c60006000600060006000600060006000600060006000600060006000610000) - diff --git a/test/benchmarks/micro/beginsubs_0xffff.bin-runtime b/test/benchmarks/micro/beginsubs_0xffff.bin-runtime deleted file mode 100644 index 2c211a9ec9..0000000000 --- a/test/benchmarks/micro/beginsubs_0xffff.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -00(65535x5c) \ No newline at end of file diff --git a/test/benchmarks/micro/jump_around.bin-runtime b/test/benchmarks/micro/jump_around.bin-runtime deleted file mode 100644 index ab4d3aceb2..0000000000 --- a/test/benchmarks/micro/jump_around.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -5b613d90565b612080565b612026565b6125e4565b61198c565b610d98565b613557565b614010565b6108cf565b6113bf565b610b40565b613066565b6144d4565b6107c1565b6112de565b612c2e565b612c88565b6122a1565b614b73565b6101a9565b614178565b6121de565b61058c565b612c60565b610c76565b6111d5565b61209e565b611f18565b611bf8565b6101d1565b6143d0565b612463565b610ae6565b6107ee565b6140d8565b610677565b61271f565b61320f565b614902565b61114e565b612517565b6114c8565b614efc565b61083e565b6129b8565b610f0a565b6116c1565b6117e8565b6122c4565b6144ed565b6103d4565b61149b565b6100ff565b611a6d565b614f47565b6144a2565b6143a8565b613cc3565b6139e4565b613bce565b6115d6565b6112e3565b610ea6565b610bc2565b61327d565b61224c565b613ad9565b613b10565b611fa9565b61191e565b612a5d565b612945565b611748565b610721565b613552565b6100f5565b6143ee565b611707565b613bb5565b6100d7565b614c8b565b61430d565b61398a565b612dbe565b613903565b6107a8565b613f11565b611144565b61488f565b613ad4565b612364565b613ef8565b6136dd565b611874565b61242c565b611e41565b610da7565b612585565b61383b565b610cad565b61009b565b614529565b614b0a565b612134565b610e24565b6113a6565b610fd7565b6116cb565b613d9a565b611671565b612e95565b61069a565b611905565b610663565b613fc5565b61352f565b614c81565b613c19565b614664565b61284b565b612e54565b612594565b61413c565b611bbc565b612e68565b611ba8565b6138d6565b612634565b6127b5565b613d36565b6106c7565b610767565b614268565b6132ff565b6122ba565b614a42565b61074e565b610c44565b612b2a565b612e13565b6109c4565b613c9b565b61485d565b6120e4565b612a6c565b611086565b610c8a565b614632565b6134fd565b611fd1565b613421565b6109a6565b614e07565b6108c5565b6123d7565b614d8f565b6139ee565b611b8f565b613944565b61348f565b6139df565b61274c565b610edd565b614a74565b6113ab565b613c32565b6143da565b6137e6565b61221a565b61411e565b6120d0565b613660565b611216565b614fce565b6132aa565b6123e1565b613d09565b6133ef565b612c8d565b612931565b613bd3565b612a21565b611d60565b611d38565b613f02565b610f4b565b614484565b611419565b614ad3565b614e6b565b614c09565b613773565b611f31565b611c48565b612846565b614a33565b6106c2565b610a7d565b610faa565b610389565b6130fc565b612481565b6135e3565b61368d565b6149d9565b614925565b61352a565b6115e0565b61182e565b612d96565b6134d5565b61240e565b611f81565b61405b565b614876565b61301b565b61230a565b610645565b611702565b610e97565b6131a1565b614295565b6139f3565b6114c3565b610145565b613eb7565b610cb2565b613ab1565b613610565b612a0d565b61118f565b61324b565b6104ba565b610294565b611752565b614b6e565b611c9d565b6141f0565b613e62565b611e1e565b61054b565b612a94565b611b21565b6142b8565b611f09565b611275565b6124c7565b612382565b6126c5565b611248565b611149565b610005565b611ed2565b6141e1565b612d3c565b613827565b614731565b6141be565b6139ad565b61206c565b6147b3565b61473b565b61328c565b610f64565b613269565b610384565b610c99565b614132565b610a82565b612d87565b611644565b61154a565b613764565b61441b565b611eb9565b610a8c565b612652565b6119f5565b610fdc565b612139565b610708565b61205d565b613f52565b613cb4565b610d61565b61190a565b613c46565b61498e565b61212f565b6101b8565b6125ad565b614f65565b613f57565b610541565b611ecd565b61252b565b613a7a565b6140f6565b611365565b6112b1565b614b32565b611b12565b6139bc565b614236565b611883565b611ac7565b61299a565b61278d565b612797565b61403d565b611360565b610758565b61049c565b612adf565b6103a7565b6120cb565b6106ae565b61142d565b612503565b612e9a565b61302a565b6138ef565b612814565b6140dd565b61333b565b614e8e565b61254e565b6126d9565b61115d565b611185565b613a1b565b61442f565b610e92565b613c55565b61385e565b611c6b565b6123aa565b6123b4565b6139f8565b6136bf565b610b13565b6131ba565b61200d565b613a07565b61225b565b614a47565b61234b565b613e08565b611b44565b6145ba565b61497a565b612cbf565b61435d565b614dee565b611c25565b611cca565b613ead565b613d95565b614150565b614001565b614367565b611211565b6139e9565b614088565b614e52565b612201565b6124e0565b6122b0565b612f8f565b612625565b61361f565b6148f3565b611158565b6123d2565b612855565b612837565b611f63565b6108c0565b613c8c565b61065e565b612d05565b614899565b6121ac565b6126bb565b614682565b613408565b612fdf565b61154f565b6128e6565b611e6e565b6132e6565b610613565b61116c565b6115d1565b612251565b61306b565b61171b565b6105be565b614970565b613048565b61069f565b614303565b614d6c565b6120fd565b61250d565b612ae9565b613741565b6148e9565b6114d7565b61399e565b6114be565b613bd8565b6148cb565b613449565b611ec3565b61470e565b612116565b614db2565b612ff8565b6102c6565b61063b565b61350c565b61341c565b614e7a565b614c72565b613a93565b611f90565b611e82565b6100b9565b613b01565b612882565b611f5e565b613467565b611c4d565b611b4e565b614f92565b61087f565b613539565b613b6a565b6126b6565b6110ae565b6113ba565b61337c565b613025565b614f9c565b61354d565b6130ed565b6115bd565b6131c4565b611135565b610442565b611455565b612a3f565b6113d3565b614817565b61314c565b610712565b6119be565b611b67565b614f06565b612148565b6112e8565b61422c565b613692565b610eb0565b6139da565b614461565b612ac1565b612094565b6135b1565b611932565b6117b1565b61401a565b61243b565b6124b8565b612c51565b613e67565b614c9f565b6146f5565b612819565b614155565b6130ca565b6143f3565b61163f565b613575565b613f3e565b61203f565b61248b565b611c2a565b613494565b61294a565b61078a565b611ef5565b610460565b614790565b611559565b6104ab565b612b66565b61468c565b610b6d565b6110d1565b610cda565b611e87565b61217a565b613769565b6114f5565b614ff6565b6103a2565b613912565b612396565b611edc565b61136a565b611d7e565b610393565b61145f565b61418c565b612620565b612486565b610078565b614641565b6127d3565b614583565b61367e565b611a81565b6148fd565b610488565b614a60565b6141ff565b6139d0565b614871565b6138cc565b614722565b611aae565b6115ef565b614bf5565b612ca1565b612e59565b610dca565b611996565b611383565b614961565b614b87565b6110d6565b611865565b6136a1565b613331565b611ddd565b613e3f565b612021565b614c4a565b610271565b613980565b612e90565b6145d8565b610226565b613cd2565b6132a0565b6115c7565b613205565b610d1b565b614a1f565b613eda565b61120c565b611be9565b613dd1565b611e5f565b614dc1565b612bfc565b61146e565b6130e3565b611261565b610933565b610f37565b6132cd565b6121d4565b6103fc565b61127a565b614943565b61032f565b614a9c565b612ca6565b61315b565b6118b0565b611a86565b612657565b613e3a565b612fb2565b6128ff565b610780565b610da2565b61467d565b61249a565b614d80565b6119e6565b6110cc565b613d6d565b613606565b6104b5565b613908565b610cfd565b611fbd565b610eab565b613386565b610ac3565b612878565b6147d6565b612963565b6101fe565b610a69565b610e56565b61490c565b610c21565b614d12565b612292565b614a3d565b612751565b613688565b614448565b6117ac565b6125b2565b61087a565b613ae3565b610596565b614b50565b610875565b614443565b610406565b610361565b610dc5565b61323c565b610177565b61343a565b611879565b611e05565b613e5d565b61388b565b613520565b612e36565b613246565b612acb565b611842565b611cde565b6105b4565b613f48565b613994565b614da3565b61283c565b61118a565b611db5565b61092e565b614ac9565b610f46565b6131a6565b6144de565b614457565b61356b565b610a23565b6134cb565b613eb2565b614907565b610497565b614916565b61415f565b612f5d565b6119dc565b612c7e565b611dfb565b611045565b610f55565b614759565b612d37565b614c63565b614029565b6133ae565b61008c565b613b24565b612fad565b6132b4565b6146b9565b61122f565b613a11565b613895565b61223d565b614515565b612eb3565b613372565b6128cd565b613c1e565b61304d565b6130f2565b6115db565b611d88565b61299f565b6135d9565b614308565b61148c565b611f68565b613b15565b612b11565b613b6f565b61140f565b612eea565b610d93565b610136565b612823565b61050a565b611cb1565b612f71565b612ad5565b6118b5565b613728565b6106f4565b610d2f565b61491b565b613e9e565b612aa3565b611f22565b610d25565b613fe8565b614eca565b611a68565b612db9565b614975565b611db0565b614957565b613e17565b612193565b612fee565b611b0d565b613df4565b613b3d565b613b33565b612b48565b612c10565b6141aa565b614646565b6103e3565b613160565b6142fe565b610451565b613def565b613e03565b612332565b61359d565b6149f2565b6146ff565b611fa4565b611a7c565b613007565b6137ff565b610a4b565b6102b2565b6108e8565b612f58565b61023a565b61397b565b610d8e565b612774565b610bcc565b6143e4565b610893565b612b16565b61478b565b6102fd565b613b83565b612cdd565b6117a2565b61226a565b612cd8565b610b3b565b61048d565b611ced565b61369c565b612b2f565b611586565b611004565b613327565b614a0b565b613c64565b614f38565b612b93565b61082f565b613971565b6115fe565b613223565b611e50565b613cf0565b61053c565b61045b565b614713565b611a4f565b611ff9565b610e88565b611b53565b610181565b610efb565b614add565b614e98565b611cb6565b61313d565b614e2a565b6124a9565b611c84565b6135c0565b614e89565b6110e5565b614d71565b613eee565b611b35565b610a55565b612ddc565b612495565b610820565b611bd5565b614a01565b611428565b6125ee565b6109fb565b613b56565b6112c0565b614128565b61451f565b610c5d565b610b72565b611937565b614afb565b610168565b610929565b6113f6565b613584565b6110f9565b6131dd565b6126ca565b614560565b613863565b6105e6565b610bd6565b6100fa565b612d8c565b611a40565b611662565b614cc7565b614376565b6122f6565b614312565b613f9d565b612a17565b6119f0565b61033e565b614ae7565b611095565b6100b4565b6108b1565b6144e8565b6136e7565b614dad565b613de5565b611c7f565b61204e565b61079e565b610bc7565b61062c565b613f4d565b610776565b61005f565b6128eb565b6133a9565b613f7f565b6105d2565b6141d2565b61364c565b61193c565b61157c565b61131f565b610c1c565b611f04565b614628565b611a36565b612f26565b611464565b610956565b6122fb565b610bf9565b610f28565b614e16565b613ba6565b6145d3565b6112ac565b610feb565b61208f565b610be0565b610ad7565b613fac565b610b63565b61256c565b6127ba565b6114cd565b613313565b612f35565b611be4565b6139a3565b6118dd565b613db3565b610695565b61291d565b61340d565b61338b565b6138c7565b611824565b61373c565b610fb4565b612869565b612dff565b61039d565b612210565b611f4a565b614dfd565b614ab5565b612ae4565b61322d565b6144e3565b61386d565b611f59565b612071565b614240565b61012c565b610ee7565b613ade565b611522565b613ab6565b6131e7565b61055a565b610ad2565b61219d565b613b0b565b613296565b611ad1565b614c2c565b614821565b611a0e565b611928565b6110a9565b6147f4565b610b90565b6124a4565b613ceb565b614f51565b614371565b6146a0565b6123dc565b614bf0565b6148a8565b611676565b61139c565b6105c8565b6108fc565b611f9f565b6110b8565b611bb2565b61475e565b6104e2565b613165565b61096f565b6109f1565b610e1a565b613b1a565b61499d565b612850565b6111a8565b610f3c565b612b0c565b612f3a565b612f53565b61031b565b6147bd565b611540565b610bfe565b612e22565b612f62565b6142f9565b612909565b6134a3565b612e7c565b610e79565b611a13565b614385565b6130c5565b611e23565b6117e3565b6133b8565b610c9e565b611df1565b613e6c565b613fde565b612670565b6131ec565b6142ef565b6109ba565b614c27565b611fae565b610483565b613228565b613b38565b6137f0565b611077565b61075d565b613318565b613589565b611446565b613e7b565b61381d565b613967565b613787565b6121f2565b612f21565b613a61565b611162565b610654565b614b82565b61461e565b610faf565b612c3d565b61227e565b610eec565b614f42565b61481c565b613cb9565b6124b3565b611eaa565b614fb0565b612189565b613e21565b6146d7565b6138fe565b61190f565b610636565b613df9565b6117f7565b613403565b6143e9565b610ff0565b610456565b61466e565b614bbe565b6145ce565b6136b0565b6101a4565b613ac5565b610a96565b614b00565b611dd3565b610ac8565b612828565b611306565b61300c565b6140ec565b6107a3565b61471d565b613430565b611b03565b612922565b614e48565b613acf565b614259565b611851565b614e66565b61390d565b6102cb565b61028a565b6111b2565b612e6d565b6103c5565b612fc6565b614fc9565b614d0d565b613390565b614952565b61089d565b6137fa565b61298b565b612c74565b61104a565b6112cf565b61144b565b6104fb565b612a8f565b61136f565b614524565b613e71565b6146dc565b61156d565b611577565b61123e565b614565565b6113fb565b611239565b614f5b565b611a72565b614b23565b6146f0565b612972565b61050f565b61041a565b614934565b614a1a565b61305c565b610e29565b612788565b612959565b6146eb565b612d28565b613485565b61042e565b61080c565b610aaf565b61043d565b611e14565b610109565b6126fc565b61309d565b610d84565b612b39565b61124d565b611f27565b6104d3565b6111e9565b611ca7565b613214565b6105ff565b6134f3565b6105cd565b61070d565b610e5b565b614ef2565b614c86565b613241565b61100e565b612b5c565b611c98565b6108f2565b614f83565b610339565b6147fe565b6149ac565b61276a565b614281565b610e74565b610302565b611068565b613c0f565b610ce9565b61362e565b61307f565b611f45565b6140b0565b610942565b612049565b614bd2565b611234565b613be7565b614466565b6102df565b614baf565b610d66565b610870565b61104f565b612800565b61336d565b6117de565b613c28565b613ed5565b6108d4565b612549565b61178e565b612d23565b61267a565b610794565b61095b565b613aac565b6123a0565b611a77565b614e43565b6133b3565b614222565b610e33565b613fd9565b613f75565b612535565b61233c565b61093d565b612ecc565b613b47565b613ebc565b614c59565b613fca565b610b8b565b6141c8565b611919565b6126e3565b6131d3565b61249f565b6101ef565b614ee8565b612d00565b613f34565b614966565b610e0b565b6117d9565b6127bf565b61172a565b610d3e565b611cc5565b6109f6565b614f2e565b613ffc565b610fa5565b612120565b6131fb565b612445565b612d5a565b61164e565b614d76565b613985565b610203565b610857565b6115ea565b6133db565b6120a3565b61265c565b610262565b612c65565b61474a565b6106a9565b6125da565b61456f565b612bb1565b610064565b611bc1565b612035565b6109a1565b614b8c565b614452565b613a16565b61295e565b613cff565b610546565b610807565b612a76565b613d9f565b612576565b6106fe565b610fa0565b6149bb565b611e91565b614245565b614489565b612954565b61082a565b611063565b613755565b6113f1565b614bdc565b611f36565b61266b565b612198565b6139b2565b613c69565b61492a565b610f05565b613bec565b61064f565b6113e7565b6101b3565b610e38565b612f80565b6142d6565b611798565b611ee1565b611bfd565b614fbf565b613282565b610f0f565b61384a565b61137e565b613791565b6102f8565b6124ae565b6102a8565b613110565b612da0565b6144bb565b613868565b611680565b61125c565b611a54565b611b99565b6110fe565b6111f3565b614330565b6124cc565b6106d1565b612391565b610d52565b614f1a565b612bc5565b6138f9565b6109b5565b612b52565b6141b4565b61217f565b61020d565b612aee565b614146565b613016565b6141af565b614c90565b610965565b6118f1565b6113d8565b61437b565b613af7565b611f3b565b612891565b6135de565b612076565b614fa1565b613b4c565b6110f4565b61002d565b611eaf565b610e60565b611725565b61463c565b61109f565b61005a565b612cfb565b611ea5565b61404c565b6113b0565b614fd3565b612c97565b610802565b6100c8565b613d45565b614f33565b614614565b61103b565b61047e565b612981565b610744565b615000565b611b62565b610ed8565b6138ae565b611d06565b612a67565b610d43565b61389f565b6132b9565b613138565b6112d9565b614849565b61343f565b6117c5565b611dd8565b614498565b614015565b614533565b61380e565b610b77565b610753565b61129d565b6141eb565b61370a565b6132a5565b611716565b61289b565b611fd6565b6103ca565b614d9e565b611167565b611c0c565b61258a565b6140a6565b614a88565b61465f565b612ab7565b611f40565b612fe9565b610c62565b6103b1565b6116d0565b61281e565b613e12565b61378c565b6126f7565b6120b7565b61370f565b612e5e565b613ca5565b611ae5565b614b5f565b6135cf565b6137c8565b613b7e565b610979565b611603565b6147e5565b613566565b61297c565b613a6b565b611969565b614abf565b612e72565b614b41565b61330e565b6100eb565b612f99565b61358e565b610f19565b612607565b6119e1565b6122a6565b612643565b611cbb565b611dbf565b6126de565b612346565b613818565b6139c6565b614097565b6129ea565b61052d565b610bbd565b613c91565b6144a7565b61269d565b614835565b614d5d565b613e49565b612a12565b61460f565b61113f565b612cf1565b612760565b611d6a565b6129f4565b614f7e565b614cfe565b6147ae565b611518565b614687565b610573565b613fed565b613c87565b6116df565b614e93565b612427565b614bd7565b6110b3565b614ccc565b613d27565b614d4e565b61165d565b610500565b614baa565b611d4c565b6108b6565b611f13565b611630565b61353e565b610fd2565b612dc8565b614c3b565b610bb3565b613ce1565b6104dd565b611efa565b611bda565b610267565b6142c7565b6139b7565b614cb8565b610b5e565b6134e4565b6111a3565b613156565b611982565b612f7b565b61319c565b61440c565b614650565b613dcc565b614263565b61057d565b610398565b6114af565b612a49565b6133fe565b6122d8565b61244a565b6137b9565b610d57565b610e1f565b610d89565b611838565b613bf1565b611dba565b614812565b614f0b565b61177a565b6114b4565b612256565b614344565b61222e565b611f95565b612918565b610ebf565b614803565b6110a4565b61211b565b613b8d565b611af9565b613c82565b613c14565b613b92565b612409565b6136c9565b6106b8565b612e09565b610811565b610cc1565b61450b565b610f6e565b612d50565b613fb6565b6111e4565b61024e565b613679565b61334a565b61339f565b61102c565b611a95565b611a31565b612bd9565b611469565b6144c0565b61006e565b612986565b613c5f565b610de3565b614d49565b6148df565b614ec5565b610690565b6116d5565b6128b4565b611c02565b610631565b613db8565b614b3c565b6116e9565b610370565b610a41565b610dcf565b61264d565b613354565b613183565b6124c2565b614655565b613534565b6146af565b612d9b565b614c95565b610992565b610771565b6123be565b611617565b6142b3565b6134b2565b6100a0565b61495c565b61199b565b6148f8565b61342b565b61361a565b6102d5565b614fa6565b613615565b612b7a565b613e2b565b613e8a565b613255565b6116fd565b612bc0565b614696565b610a50565b6123cd565b61465a565b6145bf565b611eeb565b6133ea565b610c35565b614f3d565b614786565b614a97565b6118ce565b6128d7565b612b20565b614196565b6111f8565b61453d565b61268e565b610889565b610cf8565b611757565b61161c565b614164565b610d9d565b611176565b614b64565b6122ce565b612fa3565b6102e9565b61159f565b610e3d565b6119a0565b612715565b614dc6565b614aa6565b61307a565b614e3e565b611513565b6107e9565b613d31565b612508565b6134b7565b613200565b61134c565b610ce4565b614dd5565b61113a565b6111ee565b611950565b611f7c565b610ef1565b61451a565b613d3b565b614e4d565b6135fc565b6129e5565b6130f7565b614092565b612c6a565b61187e565b6148ad565b612c1a565b614b5a565b6120c1565b610285565b610ded565b610e10565b6134c6565b6132c3565b612c79565b61458d565b611a9a565b614204565b613abb565b610834565b610ba4565b61038e565b6130d4565b614c4f565b611b26565b611c75565b610a14565b612d55565b61145a565b6147ea565b612bca565b613a8e565b61076c565b612832565b610447565b6147a4565b610564565b614123565b614ee3565b611e28565b614d44565b6149ed565b612bbb565b61221f565b611694565b614623565b610c03565b6122f1565b61480d565b6133e5565b6141b9565b61001e565b613642565b61412d565b6117b6565b612aad565b613be2565b611031565b610d75565b614a29565b6148c1565b6149f7565b610438565b614678565b614dda565b610091565b614ba0565b610244565b614227565b611027565b610fe6565b6126a7565b611da6565b613c96565b613264565b613336565b61188d565b614493565b614231565b613f43565b61202b565b612738565b611ff4565b611b30565b6148c6565b61293b565b6117ca565b613958565b612729565b611d1a565b61384f565b611dce565b6135f7565b612dcd565b613c37565b611d79565b613b06565b614c77565b612f6c565b6139c1565b613a2a565b611e9b565b612053565b611a4a565b614b0f565b610af5565b614b19565b611572565b610717565b610cb7565b612008565b614db7565b611b7b565b6105f5565b6112d4565b6145e2565b61484e565b6121e8565b613278565b610b4f565b614a5b565b6103e8565b61085c565b612db4565b6139d5565b611d97565b611d9c565b614b9b565b610299565b612d46565b61483a565b611568565b612e81565b610681565b6128a0565b6115c2565b614cbd565b612215565b61246d565b61375f565b612779565b613601565b6115f4565b61203a565b611e55565b61004b565b6144c5565b61460a565b611e4b565b611c3e565b6130a2565b6136ba565b61449d565b614d99565b610591565b6127ce565b6131e2565b6100f0565b612afd565b610b9f565b613caa565b61168a565b6126ed565b612b43565b6102a3565b6146cd565b61286e565b6144fc565b612927565b61174d565b610b59565b6103d9565b614eb1565b61046f565b611635565b610523565b6136e2565b612701565b614f01565b613c4b565b613953565b611c93565b613a66565b61339a565b611d24565b611b17565b610bd1565b613e94565b61496b565b613345565b611270565b61406f565b61311f565b61185b565b6139cb565b614d62565b610a5f565b611c2f565b61036b565b61349e565b611de2565b61026c565b613881565b614542565b6129c2565b6137d7565b613197565b614894565b612765565b610a9b565b6130b6565b61366f565b61194b565b6108ca565b613d68565b612373565b611f8b565b612512565b6146be565b6105c3565b611040565b61094c565b614a8d565b610910565b612a80565b611cd9565b613935565b614f10565b610ffa565b61317e565b6114dc565b614d67565b613aca565b6138f4565b6117a7565b6134ee565b6118ec565b613417565b61096a565b614be1565b6128c3565b6121f7565b612062565b6120a8565b613831565b610762565b613d59565b610924565b61406a565b6106ef565b611ffe565b612b1b565b61017c565b611022565b613fcf565b612f08565b6134bc565b613458565b611554565b61010e565b610555565b6118e2565b612ab2565b613a34565b614768565b61346c565b611e32565b61196e565b61064a565b611392565b613a7f565b61477c565b613f66565b6130bb565b61046a565b612f85565b61077b565b6100d2565b61015e565b6145f1565b614984565b61454c565b613232565b6142ea565b612b6b565b610c94565b61296d565b613e8f565b611b3f565b6143c1565b613e58565b61379b565b611081565b613746565b6137f5565b610d4d565b614e5c565b614aab565b613917565b6129d1565b611e46565b61387c565b614182565b61110d565b612238565b610f7d565b611847565b614fab565b610e4c565b610253565b612c0b565b610131565b612611565b610b09565b614024565b614547565b6116b2565b610ab9565b614e2f565b613da9565b612a58565b614ac4565b614254565b61479a565b6104f1565b61262a565b613a4d565b6115cc565b610069565b61452e565b610e42565b6134df565b611379565b61166c565b612f03565b612c01565b612698565b61316a565b61292c565b614d21565b614c36565b6134a8565b614510565b6105b9565b613ddb565b611347565b6131d8565b61023f565b61492f565b613b29565b6107e4565b613cfa565b6109ab565b61377d565b612be3565b610bf4565b613070565b613f93565b614691565b6138ea565b6121b6565b614420565b611810565b612e77565b61294f565b614f24565b61180b565b611aef565b6148ee565b611487565b612477565b614bc8565b613a02565b613c78565b61181f565b6111cb565b614a38565b611888565b613115565b612067565b61407e565b614556565b612ee0565b611b3a565b6119b4565b6116b7565b613c2d565b613340565b612260565b613ba1565b612a62565b6130cf565b613bf6565b613453565b613a48565b6111da565b6146e1565b614191565b6134da565b614411565b611621565b6109e7565b6125f3565b610375565b612602565b610b81565b61073a565b6141f5565b6105e1565b610a0a565b61290e565b612bf7565b611d65565b612f67565b6109dd565b611649565b611fe5565b611ae0565b611e37565b610825565b6148b7565b612b57565b614579565b6119b9565b6125d0565b61472c565b6145b5565b6132eb565b611b8a565b611eff565b6118fb565b611504565b61488a565b61051e565b614ecf565b611252565b610b9a565b61427c565b610c2b565b6104b0565b61326e565b614187565b610433565b611c52565b612da5565b6136d3565b611388565b610569565b6119d7565b6138a9565b613822565b614993565b614939565b613bbf565b613ee4565b612bde565b61389a565b611d74565b613bb0565b61375a565b614cf4565b61014a565b613d18565b613921565b611955565b61423b565b612562565b612d6e565b610a05565b6131b0565b6126ac565b610f32565b613ed0565b614ed9565b611e64565b611801565b610258565b61241d565b6112c5565b6133c7565b611766565b6141c3565b614b7d565b613da4565b6145f6565b613f07565b613b1f565b611a27565b614d7b565b6129cc565b610af0565b61486c565b610424565b610f5a565b61208a565b614597565b611e69565b614e11565b6122d3565b6103ac565b6111c6565b610a87565b614e9d565b612d32565b6112fc565b613002565b611531565b611a59565b611d0b565b610276565b6125c6565b614380565b613796565b610843565b61175c565b612ff3565b612a85565b613778565b614c45565b610974565b613593565b61041f565b614425565b61059b565b6100e1565b613845565b610a0f565b611739565b6107fd565b613fc0565b613e99565b610b0e565b610ed3565b614b78565b6116bc565b611914565b6127d8565b61395d565b611356565b611207565b612107565b610aaa565b61311a565b614d3f565b613750565b610037565b612bed565b614fdd565b61394e565b610a5a565b611987565b6141dc565b610d16565b611aa4565b611734565b6135ed565b612710565b6126cf565b613bc4565b613d1d565b6130a7565b6145fb565b613a43565b613034565b6141d7565b6135a2565b6123af565b61433a565b614047565b61141e565b6105a5565b611900565b6127e2565b611dc9565b613359565b610c71565b612d0a565b611437565b611482565b6119c8565b612977565b6119cd565b613665565b613d72565b611c43565b614f29565b61272e565b613b97565b613e35565b614619565b61173e565b613f84565b612143565b614b2d565b6128d2565b6100aa565b610866565b6137af565b6115ae565b614aba565b611400565b612c29565b6112f7565b6118e7565b6112a7565b611478565b611e3c565b6129c7565b612cf6565b611711565b61253f565b61192d565b6107f3565b6106e0565b610366565b6115a4565b611b6c565b612990565b610735565b611c89565b610014565b612913565b611608565b610901565b614736565b6133e0565b611ad6565b614a65565b6120ee565b614c22565b6127b0565b612319565b6132e1565b610659565b610343565b6111c1565b610cd5565b610cdf565b614df8565b6141fa565b610a2d565b614c31565b614ba5565b61267f565b6108a7565b610c7b565b614f60565b613bc9565b612224565b613bfb565b61207b565b6119fa565b6117cf565b612125565b6115a9565b6110c2565b611f0e565b614fba565b6127c9565b610bae565b613d4f565b611e78565b6138e0565b6118bf565b611563565b614e70565b614c68565b613dbd565b610492565b6136f1565b6103b6565b614b28565b612152565b610ca3565b61152c565b61235f565b613a75565b611fcc565b61197d565b6136d8565b611df6565b613b65565b610ba9565b612314565b610848565b612044565b612d14565b611a90565b6148d5565b611595565b6140c9565b613c05565b614ce0565b610514565b611b58565b613ec1565b6133c2565b614b69565b612756565b61259e565b610db1565b6114aa565b611cfc565b614a24565b613435565b611973565b61007d565b610ec4565b612733565b613c00565b61244f565b61044c565b613a39565b612aa8565b612ed1565b610b86565b6120df565b614911565b61088e565b612dd7565b610311565b61019f565b61237d565b611ba3565b612c33565b61081b565b61212a565b6116ee565b6136b5565b612a44565b613e30565b611fc2565b613471565b6128be565b61216b565b613561565b611af4565b61034d565b614f79565b613d0e565b610c58565b612ef4565b610a37565b612f94565b6118ba565b611ec8565b610b68565b611fdb565b612378565b61106d565b612a99565b611658565b613700565b610c4e565b611d92565b6127ec565b6107df565b6115f9565b612b89565b614dbc565b613188565b6137e1565b613f7a565b610b7c565b612206565b61416e565b612279565b611397565b61344e565b614ef7565b612418565b6129f9565b612de1565b610e6a565b611590565b611289565b614cd6565b61382c565b610f91565b611941565b614d85565b6122b5565b611afe565b614416565b610dde565b613813565b610aa0565b613d22565b610a3c565b6118c4565b611527565b612530565b610ff5565b614e0c565b6135a7565b6100af565b61255d565b614e75565b6133d1565b614b55565b6149e8565b613809565b610aeb565b61316f565b612297565b610f69565b6100dc565b611126565b614844565b6102da565b6140b5565b6139a8565b612742565b61132e565b6137aa565b610e51565b612d64565b61308e565b6130e8565b61280f565b61273d565b614998565b614c04565b6127a6565b614399565b614d35565b612b25565b611dc4565b610249565b613674565b6147a9565b614bb4565b6115b8565b612df0565b610ece565b6145a6565b614ce5565b6120bc565b61235a565b6105d7565b612058565b6147b8565b613b51565b612fd0565b6136fb565b6118a1565b612599565b611897565b613039565b6124d1565b611815565b611c5c565b612337565b6142e5565b610140565b612350565b613f70565b611315565b612c5b565b612a2b565b611036565b6108de565b6133f4565b611829565b612d91565b61037f565b610db6565b613976565b612dfa565b614c1d565b611b85565b612085565b611d29565b614d08565b610348565b610951565b610b18565b611ccf565b612580565b61183d565b614434565b61135b565b614042565b612369565b611293565b613cf5565b613b5b565b612995565b6121a7565b61410f565b6104bf565b610eba565b613f39565b613962565b613cdc565b613502565b612c06565b611121565b61056e565b610dac565b611a09565b613c5a565b611b5d565b611f77565b6125e9565b613c41565b6120f3565b610bef565b61105e565b611c66565b610f41565b6128af565b613089565b6105eb565b61260c565b610b95565b6112ca565b612288565b614808565b610a73565b611180565b612b7f565b611833565b613fd4565b611667565b6111df565b611310565b610dd4565b610bea565b614f8d565b611adb565b614e7f565b6137d2565b613dfe565b614d8a565b613f1b565b610e83565b61228d565b610212565b612f2b565b611fc7565b610e2e565b6144ac565b612b75565b614272565b611892565b610e06565b610c3f565b612c4c565b613ff2565b6127f1565b61431c565b611fea565b612a1c565b6112b6565b61428b565b612b4d565b610a32565b6109d8565b613d54565b613c6e565b611509565b611432565b61177f565b614920565b610c67565b611ac2565b61348a565b613f20565b613638565b610221565b6103f7565b612e3b565b61232d565b614ab0565b612efe565b6148bc565b612896565b61099c565b613705565b61000f565b610041565b6126b1565b612c56565b614506565b614772565b613291565b613836565b612fcb565b613c73565b6138a4565b61019a565b611a5e565b61226f565b6140e7565b61371e565b6118c9565b6101e0565b612166565b6138b8565b611c70565b612ac6565b610163565b611f54565b613043565b613e4e565b6112f2565b610578565b611991565b611194565b614a6a565b61321e565b613d81565b612864565b6119aa565b6126c0565b613250565b61357f565b614fb5565b610a64565b611266565b614673565b6132fa565b613075565b61230f565b6103ed565b613c7d565b6128b9565b614830565b611860565b610b1d565b61170c565b612175565b61425e565b6114eb565b614d26565b6142bd565b6124db565b611bd0565b6144ca565b6147c7565b6131ce565b613142565b6145dd565b610587565b610fc3565b6149e3565b6110bd565b6142c2565b6134e9565b61374b565b611fb3565b613412565b61018b565b611a9f565b61288c565b613cc8565b611aa9565b611059565b61401f565b610df2565b612242565b614858565b613aed565b61417d565b612edb565b6132d7565b612be8565b611090565b61332c565b610c08565b611e19565b613a52565b610997565b611351565b610aff565b610bb8565b6148a3565b614079565b6101ea565b611ea0565b613a9d565b613de0565b611b49565b612099565b610113565b614ed4565b613fa2565b6131b5565b61363d565b612571565b6124f4565b612567565b6117fc565b6123b9565b614a2e565b610b04565b612b61565b612fb7565b612558565b61302f565b610d07565b611153565b61419b565b61147d565b613124565b612f30565b6129a9565b610d7f565b614c40565b613ccd565b611d3d565b6103f2565b6109d3565b610c6c565b612e04565b614fd8565b614beb565b611d47565b6105dc565b610172565b612468565b6109b0565b610fb9565b611496565b613840565b612b34565b613854565b611a04565b612e45565b611171565b614eed565b6114e6565b614600565b611775565b6121e3565b613d40565b614a79565b613480565b613237565b6149de565b610280565b611b76565b610532565b61279c565b6116f8565b610f87565b614f6a565b61155e565b614173565b611a18565b611761565b613bba565b612a08565b61320a565b61160d565b614a15565b613cbe565b610acd565b6123c3565b611d10565b614727565b613c50565b6114ff565b612ffd565b612459565b61357a565b6135f2565b610884565b612706565b610dfc565b61086b565b610334565b61420e565b6123e6565b613804565b614c18565b61037a565b6129d6565b612e86565b614038565b612cab565b6127fb565b612cb0565b6144cf565b610032565b6121c5565b610ca8565b614ddf565b612c47565b614669565b6118d8565b611b2b565b6119eb565b610b54565b61027b565b613c0a565b611cf2565b613dc2565b61011d565b6129fe565b613f5c565b611405565b613d4a565b6108f7565b611c20565b612c38565b61396c565b613e44565b6113ec565b613fe3565b6140f1565b614f1f565b61393a565b61122a565b614c6d565b61285f565b610b4a565b6107f8565b61497f565b610fff565b610938565b614cae565b61247c565b612ce2565b6106ea565b612b8e565b61195f565b614cf9565b613020565b610208565b610e9c565b614a06565b611f1d565b610429565b614cc2565b614588565b612ed6565b6139fd565b6142cc565b611978565b610988565b610c53565b610ec9565b613737565b61169e565b6129b3565b611ce8565b61090b565b611784565b611f86565b613651565b6121cf565b6135ac565b612648565b611298565b611c07565b612968565b612e1d565b610c12565b6149fc565b613f89565b61181a565b6109e2565b612c92565b6108e3565b61150e565b613ef3565b613f2a565b612413565b612792565b6124ef565b6146b4565b611423565b612017565b61426d565b610adc565b611491565b61476d565b61128e565b612544565b6121fc565b6104f6565b612eae565b6142f4565b6131c9565b613e85565b614af1565b6114f0565b610a1e565b610217565b612157565b613a25565b610023565b612f0d565b611c34565b612247565b61126b565b612e2c565b611da1565b611e8c565b6106bd565b612e9f565b610537565b6101c2565b61410a565b611009565b612328565b61489e565b61455b565b613e80565b61494d565b610050565b61276f565b610640565b612ada565b6100a5565b610550565b6149b6565b6145c9565b614286565b6120b2565b614353565b613ac0565b613570565b614da8565b611a8b565b612436565b61238c565b6101db565b61365b565b6130b1565b610f9b565b61159a565b612404565b6101f4565b610096565b612f17565b610230565b61347b565b614100565b611342565b6145b0565b611d1f565b612e4a565b614eb6565b61014f565b6117d4565b614e1b565b61214d565b610f82565b611e2d565b611a2c565b611c8e565b61303e565b612b3e565b613949565b610f8c565b611bb7565b6101e5565b610465565b614c7c565b6140e2565b6146c8565b611536565b6133d6565b610118565b61479f565b6132af565b613d63565b614a92565b613377565b610b45565b6115e5565b610dc0565b6143b2565b610627565b61091a565b6133bd565b6138e5565b610316565b6120e9565b6125a3565b612b98565b612300565b61282d565b614083565b612f49565b6128f0565b610028565b612d2d565b614f4c565b614cb3565b610415565b610839565b611dab565b614bff565b613273565b613bab565b61448e565b6117ed565b613174565b611bf3565b611acc565b61446b565b612d5f565b612936565b613d86565b612a71565b612e8b565b612abc565b61060e565b610906565b612553565b612c9c565b611324565b6113a1565b610a6e565b610519565b613543565b613a5c565b6107ad565b612012565b611b80565b612ebd565b612102565b613aa2565b612184565b613098565b610307565b612fda565b6124fe565b6116a3565b61176b565b6110ef565b6122e2565b6112a2565b613ec6565b6108bb565b611abd565b612cec565b61424a565b6143f8565b614ea7565b614826565b6142a9565b6141a5565b612cce565b6149c5565b61107c565b61398f565b612ea9565b6147cc565b6140fb565b613683565b6101c7565b61163a565b6136ec565b6106a4565b611333565b610d11565b611ee6565b611806565b613656565b610ccb565b614df3565b613714565b611c61565b614ace565b611d83565b612887565b6126f2565b61073f565b6111bc565b614cd1565b61021c565b614fe7565b612431565b610c17565b614af6565b613b88565b614ca4565b611612565b613b2e565b6138bd565b614885565b61167b565b6143c6565b611473565b611d15565b610d34565b6148da565b61098d565b614407565b613a2f565b612661565b614f6f565b6107c6565b612283565b6149b1565b610320565b61262f565b6121a2565b610686565b6149a7565b611653565b610983565b6147ef565b610ea1565b614065565b614ffb565b614fc4565b614394565b611b08565b6143b7565b610fe1565b6106f9565b61172f565b6136f6565b610357565b6124e5565b611581565b6113e2565b613147565b61335e565b611923565b612af3565b6111ad565b611c39565b610b36565b611fef565b613084565b610cd0565b613a84565b614439565b61318d565b6125b7565b6104ce565b6140d3565b612783565b610c30565b613c23565b6137be565b613363565b6142e0565b6148b2565b610799565b614aa1565b613d5e565b610d70565b6120da565b613caf565b613011565b611d01565b613511565b6101d6565b613719565b610401565b614321565b61312e565b610d6b565b614867565b61028f565b610d02565b611cac565b612ef9565b611338565b614763565b6106db565b610505565b6142d1565b614538565b61469b565b613cd7565b6149a2565b613381565b614c0e565b611bc6565b614f74565b6105af565b6137b4565b614e39565b6131ab565b613ff7565b61016d565b61213e565b612616565b610668565b61133d565b610352565b6120ad565b612c15565b614948565b612e0e565b614de9565b612805565b613dd6565b611441565b610dbb565b61215c565b6119ff565b610b31565b61493e565b612454565b613926565b6100be565b611018565b6107cb565b6143fd565b6130ac565b6125df565b614ea2565b614fec565b61271a565b6106e5565b614ff1565b612b02565b612c1f565b6149d4565b613859565b611bad565b611d6f565b611e5a565b61462d565b61442a565b61201c565b6125fd565b613dae565b614745565b6123f5565b613e26565b611f72565b6102c1565b610afa565b6125cb565b61117b565b6108d9565b613877565b613629565b611743565b6145ec565b611685565b610d20565b613bdd565b610fcd565b611ed7565b614dcb565b6130de565b6118ab565b61351b565b6112bb565b611793565b6104c9565b614b05565b6137cd565b612bf2565b6134c1565b614cea565b613890565b6110ea565b61432b565b6123a5565b612de6565b610898565b611d42565b611964565b6116da565b611f2c565b610b2c565b612ba7565b6107da565b613afc565b610e65565b6149ca565b611e0a565b610fbe565b61091f565b614a83565b61331d565b611cf7565b6119af565b613930565b6128a5565b61138d565b613525565b61329b565b613a70565b61131a565b613b74565b612a26565b614169565b610019565b612c83565b612b9d565b6116a8565b61439e565b611284565b610f78565b6102b7565b614718565b613507565b612cb5565b612526565b610d0c565b6117c0565b6100cd565b6114a5565b61280a565b611ab8565b6132be565b6149c0565b6109ce565b6143a3565b613093565b610abe565b6127e7565b6119d2565b6125f8565b610b27565b61275b565b612161565b6147d1565b61189c565b61429f565b610d48565b614d3a565b610235565b61040b565b612387565b614362565b6137a0565b61456a565b6103cf565b611ce3565b610e7e565b613f2f565b612e40565b613598565b614d30565b613ca0565b61029e565b6102bc565b612684565b614ad8565b6146c3565b610055565b614781565b613e53565b611054565b614ede565b612170565b611072565b614b96565b6108ac565b614880565b6121c0565b612675565b614a7e565b611cd4565b6132dc565b612a03565b6113c4565b6130c0565b613499565b61000a565b610852565b610122565b6145ab565b61310b565b611ab3565b614dd0565b6121ca565b613f8e565b613133565b613057565b610726565b6140ab565b6109ec565b6112ed565b613e0d565b613f0c565b6110e0565b612d78565b6100c3565b614862565b61392b565b612fa8565b6120d5565b6133a4565b6106d6565b614501565b61003c565b611117565b612265565b6113dd565b6126a2565b6102f3565b61072b565b614d03565b61253a565b6129bd565b611130565b6147f9565b611b1c565b6114b9565b613ce6565b6109bf565b6125bc565b611aea565b6144d9565b611a1d565b61078f565b61436c565b613548565b612b84565b61409c565b6110db565b611b71565b6144f7565b6122c9565b610f1e565b612440565b61013b565b614402565b613a20565b61220b565b612dc3565b614989565b610325565b610861565b614141565b6114a0565b61434e565b613b79565b612ee5565b614326565b610a46565b610dd9565b6145c4565b6143df565b610cee565b61376e565b612490565b613a0c565b61482b565b6113c9565b6136c4565b6123c8565b61414b565b611856565b6143bc565b614853565b610073565b6136a6565b614605565b61433f565b612274565b612229565b6123fa565b611414565b610cc6565b6127a1565b6137a5565b611c57565b6128f5565b614ec0565b6125a8565b613287565b61186f565b614a6f565b6116f3565b614637565b6135bb565b6104e7565b611301565b610672565b612c42565b610960565b611a22565b6104a1565b610c26565b611f9a565b612cc4565b61111c565b610622565b61415a565b6105fa565b611e7d565b61179d565b610159565b613dea565b611eb4565b614290565b6128e1565b613322565b610154565b614b91565b613697565b610915565b61438f565b6129e0565b614d94565b6135c5565b611d5b565b613462565b614209565b61158b565b610d2a565b610947565b6114fa565b610c49565b610528565b610e6f565b611a45565b61067c565b614ebb565b61261b565b6121b1565b612daa565b612ec7565b610a19565b6101cc565b611a3b565b6141cd565b610eb5565b614ae2565b6105aa565b612bac565b6140ba565b611e0f565b6113b5565b61393f565b613e76565b610be5565b610f23565b613aa7565b611450565b6119c3565b612bcf565b611013565b6114e1565b6111fd565b614de4565b61483f565b613efd565b614114565b610e15565b6134ad565b611ca2565b612724565b613782565b612e18565b613fbb565b61121b565b614d17565b614bb9565b613d04565b614105565b6132f5565b614d2b565b614c9a565b6127f6565b611d56565b6144b1565b6140c4565b612dd2565b610474565b612f76565b610f14565b613ea8565b614754565b6106cc565b6101bd565b61030c565b610e47565b61424f565b614060565b6107bc565b614b1e565b6146fa565b6135b6565b610f96565b61236e565b612ce7565b613052565b61334f565b6132f0565b610f5f565b611329565b61229c565b6110c7565b612940565b6111b7565b6118a6565b614e57565b613723565b6103c0565b612bb6565b613647565b61402e565b611f4f565b6122ec565b614574565b61391c565b613129565b61140a565b612666565b611dec565b614709565b613732565b613d8b565b614f15565b614bcd565b614c13565b61443e565b6101ae565b61184c565b61035c565b6107b7565b6128dc565b610785565b610c8f565b6129a4565b612ad0565b614bfa565b612d19565b612d41565b6104d8565b613f16565b613ecb565b6116e4565b61408d565b61084d565b61345d565b611103565b6143cb565b610a28565b613444565b612355565b614551565b613624565b612305565b611112565b6102ee565b614d1c565b61186a565b611c16565b61127f565b612fbc565b614335565b61055f565b6102d0565b614a51565b612f3f565b614006565b612521565b613d77565b613101565b6118d3565b614b14565b6147c2565b6144b6565b610c0d565b614b46565b613fa7565b6101f9565b614c54565b612cba565b6134d0565b6141e6565b614aec565b61119e565b6138b3565b611770565b612e31565b6124bd565b612cc9565b614f56565b6117f2565b612f8a565b61231e565b612422565b6109c9565b614119565b6111d0565b610703565b6132c8565b610ef6565b613b42565b614e34565b6103bb565b6137dc565b61457e565b613af2565b613368565b6140a1565b6122bf565b610ae1565b6142ae565b614740565b61325a565b613a89565b6124f9565b61218e565b6107b2565b61325f565b612d1e565b6116ad565b6148e4565b6121ed565b6132d2565b611c1b565b6121d9565b613d13565b614e25565b611243565b6104ec565b614795565b612d0f565b614b4b565b61066d565b611e73565b610186565b611e96565b6128fa565b612e4f565b611d33565b6135d4565b611108565b614218565b610479565b613633565b614f97565b610195565b614704565b6145e7565b612a7b565b6133cc565b614213565b614cef565b6113ce565b613872565b6116c6565b612a3a565b612f44565b613fb1565b614e84565b61438a565b613ea3565b61210c565b614e61565b6121bb565b612a8a565b613516565b612472565b61447a565b6122ab565b614ca9565b612a4e565b612a30565b610f73565b613dc7565b612d82565b610d5c565b614470565b613ee9565b611ef0565b613a57565b6123f0565b6127dd565b614b37565b61355c565b613ae8565b612deb565b6123eb565b6106b3565b614074565b6146aa565b61400b565b612cd3565b614be6565b61162b565b610de8565b612a53565b610e8d565b6146e6565b6146a5565b612323565b6125d5565b6102e4565b611946565b614a4c565b614475565b611d2e565b611b94565b6143ad565b612ea4565b613f98565b610618565b613d2c565b610cbc565b610749565b613999565b61025d565b610aa5565b6107d5565b6102ad565b614317565b613f25565b610a00565b61251c565b613106565b61277e565b6114d2565b611202565b6100e6565b613886565b611789565b613304565b612fe4565b610cf3565b6147db565b612030565b611f6d565b61101d565b6129ef565b612233565b611d8d565b611c7a565b610082565b614bc3565b612841565b61263e565b610190565b614592565b613c3c565b6140ce565b613f6b565b6134f8565b614cdb565b612f9e565b6142db565b611257565b612d73565b611545565b610a91565b614137565b610604565b614358565b612ba2565b612d4b565b6104c4565b612e63565b61270b565b61429a565b613219565b612b07565b610d39565b614f88565b611c11565b61444d565b612689565b6122dd565b61143c565b6133f9565b610f00565b61372d565b610582565b613179565b61195a565b6124ea565b61032a565b6136ce565b61487b565b611de7565b612b70565b614eac565b61245e565b6145a1565b614c5e565b6138c2565b610046565b614051565b6131f6565b61285a565b6105f0565b61153b565b6140bf565b614349565b61447f565b610fc8565b613309565b6115b3565b61366a565b612f1c565b6138d1565b6107d0565b61239b565b6120c6565b61258f565b6126d4565b614d53565b6105a0565b61022b565b611220565b61287d565b612fd5565b6148d0565b613b9c565b611199565b614056565b610f2d565b614e20565b610ee2565b610816565b61421d565b61459c565b612111565b610410565b6146d2565b612eb8565b611bdf565b610e01565b614e02565b612003565b610c85565b6129ae565b612daf565b612d7d565b610ab4565b612693565b611720565b612f4e565b6108a2565b612f12565b61097e565b612bd4565b61109a565b61151d565b613061565b612639565b611bcb565b611699565b612fc1565b610730565b6131bf565b6127ab565b61108b565b610c80565b611a63565b6119a5565b61360b565b6125c1565b6120f8565b6137c3565b6123ff565b610c3a565b611bee565b6141a0565b61168f565b614d58565b612873565b6117bb565b612341565b614fe2565b610b22565b6122e7565b614777565b6135ca565b614277565b611ebe565b612a9e565b610d7a565b610104565b612c24565b61464b565b6135e8565b6127c4565b611225565b613a3e565b611fb8565b611fe0565b611626565b61068b565b613151565b612904565b6128c8565b61130b565b6124d6565b61061d565b612a35565b613476565b6108ed565b610127565b610609565b610bdb565b612c6f565b610f50565b611e00565b6104a6565b6129db565b613e1c565b612af8565b611cc0565b610df7565b612747565b6128aa565b614033565b6142a4565b613edf565b6130d9565b61474f565b6149cf565b612e27565b61257b565b613f61565b613a98565b613d7c565b613426565b612ec2565b613395565b6126e8565b61071c565b610a78565b6103de565b6144f2565b6136ab565b611d51565b6147e0565b6118f6565b614a10565b610087565b613b60565b61112b565b612df5565b6138db565b61445c565b6143d5565b6131f1565b611b9e565b6137eb565b612eef565b614a56565b612d69565b613192565b611374565b diff --git a/test/benchmarks/micro/jump_around.inputs b/test/benchmarks/micro/jump_around.inputs deleted file mode 100644 index f2be6e0d9a..0000000000 --- a/test/benchmarks/micro/jump_around.inputs +++ /dev/null @@ -1,3 +0,0 @@ -empty - - diff --git a/test/benchmarks/micro/jumpdests_0xffff.bin-runtime b/test/benchmarks/micro/jumpdests_0xffff.bin-runtime deleted file mode 100644 index c2c69a12f6..0000000000 --- a/test/benchmarks/micro/jumpdests_0xffff.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -(65535x5b) \ No newline at end of file diff --git a/test/benchmarks/micro/jumpdests_0xffff.inputs b/test/benchmarks/micro/jumpdests_0xffff.inputs deleted file mode 100644 index f2be6e0d9a..0000000000 --- a/test/benchmarks/micro/jumpdests_0xffff.inputs +++ /dev/null @@ -1,3 +0,0 @@ -empty - - diff --git a/test/benchmarks/micro/loop_with_many_jumpdests.bin-runtime b/test/benchmarks/micro/loop_with_many_jumpdests.bin-runtime deleted file mode 100644 index daa9f512b6..0000000000 --- a/test/benchmarks/micro/loop_with_many_jumpdests.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -600f60001960003580156101450217 (24556x5b) 8101808357 \ No newline at end of file diff --git a/test/benchmarks/micro/loop_with_many_jumpdests.inputs b/test/benchmarks/micro/loop_with_many_jumpdests.inputs deleted file mode 100644 index f2be6e0d9a..0000000000 --- a/test/benchmarks/micro/loop_with_many_jumpdests.inputs +++ /dev/null @@ -1,3 +0,0 @@ -empty - - diff --git a/test/benchmarks/micro/memory_grow_mload.bin-runtime b/test/benchmarks/micro/memory_grow_mload.bin-runtime deleted file mode 100644 index 89530522cc..0000000000 --- a/test/benchmarks/micro/memory_grow_mload.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -60003560008051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101805150810180515081018051508101 diff --git a/test/benchmarks/micro/memory_grow_mload.inputs b/test/benchmarks/micro/memory_grow_mload.inputs deleted file mode 100644 index 7ec4b6c818..0000000000 --- a/test/benchmarks/micro/memory_grow_mload.inputs +++ /dev/null @@ -1,16 +0,0 @@ - -nogrow -0000000000000000000000000000000000000000000000000000000000000000 - - -by1 -0000000000000000000000000000000000000000000000000000000000000001 - - -by16 -0000000000000000000000000000000000000000000000000000000000000010 - - -by32 -0000000000000000000000000000000000000000000000000000000000000020 - diff --git a/test/benchmarks/micro/memory_grow_mstore.bin-runtime b/test/benchmarks/micro/memory_grow_mstore.bin-runtime deleted file mode 100644 index c96cad2069..0000000000 --- a/test/benchmarks/micro/memory_grow_mstore.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -60003560008080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101808052810180805281018080528101 diff --git a/test/benchmarks/micro/memory_grow_mstore.inputs b/test/benchmarks/micro/memory_grow_mstore.inputs deleted file mode 100644 index 7ec4b6c818..0000000000 --- a/test/benchmarks/micro/memory_grow_mstore.inputs +++ /dev/null @@ -1,16 +0,0 @@ - -nogrow -0000000000000000000000000000000000000000000000000000000000000000 - - -by1 -0000000000000000000000000000000000000000000000000000000000000001 - - -by16 -0000000000000000000000000000000000000000000000000000000000000010 - - -by32 -0000000000000000000000000000000000000000000000000000000000000020 - diff --git a/test/benchmarks/micro/push1s_0xffff.bin-runtime b/test/benchmarks/micro/push1s_0xffff.bin-runtime deleted file mode 100644 index 59b5fa12fa..0000000000 --- a/test/benchmarks/micro/push1s_0xffff.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -00(32767x6000) \ No newline at end of file diff --git a/test/benchmarks/micro/push32s_0xffff.bin-runtime b/test/benchmarks/micro/push32s_0xffff.bin-runtime deleted file mode 100644 index be5f48696d..0000000000 --- a/test/benchmarks/micro/push32s_0xffff.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -00(65535x7f) \ No newline at end of file diff --git a/test/benchmarks/micro/signextend.bin-runtime b/test/benchmarks/micro/signextend.bin-runtime deleted file mode 100644 index ab473249ce..0000000000 --- a/test/benchmarks/micro/signextend.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -60006001600360076008600a600c600f60106011601460176018601b601f600035810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b810b820b830b840b850b860b870b880b890b8a0b8b0b8c0b8d0b8e0b8f0b60005260206000f3 diff --git a/test/benchmarks/micro/signextend.inputs b/test/benchmarks/micro/signextend.inputs deleted file mode 100644 index af9b3d1cb6..0000000000 --- a/test/benchmarks/micro/signextend.inputs +++ /dev/null @@ -1,8 +0,0 @@ -zero -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 - -one -0000000000000000000000000000000000000000000000000000000000000080 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 - diff --git a/test/benchmarks/micro/zeros_0xffff.bin-runtime b/test/benchmarks/micro/zeros_0xffff.bin-runtime deleted file mode 100644 index 48cc6ebd1a..0000000000 --- a/test/benchmarks/micro/zeros_0xffff.bin-runtime +++ /dev/null @@ -1 +0,0 @@ -(65535x00) \ No newline at end of file diff --git a/test/state/state.hpp b/test/state/state.hpp index 8b640a42e3..1d4f84e734 100644 --- a/test/state/state.hpp +++ b/test/state/state.hpp @@ -8,6 +8,7 @@ #include "hash_utils.hpp" #include #include +#include #include namespace evmone::state @@ -24,6 +25,21 @@ class State assert(r.second); return r.first->second; } + + /// Get an account from the address + Account& get(const address& addr) { return m_accounts.at(addr); } +}; + +struct ClientInfo +{ + std::string comment; + std::string rpc_server_version; + std::string tool_version; + std::string lllc_version; + hash256 generated_test_hash; + std::string source; + hash256 source_hash; + std::unordered_map labels; }; struct BlockInfo diff --git a/test/statetest/statetest.hpp b/test/statetest/statetest.hpp index 5930124e77..1656271362 100644 --- a/test/statetest/statetest.hpp +++ b/test/statetest/statetest.hpp @@ -54,6 +54,7 @@ struct StateTransitionTest state::State pre_state; state::BlockInfo block; + state::ClientInfo info; TestMultiTransaction multi_tx; std::vector cases; }; diff --git a/test/statetest/statetest_loader.cpp b/test/statetest/statetest_loader.cpp index b8b43b3222..d2d261c299 100644 --- a/test/statetest/statetest_loader.cpp +++ b/test/statetest/statetest_loader.cpp @@ -84,6 +84,22 @@ state::BlockInfo from_json(const json::json& j) }; } +template <> +state::ClientInfo from_json(const json::json& j) +{ + std::unordered_map labels; + + for (const auto& [j_key, j_value] : j.at("labels").items()) + { + labels.emplace(from_json(j_key), j_value); + } + + return {j.at("comment"), j.at("filling-rpc-server"), j.at("filling-tool-version"), + j.at("lllcversion"), from_json(j.at("generatedTestHash")), j.at("source"), + from_json(j.at("sourceHash")), labels}; +} + + evmc_revision to_rev(std::string_view s) { if (s == "Frontier") @@ -126,7 +142,10 @@ static void from_json(const json::json& j, TestMultiTransaction& o) o.max_gas_price = from_json(j.at("maxFeePerGas")); o.max_priority_gas_price = from_json(j.at("maxPriorityFeePerGas")); } - o.sender = from_json(j.at("sender")); + + if (j.contains("sender")) + o.sender = from_json(j.at("sender")); + if (!j.at("to").get().empty()) o.to = from_json(j["to"]); @@ -186,6 +205,8 @@ static void from_json(const json::json& j, StateTransitionTest& o) o.block = from_json(j_t.at("env")); + o.info = from_json(j_t.at("_info")); + for (const auto& [rev_name, expectations] : j_t.at("post").items()) { // TODO(c++20): Use emplace_back with aggregate initialization.