diff --git a/.github/workflows/ethereum.yml b/.github/workflows/ethereum.yml index 9009e1da87cf4..5ae1ca08b078a 100644 --- a/.github/workflows/ethereum.yml +++ b/.github/workflows/ethereum.yml @@ -29,14 +29,11 @@ jobs: node-version: v18.16.0 cache: "pnpm" cache-dependency-path: core/pnpm-lock.yaml - - name: Install dependencies - working-directory: core - run: pnpm install --frozen-lockfile - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 - - name: Build - working-directory: core/packages/contracts - run: pnpm build + - name: Install dependencies and Build all + working-directory: core + run: pnpm install --frozen-lockfile && pnpm build - name: Test working-directory: core/packages/contracts run: forge test diff --git a/.github/workflows/parachain.yml b/.github/workflows/parachain.yml index 06302d2d5f33a..fc5cc1ef9d4ab 100644 --- a/.github/workflows/parachain.yml +++ b/.github/workflows/parachain.yml @@ -86,7 +86,6 @@ jobs: args: >- --manifest-path parachain/Cargo.toml --workspace - --release --features runtime-benchmarks --exclude snowbridge-query-events --exclude snowbridge-ethereum-beacon-client @@ -97,7 +96,6 @@ jobs: command: test args: >- --manifest-path parachain/Cargo.toml - --release --package snowbridge-ethereum-beacon-client toolchain: nightly-2023-04-22 # Run benchmark tests for beacon light client @@ -132,7 +130,6 @@ jobs: - run: >- cargo tarpaulin --manifest-path parachain/Cargo.toml - --release --workspace --engine llvm --out Xml diff --git a/codecov.yml b/codecov.yml index 609506e8c0515..ec5b85da5ad59 100644 --- a/codecov.yml +++ b/codecov.yml @@ -5,3 +5,5 @@ ignore: - "core/packages/contracts/src/ScaleCodec.sol" - "core/packages/contracts/src/SubstrateTypes.sol" - "parachain/tools" + - "parachain/pallets/ethereum-beacon-client/src/benchmarking" + - "parachain/pallets/ethereum-beacon-client/src/weights.rs" diff --git a/core/init.sh b/core/init.sh index aa3bf457ee0ff..dfd7f0633836d 100755 --- a/core/init.sh +++ b/core/init.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash echo "Update submodules" (cd .. && (git submodule update --init --recursive||true)) @@ -6,6 +6,9 @@ echo "Update submodules" echo "Install husky hook" (cd .. && ./core/node_modules/.bin/husky install) +echo "Installing sszgen" +go install github.com/ferranbt/fastssz/sszgen@latest + echo "Initialize foundry libraries" -(cd packages/contracts && (forge install||true)) +(cd packages/contracts && forge install) diff --git a/core/packages/test/scripts/configure-beacon.sh b/core/packages/test/scripts/configure-beacon.sh index cf7ab0ef7d78a..f63c9bb355ef0 100755 --- a/core/packages/test/scripts/configure-beacon.sh +++ b/core/packages/test/scripts/configure-beacon.sh @@ -10,8 +10,6 @@ config_beacon_checkpoint() check_point_call=$($relay_bin generate-beacon-checkpoint --spec $active_spec --url $beacon_endpoint_http) popd send_governance_transact_from_relaychain $bridgehub_para_id "$check_point_call" 180000000000 900000 - # waiting for xcm to be executed on parachain - sleep 12 } wait_beacon_chain_ready() diff --git a/core/packages/test/scripts/deploy-ethereum.sh b/core/packages/test/scripts/deploy-ethereum.sh index 9e34f79833ddd..2fb6131233ae2 100755 --- a/core/packages/test/scripts/deploy-ethereum.sh +++ b/core/packages/test/scripts/deploy-ethereum.sh @@ -51,7 +51,7 @@ start_lodestar() { --enr.ip6 "127.0.0.1" \ --eth1.providerUrls "http://127.0.0.1:8545" \ --execution.urls "http://127.0.0.1:8551" \ - --dataDir "$output_dir/beacon-$timestamp" \ + --dataDir "$ethereum_data_dir" \ --reset \ --terminal-total-difficulty-override 0 \ --genesisEth1Hash $genesisHash \ diff --git a/core/packages/test/scripts/set-env.sh b/core/packages/test/scripts/set-env.sh index e3c302f459eed..7416d60aae451 100755 --- a/core/packages/test/scripts/set-env.sh +++ b/core/packages/test/scripts/set-env.sh @@ -10,13 +10,12 @@ cumulus_bin="${CUMULUS_BIN:-$cumulus_dir/bin/polkadot-parachain}" core_dir="$root_dir/core" lodestar_version="${LODESTAR_VER:-1.8.0}" geth_version="${GETH_VER:-v1.11.2}" -geth_dir="$root_dir/../go-ethereum/$geth_version" contract_dir="$core_dir/packages/contracts" relay_dir="$root_dir/relayer" relay_bin="$relay_dir/build/snowbridge-relay" export output_dir="${OUTPUT_DIR:-/tmp/snowbridge}" export output_bin_dir="$output_dir/bin" -ethereum_data_dir="$output_dir/geth" +ethereum_data_dir="$output_dir/ethereum" zombienet_data_dir="$output_dir/zombienet" export PATH="$output_bin_dir:$PATH" diff --git a/core/packages/test/scripts/start-chains.sh b/core/packages/test/scripts/start-chains.sh index 7253d9f902a71..de4dbcac88021 100755 --- a/core/packages/test/scripts/start-chains.sh +++ b/core/packages/test/scripts/start-chains.sh @@ -9,7 +9,7 @@ source scripts/deploy-polkadot.sh start_chains() { #1 start ethereum and deploy contracts echo "start ethereum and deploy bridge contrancts" - deploy_ethereum + deploy_ethereum & #2 start polkadot relaychain and snowbridge parachain echo "Starting Polkadot, BridgeHub, and Snowbridge" deploy_polkadot diff --git a/core/packages/test/scripts/start-ethereum.sh b/core/packages/test/scripts/start-ethereum.sh index e2aa0ff2c0d4f..3e6623955d31b 100755 --- a/core/packages/test/scripts/start-ethereum.sh +++ b/core/packages/test/scripts/start-ethereum.sh @@ -14,6 +14,6 @@ start_chains() if [ -z "${from_start_services:-}" ]; then echo "start ethereum only!" trap kill_all SIGINT SIGTERM EXIT - check_tool && cleanup && start_chains + check_tool && rm -rf "$ethereum_data_dir" && start_chains wait fi diff --git a/core/packages/test/scripts/start-goerli.sh b/core/packages/test/scripts/start-goerli.sh index f252239cd8c48..490d9e2b6b11f 100755 --- a/core/packages/test/scripts/start-goerli.sh +++ b/core/packages/test/scripts/start-goerli.sh @@ -3,16 +3,23 @@ set -eu source scripts/set-env.sh - start_chains() { - npx lodestar beacon --dataDir="./ethereum-goerli" --network="goerli" --rest.namespace="*" --jwt-secret="./config/jwtsecret" --checkpointSyncUrl="https://sync-goerli.beaconcha.in" 2>&1 & - geth --goerli --override.shanghai=0 --datadir="./ethereum-goerli" --authrpc.addr="127.0.0.1" --http.addr="0.0.0.0" --http.corsdomain '*' --http --http.api eth,net,engine,admin --authrpc.jwtsecret config/jwtsecret 2>&1 & + echo "Starting execution node" + geth --goerli --override.shanghai=0 --datadir="$ethereum_data_dir" --authrpc.addr="127.0.0.1" --http.addr="0.0.0.0" --http.corsdomain '*' --http --http.api eth,net,engine,admin --authrpc.jwtsecret config/jwtsecret > "$output_dir/geth.log" 2>&1 & + echo "Waiting for geth API to be ready" + sleep 3 + echo "Starting beacon node" + # explicit config max-old-space-size or will be oom + node --max-old-space-size=4096 ../../node_modules/.pnpm/@chainsafe+lodestar@1.8.0_c-kzg@1.1.3_fastify@3.15.1/node_modules/@chainsafe/lodestar/lib/index.js beacon --dataDir="$ethereum_data_dir" --network=goerli --rest.namespace=* --jwt-secret=./config/jwtsecret --checkpointSyncUrl=https://sync-goerli.beaconcha.in > "$output_dir/lodestar.log" 2>&1 & + echo "Waiting for beacon node to sync from checkpoint" + sleep 10 + echo "Ethereum started!" } if [ -z "${from_start_services:-}" ]; then echo "start goerli locally!" trap kill_all SIGINT SIGTERM EXIT - start_chains + check_tool && rm -rf "$ethereum_data_dir" && start_chains wait fi diff --git a/core/packages/test/scripts/start-polkadot.sh b/core/packages/test/scripts/start-polkadot.sh index 7f713d447252d..fb049af6d2c84 100755 --- a/core/packages/test/scripts/start-polkadot.sh +++ b/core/packages/test/scripts/start-polkadot.sh @@ -16,7 +16,7 @@ start_chains() if [ -z "${from_start_services:-}" ]; then echo "start polkadot only!" trap kill_all SIGINT SIGTERM EXIT - check_tool && build_relaychain && build_cumulus_from_source && start_chains + check_tool && build_relaychain && build_cumulus_from_source && rm -rf $zombienet_data_dir && start_chains wait fi diff --git a/core/packages/test/scripts/start-relayer.sh b/core/packages/test/scripts/start-relayer.sh index 9d4354b0bf8ee..06d79444d1d84 100755 --- a/core/packages/test/scripts/start-relayer.sh +++ b/core/packages/test/scripts/start-relayer.sh @@ -128,6 +128,6 @@ build_relayer() if [ -z "${from_start_services:-}" ]; then echo "start relayers only!" trap kill_all SIGINT SIGTERM EXIT - check_tool && build_relayer && start_relayer + check_tool && build_relayer && config_relayer && start_relayer wait fi diff --git a/core/packages/test/scripts/start-services.sh b/core/packages/test/scripts/start-services.sh index e2a220f438faa..908227d76eae9 100755 --- a/core/packages/test/scripts/start-services.sh +++ b/core/packages/test/scripts/start-services.sh @@ -26,25 +26,21 @@ start_chains # 3. config beefy client source scripts/configure-beefy.sh -configure_beefy +configure_beefy & -# 4. config beacon client -source scripts/configure-beacon.sh -configure_beacon - -# 5. Configure bridgehub exporter on statemine +# 4. Configure bridgehub exporter on statemine source scripts/configure-statemine.sh -configure_statemine +configure_statemine & -# 6. Configure relayers -source scripts/start-relayer.sh -echo "Config relayers" -config_relayer +# 5. config beacon client +source scripts/configure-beacon.sh +configure_beacon if [ "$skip_relayer" == "false" ]; then - # 7. start relayer + # 6. start relayer + source scripts/start-relayer.sh echo "Starting relayers" - start_relayer + config_relayer && start_relayer fi echo "Testnet has been initialized" diff --git a/cumulus b/cumulus index 2b07b7d3b6b13..ea00be29ee265 160000 --- a/cumulus +++ b/cumulus @@ -1 +1 @@ -Subproject commit 2b07b7d3b6b131d77a9161468339b417e0295538 +Subproject commit ea00be29ee2652021cad6549932539829ccdb6a8 diff --git a/parachain/.gitignore b/parachain/.gitignore index 8ca67385fff07..59b155e1ecc63 100644 --- a/parachain/.gitignore +++ b/parachain/.gitignore @@ -19,3 +19,5 @@ rococo-local.json # coverage reports cobertura.xml + +pallets/ethereum-beacon-client/tests/fixtures/*.mainnet.json diff --git a/parachain/pallets/ethereum-beacon-client/src/benchmarking/fixtures.rs b/parachain/pallets/ethereum-beacon-client/src/benchmarking/fixtures.rs index ba3500968a609..86ebcd5b8642a 100644 --- a/parachain/pallets/ethereum-beacon-client/src/benchmarking/fixtures.rs +++ b/parachain/pallets/ethereum-beacon-client/src/benchmarking/fixtures.rs @@ -10,546 +10,546 @@ use sp_core::U256; use sp_std::{boxed::Box, vec}; pub fn make_checkpoint() -> Box { - Box::new(CheckpointUpdate{ - header: BeaconHeader{ - slot: 5681631, - proposer_index: 5402, - parent_root: hex!("ac0d4a57f559d610746ba73cedcdd284f6890a92e3b6b06efa4f163fe0e91bd5").into(), - state_root: hex!("4ceb613f5f7b4492f45d3ce6b7589f148dc1b784e042d758a8e9bb5253366020").into(), - body_root: hex!("664723fd7e0dadecd7eb3a50dd9c45cb324be5bcfffd843b91b2b0dbeb7d3138").into(), + Box::new(CheckpointUpdate { + header: BeaconHeader { + slot: 5809344, + proposer_index: 101696, + parent_root: hex!("ea7ce4ad810829cf37a2235b1126c82aecfc5955a1647ec83640cf3f7db91bd2").into(), + state_root: hex!("56f6363d3604e61a907c774edf0bddf6477a8d410f026414bc420f751de1f092").into(), + body_root: hex!("8c799aeef815cbc4499e0b46723623105afb177a5c522ecda3415ad9fb259e6c").into(), }, current_sync_committee: SyncCommittee { pubkeys: [ - hex!("884b188d6bf464ae7e84691108b05bf9df413ba7b08ecd3d09746ede8587f8d5cd515baddc4f4b3bae4813272e7e4c2d").into(), - hex!("b5b02e6a6d1893eba06206a95754262a0bde8b0baae58cfa423686320bddaf05953102a9078d6f2df7915a3af60d717b").into(), - hex!("88d82b4d9be643dfa7e43e56b2a19292ec46c3d128145ddc6ae2471858c14f7a3a43d5dda577bd3bf25b9436c416c82a").into(), - hex!("b9b89b9c2f620c010cb56e08cb33e5a08af38d8b77305868d17c1ea421156b178b17c040dc753b60cd78e6057c32d74e").into(), - hex!("b54bf7f94936be1af4c0f4ddf5bdf117bf1ea1521aee0f6594bbe7ffc0660ba72f954f42de5b1c91a0a7d3eaf15f3d4a").into(), - hex!("8a2f3554f69cd5e1e0640694259594f50d2ec9136ce48593423ff44d56b9ee43d257129b08ab018459ce8805f9e81875").into(), - hex!("8a98c1146dfb7cfddf38baa0da438be01cb402cd1dcc146a870aedebe9fdc4ad7cd56a8ae328902b26c495f5790fba10").into(), - hex!("b5f723c3eefb2d8d2f6cbafbb2fd0c5270c322299f5a8d0cbec726d53ce02fd034865d12a2595b722acc7291a9986395").into(), - hex!("ac0be736f5b83d27e039dd676d293494948862c0fe175e7e607709856ca53b68160e33fde0b8b741d28698ad132dde48").into(), - hex!("ace4b9f1061dcef795f4f4f953004767252dbc24944b9e7849d9f6c9df0a118e336586aaf08a7bd9b4d8731c1b83cc7c").into(), - hex!("9609647c70b5760a095101dbb2a69e583d93cb030be046c41c0e3dd991593bc11d859ed75fae9d8c24cc335242567bd5").into(), - hex!("a2ae513936f7b30c1b14cb9009828d25f4cb2239c936baf615cbd5ebb99a9c29a3117739fcf3ba282aab16e4f8de9e76").into(), - hex!("a5cc001b778ca6041d8d125c1c7aedb98112562acc4d03795a233f156a2975eea359d3c064de21f20a07efd6dd0c338e").into(), - hex!("80545e0a7eb388979dda2f0b16ca94d0fd47c2e1128a239d50e5fa3576f8fc89e230bc276fad16d4a3e327cae6a8d6c7").into(), - hex!("95984a17f9bffffee40de5e8bcb0503d2d059b8238e2d0e0014345df9afc6d8398d3973e67f166addf369c8b53ef38ca").into(), - hex!("90994f0cc96656c67398e9a82eb4a16cf02d3fec9931c7e31072b1e16c64ec67bf75c4f04a6908a7f3547799419a8c63").into(), - hex!("b8e2d3c3fc42dd4f482755d3bca4478a53c9f5d79f4a801341765ce27207840b0fec015e551263734f17d16794a00bd6").into(), - hex!("89864e5096b87aaa9c2d85624ee335e592e6e5e974dc674818b8688f0df2f57b0654f043619fe14db0d4240d5d94335a").into(), - hex!("8bdb3d0a05662e5a133b665a8d3000a1b741d8c6a3479be65e785d9e19a40f60e4f5ff4d32345167acc8c59aeeff5d5b").into(), - hex!("95a6dad29f9ac7e177b391ffde17ce87cff28781f53ca60f9bb6c020dbfdc284af7c17fb79e8ee13cbe8c787dd4e8a8c").into(), - hex!("b174db9e4a9b500b3f79b460de08d2d7cb52ed9cf9f46003a44dde9f86e1acb6a3eb211cea9ea3fe1250a153dac79dc5").into(), - hex!("a8c5b4ba5f141afb5aa0adf7a1ebec779f51305a86689cf6012be809832ae51017b340223ca706db9e1215219e667dad").into(), - hex!("b54078e86237c394419f50951e52e157df17828803b0a65b74c8de537735c88997d9ca7e883c45ec98c03a418739612e").into(), - hex!("b45aa9cd98d4f7b869bc144a74e13748dc903fbd81c29d6b2c99db759e437d002ded9e83efe483d90490ccd4374adb74").into(), - hex!("8330a2468b6dc6a9fda5ec2ddc531bed049edc7ba2319079776a45114fd29748c1e604ccb1896422a63222af602916a2").into(), - hex!("8354dc7872654b6694b0a47ef45f15f2b71c5e2afa52bba558f3ea0e4516fdb050f0e7ab9517042dea4ff04d7dca4a6e").into(), - hex!("83a0bd0457d0f21300f7d1fd3cfe1a634e77188bf841f471f25d47a1788c46b3c18453d8cb6c30f69bb1e31d5876d4b2").into(), - hex!("86ea3a8c5375913b811ab541aec633e2c7cb5a7f35ea5d6534b8fca53f54a0fd43f5fac08b606b805dbc4b975342b299").into(), - hex!("80c04240699ebdb46aa47e717eda5ded762d0c6a6228c003966a1e4d9f045af4c7133cde1d7130beda2194d71e7c85d4").into(), - hex!("b7b6dacf42440028a6665a8d226a9a333d4c6c868c702c1e946fe4b76bf5fbbf752d5ecbbf6c03b83c80f7ca45750d69").into(), - hex!("b3cc36937a8c6aadb306d39f1cbdd4e8607df564aa4e55f55e3f4dad1a46c1655e13e66c500ef3d8fd74fc87247ee8de").into(), - hex!("8280aab4f4095ad9500211fd566b0b7bec102831ffb789962966f1c3a1f2869790a6cb08a405b1d522d39d24d19e1072").into(), - hex!("8dac68a8b1d5d57523899aac968335352b86210752fd8d0ff18bf64de4ff4c1832d634733be950f48a35d6b1251aaa28").into(), - hex!("af5d5f934574993b1234ece52e27a39c471d8741eb15a1885d1feee8aa7cd5f928cf9cabbc7424cf8798c16d0b00364f").into(), - hex!("94789f92851087ad8416323b3265d8652d0af2adfae5e091a1285017977149d2891a74032e6173ef02178c08dc351124").into(), - hex!("9610323a538a295b6b29d244aa6882784c4e67c39485cb630e3c186d7544cb124c6c0b1fd5574f67474efe62049f8002").into(), - hex!("b313b1e7b655b1751e24a9f759cc03821401c9ddb3cea05c20c55bf1d2180b64612fd4505ec1916b95c6610525309db6").into(), - hex!("b6dabf3dfc3654bede105b16fe3484d06784c5270f2f332e373a35d25e8a86129009a95e4c2793b18dfb837edbf17691").into(), - hex!("b0178680500f3794f2b4d3b07cbd26fd8fa5a99567e1f5077473e2d525d912cf841163773ab3bbea26b35bfee4548e5e").into(), - hex!("a59e7b7df25b9437b4397d7f2dfca22f90de773d6f3d65d38a1b27ad756709e46099341445ba457894d52ef09cd6bb3c").into(), - hex!("80e4aa5592eaa52347a4a527c3a530f25b2cebf68474f5a1c815f365058c4a8027cbef96b0ca7ec1ff2202fbff1ad005").into(), - hex!("a260c53dcf8a74b804105180631c3abcd3836150bbf6932da24497b4a3c85d204b0f9db5aa4bd4e4837fc0db50a83cb4").into(), - hex!("b02b314b5eab6bb0b39b20c5e41b064fcb2ee5d51ec1bd220dbf9bcc920b23d8065edf78de62451f528e58d382759697").into(), - hex!("b214bd11bdb9b46508a3590e6b6f424e180e089a21cd63dbb65242eeb6050b67ed2f61d697a001b2148acb1ebe15042f").into(), - hex!("90413fe5509c8c524418c534056a0fb81c9a608374d0a2172d909a761c981ebdf971b1dc80adcb8e92c3e94e2380b58c").into(), - hex!("acfa1d26a0eef4b81ecc63cce8486acc790466e462754ac9b34fc5242de24b9cd76f6d1d91a6ac2b7b9daa69aa2ff3e3").into(), - hex!("8ea3794f2cc8076d1af47cc3cda4acb640aeb20b7ba817c2423dc3b53b18048a936b0f4e99808ce4b7ba3b46cbe045e8").into(), - hex!("99ab494b750bfe5bb7232c536ee344f5729fffa7f6a5571043034b8c22488bf6a54ae395c67f842e20a545b31dd9da25").into(), - hex!("ab474e6bc4a6f84ad7271e200c97fa3e96e3755d68b42654e1f10dfe272a4267638a71297a34d16450be19840f95e4d0").into(), - hex!("b2b71d3d19b639c9d127577745430bb9e5fcee277eb934824f8a8d82e44dfb5fb62a56f4eeb756e9e902b5753d3035f1").into(), - hex!("a4c56a865e2af37890e69246e3f5a181482f473c5371f2d076dd47673fce1c0c01525fb9c6aa5cec31f0fb1aa10fa9d5").into(), - hex!("b01eae04c2f76aee69d8b88392c52455d4275db8c8b1c2a92b9a429c1f27f350f500749f374f30d49037300db6b37653").into(), - hex!("88145ddfd6414159f6cbcdc50086f69ec4328f9f43cb0bd664732887614c082945ca166d5da7b521c16801c0eca2b6b2").into(), - hex!("8cfea0361701d349a2d29b152ec3a8b29b37fd9794a8e31314774fd412d557867933098dbad56f302c1dc366d03b6250").into(), - hex!("8ec938e16db08722611322bd328b72769706636cdb5f563684a20bfd98c6e664ace8b031b5f7ff60306ba020be89aa63").into(), - hex!("952f038bc24c307720ad4b92dafd960fff5f8efc735f42dd3229eb023ed7ae10c4823b5f9f540d209846f2297afe3fa8").into(), - hex!("887044034a0830396cee16a1b546d3c667e3a371b9112eb66a25df2104547a6a0fa43962d1580edfbe7a3a9894e04fed").into(), - hex!("aba9ce50d15b24c60ef28bdcffbec534fc254a946a27b11abe492c3b0dcb645ece63e4a5fe1ab38d89dbd741187eff48").into(), - hex!("a5d9edaf1a991aeaa67035f98dd818da04e884583620ef726f314b8c05f2ca2068397c48f4596f94fb922a468c576f6d").into(), - hex!("b51bb2e8eaaf9f15dfda39c9eac58b3a22fdb9b757b825d57a66dfcb8e955df8bd05c5599219a2ac4b8f2178b5424b0e").into(), - hex!("a0cf5f951f123ca6758b2874d7183b99d31e08c8255af24cd0ca5b7a87ebe32979d890dc4d6076208ba0b7f8f0b5b5a3").into(), - hex!("aeebe3e061e2f7b4f22cd8ca0ffc9723ebac1a169fd4555e27c4e8178c0bcca2a3514f6e4cecdf0c36481ee3d256ee5e").into(), - hex!("97657e70360228a7f7af45c580c5223c11c732eaee0d3fabbc840188d53cbaae750e2058bc0a39011dcd77d789cb7dda").into(), - hex!("92863dc0dd664c240eff90258831b07f1af5a1700c225a5c90a7106c52b983ba8fa69e59419e67a857b10beb758569a8").into(), - hex!("abadaa81fca1c93669425ef0308f9cabbc5769ae89218885c2880fb652887119909c581a41b94447dcb9583fa0eac9fe").into(), - hex!("999b8682266b58e0009ebfea110e7a1aa9ee8e813375c1a1ee44275df12063dc0daeb78bb7872e4fff7c8414dee5a9b7").into(), - hex!("a2ff89785b0bfc682d0ed21176f2c4b8b3e5e70f755c86e28e0186649af508265b0597e7c915f9c9424e276490301c02").into(), - hex!("9715be39a3e7fbb3e857596cb8d370dfe930383e87307a6254e208e9d1980e1e8a2fbe45784aa3fd7bd7b63f1d74e408").into(), - hex!("95dba141e4a5ea0e0cda47ac47ea13a7384dc493b55193aa81675adaf8f3de7a9da3d67f855f816f04c62d64ac6e9f9c").into(), - hex!("96f31c200922df439339c7cac15e7d324d1e121b83778facbad59cc73c2018aaaca84c0f61fc40c05b480b795d8f0032").into(), - hex!("87e7247f34e50b828ff743ea86b584044ccb629b05cc185582d51c98bc050f995f39218dd71ac4409a4e0ad9dc4bb12c").into(), - hex!("9872724eb49ecc8122f8c40980283b1c22a6e3d01aa9220307802ea561c19ba6f3690d2f4da4c29bd49dbf4f451bd171").into(), - hex!("a4a07c60aab95436238339082618cc02d3876c40c569811ef700ae37b0e1cdd4435e5ea7428d471396085bb2882d06f8").into(), - hex!("804652851890c7ee582c1db1eb71ae7e5b943e8a306fa62a9158f5e8ee7a18193599dbefc81631ee93740cbb7e05c768").into(), - hex!("a6146d7d72cb3a1c988f70cd4030639c70289f09d949e932269af9bce3ba34d3af92b72d5383a02c611fc0bb0e7c1e27").into(), - hex!("87786df78deff9e80eed75a0a643d9a4032e132b8d28268da5204e735197b2433fae35380a56ba6bae6e14fc40d1068a").into(), - hex!("a7d2fdff1184e282d44ac6c1449c7ab12e973529c1dbd0ad8ae19588e85189475bd27a2dd8551cfa2b0f751e9e19e079").into(), - hex!("8fa64df5c9cce4d37dd10fcbc182982a75873c4142758d3aa78399b157aa6ca74986fcd2dd304e273eeca659ac622819").into(), - hex!("9575b2e3d679e23a81e616f816f50b6fcd5c98ae9021492619ff1ed50fd3e9cedfc00979d67ede524b6dbe8ee5cfe10b").into(), - hex!("ad9309e78745ea3fed0bd8730b8585e996c44b067788bf68317e5324e59c25c6d3fa28805a9cca3bb3fe684d6953fc7d").into(), - hex!("aee90833c77fec9eebe1586251764db4d418e029df78b9cb33af9e54bf4f0086f910df92ff64d4a893ffa5556f246acb").into(), - hex!("a73bd63afa35c5df70118cc7c6bf0524ee8c8a8e4a76cca08821436d64c50c2e331a3e0f5bfefe2ed925ea92b79d5b7e").into(), - hex!("874bec595a7053b906533d789de1190839bcc87e05478ac705f84ed90986698ebff6ade8fb95eb995ea411190f805f39").into(), - hex!("95874d59963049171582b58f747106e4884c0a2d3845ba16907e71d621c2d176a7c593d03aaa47b5cfe3619aa630bf42").into(), - hex!("980a02d81659c19e13778f9c68dc3be136e68edab9d886528d1e1aae38c4e33532e851aab632bbf4abadb80b0717553a").into(), - hex!("ae8632d22defb59afb7762a54c93332c85448243ae343e08f2626c3c40030584788ef94567c80df8e7be5970d68707c6").into(), - hex!("85d8a921257af5585e20be5bc7fcedc85354171db5e32771e8d3c053bc5f360f673842f4cc63782a61821a9be8ead25d").into(), - hex!("aa5794a70e210331b6faaaef1506efceb591b6a9aec5ec2357c339a82b35f079fd3834c052b1d7b6046953aebf131e21").into(), - hex!("998da5fbbef768f90e7273a2dfb5560e7064e0b3081b4036be740975b132a3cec0dde29949a6918ba8a63bea3bfb700a").into(), - hex!("b5b3578b6a3690d28766317b052b7b1ee1fc9bac59885ebdc292b5cc30e2336466ab66c338327d9d21de6f9e77dc7530").into(), - hex!("90d6c4527df5b12f219b04930626a9be070d17c3a25f4d5dd3bf0c1f5d1b617999f64fa0f62e31453c7cac4c4d325a47").into(), - hex!("92ac4cf73489bbf7a8ce8a18d7f40449740db986ef507b665bb8635e7011f43bc24cf44d219a7bcb4f6acd4ca8c8a57f").into(), - hex!("b2dfc00c2bf130d785a2df927a2708394ac6c6fbf6111865b7ed443e681ecb7d001953f40a0c7b52a10af33c003bce7b").into(), - hex!("8c34a10c8f7cb75ceba66d1092c9c5822439e1d5e9504a4f1407267bf861a6a02fb6040a91222bcd480df4fa04165c9c").into(), - hex!("821a1521bc8b255d723bd5cac1e87d7e09d2fe3f183e3c35eac6a3d977c8572f3a0db5c2105bf7c5fd9effdb0e6f35ae").into(), - hex!("96f6f8e8df302181b7fa07ea27a00f5d96a0399bcb7b912b81d96348f5b228cfa36ee77ccabba4e0d10bd5e87c35f4ee").into(), - hex!("81b7fc4bb50b9b0591e452d7a9f5d9e7cc67d779e2e040701e0f04ac824b0288424d5c2c6322a1e77c3c9fe179874672").into(), - hex!("a07dde2a470110a9f0608354a03d700aa3fd7913243b4cc5f6ff5b796b25bc2366c6fe8d45d9f85f7498e33385fe3ebf").into(), - hex!("8dd2e5d21bffcf79a66c4abe47c3e6875f1d7a16c0e5aa2e5255d79e74efa2fe6725ab5d6840499f3148809a64211d83").into(), - hex!("a75c07061f7ec7235985da320001e7d19b7e2b42d8a45e71470c473484d9075136ce0284d293ae8f308f99457d23176c").into(), - hex!("99742158c202b7f6b92a3aa9e2aa7cfbdc76e1fff08327ee581c56e5a473000c6e59c622dfaeafd8f45695ad256ad841").into(), - hex!("b3332760ce89254a9d7348c9daf7be3fc563f87d20d9c3aeda17f49ddcb3fe7fab15a727b9fee0619ae025bba1072b89").into(), - hex!("89b13eeb2c5a409243f9780dd90416876d97fe98fcf25acd585819ec51dd11bf56db5cb7d47c882596f6ebf784b15910").into(), - hex!("960747b712afb2437f8238946624930f2bb0057a841911c0ced3e2da4a84a880377c8cef9bc568f2f965d3fdedbc7f0a").into(), - hex!("8510051ade0cdfbd9f0080c1248d0c77f5c53fd6c0bb8c477b7451da1d70db5128ec49db18dd09cb85667a82dc20d4f3").into(), - hex!("84d58c5b4e35628e5372c82126daa7f3ade56fe3b2121fcc93fcae15a1882b1d40ba0c0bb32823fc5c3e47a707cb2979").into(), - hex!("af8d4f435c33a91f27f2dcf3a32558079ab2e6c6a68f06a2fd6b3de3d05c07168c7266a1dcbf45b2a5d2cf580599d8fd").into(), - hex!("a55f52ab6b64786081c93b2130490ca38685bece7714b83dae1c4f112182e66e31e846fdb9c81c86289a8cf239c8ce39").into(), - hex!("b36c5df85a378f0a13f570ee32ab039d6782b1c74b430377190e776a1f7aa290aac0627e0b6bd774ad90b4cc559df9e5").into(), - hex!("88fca4f5692dfcce41419744f24d6dc1b70a3c45b00193bcffe81f74bc6bfb668a0aa2d8e48ea1f4081704756b2da475").into(), - hex!("98742dbc19604ad09ec1320d87e432ca3a7a9c519fb065e4ea927be39d4613aa9bee66b5ea980a7ba2e8955286b45414").into(), - hex!("94a1fdceb7ec45112e4eb0f67d36d06fd666a0a95f32c632a86d303295149d670b2d1b9627f707dabdaed6b75907edc8").into(), - hex!("a59ad55b3f3074c390caac7c27383bab407299cf02daef75e78a8cdbf0f9f8c9b28c2701d8cbcd4dadd5495e3ccedc69").into(), - hex!("891af1eede70e93a3074a41a6753f680d8d9f1f060db9cd64316d1ba8becef1b5b29e4606b6f111a5e3ce73f1984795d").into(), - hex!("83dd9d6c2da5936141fea4cf8ac27a1636176bd7361a463fc0203475d6cc70385e87cc77f39317fe8b1a5d9c9bd2e2cd").into(), - hex!("98c4417d71093098b59c23004a2d0c9e57db112bac7c72c0c0601431a6f595d36f1aecb08e66e7b3210fbdfe381b0197").into(), - hex!("b9bd1c4ef8c3db50c4e5b5d5711d0dadc153a396edd5dca1fd3b00bdee0575d4e707e64400466ebdbd0ef1aaf6e61eb5").into(), - hex!("9671925575b92174a2c383654b392fe8591f4c970342a49e1d84799d6b7b9bd06a5de727110c7b3801a1fe88c6640292").into(), - hex!("b15b5cefbfa871dd9883f0e4aef908e2091a7e9753e8b85048fb158ab21fe5ad462b2237c0b24de4baa53ec7bbcd4ce1").into(), - hex!("ae1f2e941710dc68f8dc5fd7be412a72e50cbd3b8ce9c09ca3f57aa2153a7ee0d0be2fab19f9583dcd9230b350084f65").into(), - hex!("8e495a0a03d7a216067f66379ce670cc712f3dcd5d379c0a309b8c9c48176279f8b6bcdc1dc53ddbfcbaf018f05912b5").into(), - hex!("ac910a5cac451fc7c3d4036627fc9a8ec01cee4c58451415699f3e6ad84d2b94af2c6d30c93e138ff3e1bc1a6db03bb8").into(), - hex!("b93e33e5fb51e8fc8906dea6f82d8a52601f32e30913db73548b47d782710bb419d475860a4136dfd37bfefcd2bd8a35").into(), - hex!("99188ddfda81faf4f9a7535775f4925dad7ed726d1a3caef481b2c8c28f4e151c539cd026d25ad6b738301bcd7dc5b36").into(), - hex!("8fb96bf5ee5632aadb7b1b89c9893aa78e5140cfee63bbc1e2a2131fb205033ea2a008474f66b30d343b336d7cacc3cf").into(), - hex!("b9989ead965afb023a13a1c19194597cea1245498033d02b8bf82afc9e409f76f4f0e2fbbd3a3c67ce2b0ad068c5d6d0").into(), - hex!("89696be63af67159e6aba07bb9bf03d08c615d5ae98b89c5c93ecd6c52db4141869d77cc79a546fab81e624910804534").into(), - hex!("98da20f0de7e239584b35efaed57032f244243408c42b9c15de004d27332e4789d7f9595f574106a3edb5ecf809420fe").into(), - hex!("aa781cb6e1eaf460bbdcf013e29dab5025d5bce07a37e658cd8e71a11adb3b2daac60c61408ad8c4d64a382ffdf26564").into(), - hex!("accbc68b98ed6910bb24600f43a0bc246664e9f71dca981f704b9024d805ee3276cf64a4b16ae71c8c8971c043fdb84c").into(), - hex!("aaf8d0901b3c31947610c795588615388bbc65d33ca4eb8f46be73bd976e9811918ed33ee0bb7430577ba7e1a7c108ed").into(), - hex!("81f348869424bd4a878ec73264523cd0d003ee541f286c48f06e304cfbdcf20f4b25ebb58ca750064aad7fb3cdee4d38").into(), - hex!("806c963588013193bc3446804d02eb44da9780747f7b151d7d0a9c4608db1167a26c96e0daebfeeaa3571b4f16200e9f").into(), - hex!("941898b890b275513639d38f62c694fc06f0d933d7147f59921a1199152208ac457a5cbf176c680dd688ecb525b3490d").into(), - hex!("a531e207437fa792c3193db6e0799a88ec916e96435bc885176d2009eb0551cc3130f658798b9d5e73cf3d652722ce82").into(), - hex!("95a4fb2a3fb9a871859f3ec5c8b7c07465876ae6c414192df2e29fbe9943e1f5e04a70e9a67e371a83dcde6a64dffc15").into(), - hex!("9466f2a1dd8947fa827446973d2c817a824b2d54d6c487b53dabbe819a3a43c1ff37ea4289081408af8252bd15982ba6").into(), - hex!("93d4baad37b58cc4a47c9e7ea23ca530db3b951d3a1f91a7c10907c7c880dcb1ea84b138c24cefcada106306b57c0dbe").into(), - hex!("a780455bbd82ec4bf1b360cf1361cbe2a003f873e9d8efabc66c5e8b18c9965e5e2a603c44839d0afdd1e14e206e8542").into(), - hex!("aaac26b8d3099a001a138d36c338ce87ded8f3c18062f14100378c4453ec96d0bc99ba2afc553b8a470e5b1b709d9135").into(), - hex!("a2d5667db17126e91eabdb30690bf3aebe8b32a2390164b076c5c69b172aa9432721a87a361f92ead1d319fdc270d4d3").into(), - hex!("8e6f98b92bc6a30ad352f9157e5751b8cecc64b850aa53c21c225e378cb2171e7d8da7e6c76057334ce44c33792a3426").into(), - hex!("82a58c483a5ee938e102682bef6e0aa1b217788bed619791b72c133d31c08a79c807282f80887783fb66054911bb4a03").into(), - hex!("8f63eb55ef0fe7f11deb16131ecbbf1a52eb70737fb02c61c125222751dce60bc66e38344cec520ce098b2a7102d3b1e").into(), - hex!("8198c114c4b61239626d412d13f51077a54dd939c8e95e5d0a130d80af7a65a76e8cc719b4fe3f20cd18ab5c93f8cc5a").into(), - hex!("ae1902b30b01763d941933b2fd580478829c059d2bcf6919f92e087342567d4f6e408087c2cfcc31f1b538212f13c4ed").into(), - hex!("86fa7bd7e19475bd6fcf350f045c9c61cbb89104598f2cfa57987235a4d3fd71be83dd1b27c559be87bec1b01efc07d0").into(), - hex!("b1fa301057b381158d33cbdf2e3c09eb36f9fc82b7dd6d1ba5836d58f79f53b6110298f389a10adba132471640e24e85").into(), - hex!("a712bfd75413af98f32d33b99b72dbc0646bfc51d20179b5ce04e323409c8590dc9eed7167e9bf01f99ec6d0a3baa17d").into(), - hex!("acf0c069db5267b13d15abbb4b13d1db66a209f6317805f3853d46f9698f18c3abd945997888dc942232c193533a84db").into(), - hex!("9980f91eec6f536e29f6343862bd4fb9a9f52f3d74096c918e6e9a2405888aaa1d3340f624b961e2eef5ec694b403d50").into(), - hex!("86fbf7a40485dde7fbb220aa72d3da08fc33654f796137e3bdafb69c646e346299706d8c3071b4637dc3ce0d8e023277").into(), - hex!("830766de58443ee837da15363efb2a622120074515082226a7480d0cd963a753e7955b0ac121a3a8b7465bbf00ee8c81").into(), - hex!("a11ac0477c2fdfe4f92f51bbf0c68683129de276b155a21b945611152d4d6b983ef1f58d3718243e5e0972915e9f4242").into(), - hex!("b5534e39556388efca4e188c499896fee85e0fdfa1748dd4479615669267534d3eda66e089554998d3b85be92832b38c").into(), - hex!("a8f0b2c573cb162c7bd6c70ff5d56a60debfacd1c24eace13b8cbefe50934f87469d95cc266dff9ff09a108d8be68fb2").into(), - hex!("8152fce636c55887e1b2a04e6a5bdc87bebc1dc9ccb856b1487348ebbb817ca15f1a10d8d87862e7505cf70624a3708b").into(), - hex!("850c3f66a42d554650ed6e0260a967c9c4adcd5b9b3a771907df5d315e09fa0f8d952d273cafa432e86f10d1cd73b8ac").into(), - hex!("9919a676550c3f48e465757bd414d85a9a012b6b96de00939a958f9227c9d2f7bd31b7a3ec071c451c8afa189b80da77").into(), - hex!("ae30b77c8fa7dd8861b078fc69ebe3404cb0b2b1af4505025e07280da7cf2d1d3be8b744b3feb98b2af93515286c6c8c").into(), - hex!("8daf3e7b301ad2d8932fa06c878ab223d8852f74da0fa31f16434f83f9d062d0d9467e158b57aa684b42dfd0ba7b9375").into(), - hex!("b859ec31c34746121cadb7d06e83d41389b26cbbb3cbfe224e8989be98ce756510cd6fbfba3feffcaa82974ff7af19a5").into(), - hex!("b681d401f5c5a715d44375f329402ec8842e55d2e24af20db59cb0e87220fe57d31aaf29b5713c53eb8c6a7f014a81c3").into(), - hex!("98adcb94c0107b554f78a5ab6dc5a2559a3fe6ddf590619a15684350c820a2a56ba68ff35993eddb4134e16ae99598f1").into(), - hex!("b434b6e402a8500fcc8584cfb4c6406aba3396d030482749b5ae2b324ced3f48530503df119234a459c3c6e700848538").into(), - hex!("9119420b8734c6400775e2d2f791d410fb49ae7de8ef020fb866edb795eb5efeb3e9806c8d12a9d9695a21408c98e820").into(), - hex!("ac52c1fe6317264d8d8359595db45596e5eadb188d6167630461fc040cb13e21a94cd35a901f33845b2454052a0a4181").into(), - hex!("8fd9c6a3c254a55a46c00b5741e3c7ff92f4f79b164172ba825e8191f6fb525c33247252d82e903bb079109525171dc3").into(), - hex!("8258cf5d6b15a481bbf6c7b638945555f22b4bb849e6c0488243a7bd3910b3352caad551059cf12fb4c2caef3a9f6bb8").into(), - hex!("9636aa7f58430e50c1e7f6532e7ec20558b789f937d474fb860461676338028760e1b19c9581e07fbb18ab4ce4e400be").into(), - hex!("8bd9046108ac2f8564cc7ba23b17c9017faa0755b0c13c9f00674d796d215f3caa6253146ea8fa396ef22912d9f0ba66").into(), - hex!("8e33f399312241df5810599d634a09fb830ea351d74f4ce41a7d3b888992b030404b8d834d4e3c7953de0e29b3ac5381").into(), - hex!("a0283bdf2bde54de90d22747cc55cc58710a2c1b3aebd9413fb46934415fe41f581de7bcbbd3d44c637ce3171f268a86").into(), - hex!("978c96afadb9f83e7d6aa7bb01c154c15801a5f62a7a4d4676ba657d887593a8550de5534e5f4a6e1cadcaceeebb9b7d").into(), - hex!("b349cc840da7808cee97602a179db4a168d6aa4a38b7ad62e66b432792686f7663740caf5ca7397ca9315562fddedda0").into(), - hex!("825f2fb03610bf789435ff5b0ff5320630e65baafaa8dafb566d9e61333d92ae9b684da56ec6ea5dddcbbfe43db06a17").into(), - hex!("a1b390ed1a6b6c29b2e874ebd53b856616aca30cc8a445c7a3e5ec62889e3e8b32adaa8b0ccf90e42ca548f1fb3d345d").into(), - hex!("b13e2c621e318b48ef49f02ec61dddbc13250b82ce3db6b0f6c86e68a12b6a6d311dee798fcbc348e1db38056f5430c3").into(), - hex!("94f4f56b5627b71428708733b2df4c07975c6035a3bbc1bff7cd382b43856c077db4372f787331107cbd312e16ab0ce3").into(), - hex!("954166a7063e5d7157cd60824913f736e3d8937ba47c5f8c2af4e748424fc8558c20697cae1e0ad83732f16bb854d1c4").into(), - hex!("a6d5f77f7f4abf6bfe7d3ba8d9dad9c3c85560aa1a5f7b7beabfb6dc37d6c501d1dc57f24562a782e72776c2014c5056").into(), - hex!("a97ad38f3998e3b9991c7b77284dd5091c6ee7b100665c0df28807391d1db68f88dca5dfcaaf8fb73b1fa2f34c911efa").into(), - hex!("ab99d74b5bf569600bb21a0ec4588478eb14ba2cca69a568a1849890f62090f5e91a0328a09c839a6572b750748453b2").into(), - hex!("848dcf83fa7222a7708b9a4c623825d561a3110c1c9a36a5cac1abae7068a2434aaed8260de2912a61cb7e2326e18848").into(), - hex!("a62d5b9b9854a8df4de591a0a6add4e6d5771e9a691a73ce6c91eb6eab86fc89ab0bc643f9bf36abde3418878cf27b52").into(), - hex!("943efa029860e0a3c8aee0613a599437e86cbd6773a84c074efc986756685adc5a9c7e3ba257a91153bc8de2f0f0fa58").into(), - hex!("a5f1a1e6ec613d0541100a59b6095447f578eb9d71ebd737acd640675ee2888e824a6c8e59648f301bc3da9a2d82f6fb").into(), - hex!("8fe6e3495491f19b81c83d4f5b9905ce0a4dbb3ba3c271c1d891f3cb1a9c4fad730a6f3e5ef07ae5884a91298a1381c5").into(), - hex!("b257c55ec32e1d66ea1803df360e309b76741a9c4748747c9737e858c2cef4a6a3711e9ffcc6d46e5466853700af681c").into(), - hex!("a723aba743571344ac9eace56e628bdeded67fc768244103def8208b499600c6a46992181a3e224e05652aa12c53a0b3").into(), - hex!("831ded687c5ad817a3f21c718acc19a75a58b9472b0b1336fcec491ccee48cd1f6d01eb9f95dd87ddd4d565d96609453").into(), - hex!("8d5db9fff0ac3b52e8aebb890a72e2f499a1798f7029ff32714c7ddd99cf1c77a5b07e2be0021267b71adadc961f5d19").into(), - hex!("ade0163611ba56a4871419d406bdca622f5ec670a5de1168699c7aac4668bdf60330268e6e001392b7c9d13c5101560c").into(), - hex!("a08df209168291d0034a27201ed3a14b2b09b834f2e82ded7754b8dd88f298a0946173f2b1c49ddaafa0da8c0fdf4c7c").into(), - hex!("a03ea6f2a984d0501edc275e827deb5f9fde0155b81d7d1105f246c19a0f21e4dc8f7b6c8c51fb5e8af1302cab1f6a0b").into(), - hex!("941de99c784c6917d796de47eb23305e1729387638dd1fa64536c084bcb0b1bcfeb65df1568a12f614cb74b293ec9de2").into(), - hex!("a08f6596272cc5b9f31ed03bd4643d1ab6d81597b97bd08b4eaf26d5b88ce7e975eadddc052e3c8356a14cc969d729b9").into(), - hex!("827cc38eb485dd1daaa0bb3e324d42c7fe2185feb1e5b8ca42a159e2671d12fd97dd5c75b3d9cd02f9137cf6d02cbb75").into(), - hex!("81e5a821378ae87077655603fec3025f8f8bfab4f6644111b98790953909b459f8d322e02e464a4b37fd54f13b500d93").into(), - hex!("aea669d666984214e742054399fcbcbc33056561721145d7c6a1f6cba63a59b74794bfc6a6af29be35af4101e4d8dd72").into(), - hex!("9896b96e745255b1a0cf609204ea0d094207ab2a865b346868add165686099e26b6205fdae7024c6f7223d3f12e42876").into(), - hex!("aeba310caf3d271661b26502ed7514349f802a94d93d53b6650fb3e5659e042c579bbac97dbcd15078942c2daccaa766").into(), - hex!("991fb0a84f48ec668962952adef017bf01d1e78284f28215a1f8434f8ef497e79b045800352826f07b4590e76c5b166e").into(), - hex!("a1c6430a84c476d3926c6863a7d2052a29e99a314ac6d199dff600ecd8f0da6b1ba8a2dc4c6ca5c68b34551a062cc4e3").into(), - hex!("8f9b21a493a283a0d98d7f2847d2dac5208c0e511e92ff8af3cbc60adf309703a5a7abc14ca12374b12e948477e987ba").into(), - hex!("a0993241ef6b6ef3e6f463015ab8bf06f693bfd4b1e720eee26fb004272581ac623ed7ee85573bb8471604c8f82160ec").into(), - hex!("980b8c7d4c61d591c33f17014cbe3e2588e6080fbd0b461381bd73c67b34e70300b3f63e6832d45aa4027f5e75315cfb").into(), - hex!("aeed35bd61552fd351bce436d22314e3ec1d9b5f8f126ed1d0a38c96001be23d539850dfc68908902526c311623b8c80").into(), - hex!("b123bdfd13f9bec73e694643a0200e97a3933f4c889e4611c28c4665c1bd1fed41fab194db2a9b46081b377513132424").into(), - hex!("860db9fa6dff9e1cd486574472ebb7e0963732a64f2ca6a44754a6e222a44f8be8bcfc27f139ad081b93de4dc193486d").into(), - hex!("851e77e5a253ee83165092842baacc054d77b41c53eebd328ba34726cbc3de225ca10992c857dd427839aa9649b493bd").into(), - hex!("b4722b2498f65ec6adaafe57794b4910db14d573c7862edbdd9b11dd67e5f3e4cf909ae2e335a80c17c1ef42009c6e3f").into(), - hex!("a463b95ae02916a307dba55feb8feac300ea71febc962784c49b0ef62f84e6baea5aafc467431616144533b9d7dab355").into(), - hex!("8cd4c336f23981f1024049de96045033957d6160d382493461d6fe9ef0bf455a2f82522aff0c882397b19d905636abea").into(), - hex!("b4bf10d4847c1707aa5e526c07688ccbb92f5827de4c338748fd6effa96c6132ca49c82d9e328f6e1b303e88082a1ae0").into(), - hex!("a8323c59b31ec836b7e0eccb0881bab0bb1ad401008b773235b04ddeac481a2154f81c032fc2e356c256a499647624be").into(), - hex!("91c202d84416ee4701a377832924ad0af324e35c7dbfccfa742f863152a033fcf95c0039448894019ce85d46647b2d4d").into(), - hex!("a0b420ca3552f8e12bf5035c27f4beb3e4afe0f7a275e4d98a9d6378a2edbd9638268555e31b9f5292d2661568f04fb0").into(), - hex!("831017b0d8ba768eabf8ee36aed03cb3af17868072a8794e6af091cd888bb89028ca5f9bced38196f59d3bd500370f6a").into(), - hex!("a6115850f658cd04fd1da46b0670efcbfd7dba5b4ccfedbf38eee8a9f8afbd24737794145d6ca970b11e8747cc83e0a1").into(), - hex!("9391dcec5bf85fd935810a0414643ac4637263f32c0c77aaf3806e24381f9ff7026f89979cff543316c41e917e333a99").into(), - hex!("a66128670bae40d37b50b55f2bf60f1af2bee858c0efd8216e87018454512031a876e09353cad49bf22f0a02ed0e95b4").into(), - hex!("a235e01d153f5d1bd9e02ecbf1f2e78053a9e90d75fd73381be8709f901a36f2e86d4f9c9cce390f942949666b6dfdc4").into(), - hex!("b44f340e1cfa4a9d99a1fd51edc99a99d65c128c124627ba9b71322a898b9868d0c3af5e07c58e8306e52acce0cdc9f3").into(), - hex!("b151def7693a9c33c4de43431245e220c8352a4cdb8bdc00136bb1e8003584651b215096312a5176676eacf718308ad4").into(), - hex!("804d3661ef3a3b2474c39e31a89430e302ba9b593726bb750d80193b95b1940fe60e0ef01ec709c0f36ee45689fea51c").into(), - hex!("b0ed505fe9df05b620bac2e23dffb04c24c0ea0683e245fb7cf3ff3e41deff3a113a05da760b073cfd91c4d73ef99024").into(), - hex!("8a59bcfb516207780d40778c9475a9755e2bffd9bba75204ff73f1b55ba63c74aac6b0c9e1397508af7e68d161155cce").into(), - hex!("aae4056c424f7e122fc93025c08fb64045cc67e10c0d4c52f42a845c57679990171e916b1eefb2f84067b8ab60c13484").into(), - hex!("85a875dd43e73cbfba40959c2c012960969f7280b1454b01c87ab84eb364a5f8455e043bd1cb7565b442a4569c982220").into(), - hex!("a6c759b88a8f4e3f523d3ddb8b8b4b0dd59dcc0275bbb75aab28bef51493a8d37bc0e4e54897f42fc3362289cd245bfc").into(), - hex!("a5fc3c76fe5e5f81c9a984f6247ed54ce10121aaa05408c2800da8d4c249e1e7eee8326443c709119be59e9655a9335d").into(), - hex!("a8e31841e5eb6fb998a57a7195cbdfcaf6d52d599b4d3b3cf1012f26ee3390834d912d2f59708b486b9c08fbfa08f6ee").into(), - hex!("a8fbfe2b652de1360da9945ff5f6a23297a5cafb0c95d8029969997882ef9e1580833d4c84bd2fbc4184b36b20b2689e").into(), - hex!("b90c0f7934fd66103f08fd77020eb89e5b1875b6be424176deef7b57ace35876b64c81f66fa2e1adb798b13953297470").into(), - hex!("b569436d54ba70daba06b0984a277cae2da67264daf9fdcf134dc23a5937e8eedc41071e46eb13cea61a3f2aaad14da7").into(), - hex!("949104ffda1e34952b6e9f0d9cfceb10c17815875e6a5fda6ae1e76d61bd2854f8964fdd456b8a2e8c95c3a959c2f561").into(), - hex!("92113284ffba4184e3a60bfeae944b8e4b897c06fc6f1d159b1bcc4e663eab2d0a53531aa0b914f9f31bc3d85bc44787").into(), - hex!("80c619f7938dca6a086dadc9d6e84fdba7d80b8f975297c7019e3b3aac28bb36c284faeac1da4cf5b8d3303805351a7e").into(), - hex!("929d339212929836b83c67402d743e56e1b1f2dae6020a2a9496b816f684d5874d4e3ffbb15db128fb99f3b208a2cc40").into(), - hex!("84c965a0e8b41454adeb78cf6e3920361b4d5d046f0cac821cbddc645a3a23da4a42b22dbbeb9f5a88e8a66c974c2fa5").into(), - hex!("8d3b51edcaa6e3e0d9848d1e8149cf8899d47e9f82e4ca3485a7af9381481c1b3fbae62a3c07687e78f5727a863b76fb").into(), - hex!("a26e1740ac429ea3a753ff1036c698dbecc0fb0114b23f0b4060bb0b570914e2ad088cff9bd44f872726a4199ca5ff25").into(), - hex!("addffa28570823e39094c7d1230008e7e1df6ef712b3964524ef6726d2b200a90a677b72590b1d233b07907d280d09f1").into(), - hex!("8e0841ee20def669277197a68502aa555e8d8bb38588a7b55ed8fc4a039951bdccfcb16d12ce82a0142249a7d9a5bf4e").into(), - hex!("8d544677bad41f13c8e76ef30a4bd8eaae12b7fda35c0e8e5993efe5f77dfcaa458ad407252afe2e703a5295dc367243").into(), - hex!("82e2eefa9ab396fbec5f60d2b3ba53728cb74b012dd6d41504b0503998adbf1461f829611888cb1ea9ee655cd5656836").into(), - hex!("992f8f3db63ddf94f011a788ec458adcdf348f111304cf775fcd8805e05388a71b3ddf8f3907aa5a6829d777efed955e").into(), - hex!("b467901a519f17839dd9cf98a8fcebcdc1162f8c903174afccb35cdec4c6c56e41b5347e3f010295cc119496e4307c24").into(), - hex!("8ed4ee8e4986bad7142e8ed9f32aa8c92a03bb26d0c86c3ca7c03da0e0fc0edf640e7d7cae21d4e32b820c33ef59b9ee").into(), - hex!("972b4cb9f2223f4a639dd4010cb9fef44c4ab1791864c65594349e119c21ed71d2acd690afa63e56a5a97f0edbee8fdd").into(), - hex!("86b1fbd2230e8ff4c82326dbe888bfff95d15ef3d377e266d18b871e19b42e83ed9e9ac0fdf9152ef6f48c8a8c95a716").into(), - hex!("8a6fccb2f95027beee677dd235d55d05e9ee31801bd2d4ace9cf5a904267ee022bbb6adbfedab4663f4e4437d338dcf1").into(), - hex!("8423028c034e6f993888b908630a9383790c17ba02925228f2bcdeae2bb0df26877c0852a1bec5894eff16e416124130").into(), - hex!("880672483d26105f7d718f4740cf25dc9c174d141102049a6da8281aa07bc449561bfc0c1f85b47afc1fb32fafb8a819").into(), - hex!("a3e243fd3b85fa19e1ad67dbb2b90abd80f4205cfc8eb63771c7b76bcecd9c3621cbbec1739bf4ef7e7d5d0af7225d0c").into(), - hex!("a906460ae828646adb657f5322c274c0d1817cc2c58d7871cd62edf6efb986ee6f764737761c4bb948d92f30f3fecb02").into(), - hex!("9317abcc5a818f2f5ef8b5733acf976e8b343c36e74fcd5a0522bee8481c54b5f32d812a393342b1055c6bc030762260").into(), - hex!("86d4255297dd1cc470cf5f64a3373b44658fa23096199a80526a91cf78ca92e9629c08645e73fc3c978fd15af9bbc290").into(), - hex!("b0d7118a95b49df8ff5d8c528b33c2c8f1bad87e82e777b64b97de7eb1177af70313dd70df720cd596b884bd9993be37").into(), - hex!("85746eab40fda01372a90200530d7a0e7577531ccc29df992e2e495f9422abe6a28590d574550d95353f0ceb07b52ba2").into(), - hex!("809711725204ec8687ba6cedbecd2bc2a51af113d64f0bdf3b619660aae7a9c1a3e08a7d78f6ddc05c2603794b0f85f4").into(), - hex!("914e56b0413dbda8e3eecaa249480d689f7f7b36a772db2b1e24487ba25bb3907900e52b2dbdb36a997f1b560f8ff458").into(), - hex!("8044c0679cdda5de85656785ddb695ca4fd4d1071b29652a1bd2c1351d1ad1b743b6b798919ab11630df91aefebb889e").into(), - hex!("940cf492c1e46ed6706f746d9f16be3be0a57e9b8118dc3339ee2b465e7a5edbfa71487b10f89284bdfe825a973a26ea").into(), - hex!("b8f077fe2fd75cf1819141e48b6e01aad79046e940877c5d82be7a6e8b92bfbfb86cffaae21c21a16a66661d1d0e6197").into(), - hex!("acd377303260be534c89c79069ba46b88c451f007fbff4c3f3e40e09c3abf36c108f55e3830ea9ea5636076155b23fd9").into(), - hex!("b249453a1ee98a3721594e35505e276447913483b628d151436846df7dcd327d74e1deb2a7646f0d57497bf77461781e").into(), - hex!("b134db485083aaac295719292c8d680bbb3f6d19fed5a05d3f57c1ad4f928ffc711fa90e906954a9213fd39e48281204").into(), - hex!("8028d35172b688940df382f29bc2e2accc3f82ed5e798fe478d3947b9531aeceb6cbf31fdfd933da12e9acf07d47dba8").into(), - hex!("9031be2034209ffd720178cc090cf9c222d2bf2809935b2e52a0bde2fa1adf5d55110cf20244b251fbdeb198def7e315").into(), - hex!("95918589d65766ea2af84dca052397cb78d3ebbd39b6342c1e04641344b0c272d4c40ff587642f0c9479e2ce0161f326").into(), - hex!("94974a9b52abe0035feb47ab3e7de483df3fc2121cf0599ba9b1cddaffa5c62ac4780f5f656bc26fb07ed104240faeae").into(), - hex!("b0854d08f6239f96431aa5c40c2c5fd32bbd62089c38dc02178d2617d3c59fb184b4e8a2400ef4b534bbb540db66a489").into(), - hex!("acfa0beaaa744f600c2c96681fb036fdb645341eb295ac362d59778f4dc8b8fe2c0ef2f8a70e90123b537111211eb8e6").into(), - hex!("99acf823dd9d59d355d10c4dcaf1892411bdb0e8231f95dcae8c6d2495a4fa68ff6dd9b3f87eb712c51da3ec82ff8079").into(), - hex!("96e39b291fb3ebbf4903e9d08f2029644cf48c6d77e0f048afaa9619b3d05f7915619ef1f3a2fe62be968bcdc5a3f66d").into(), - hex!("a999a82f6ae63bdb88308d42667b483d0db80ab728877e7256b79b524c33fd99c8185ff6f77fa9e812868f86455d2a47").into(), - hex!("a4b8d9b8190de6965ccdd0d68c00b910c3d9dbe14677ebadc648c238598255c692f1d2e65223ddc5ba278db2d79cb5b9").into(), - hex!("89806d425fd283b6a8f3c4ea0574b1637aadd75e8eb95939b328713b851fc44d91fe0e6a8279288d01489581420934ea").into(), - hex!("857753480792e72da95051da03e82bd9bd9d4e01410571539711cfec6e29bfd1b65936e14a116af08cb2a4783e362346").into(), - hex!("96c6ea2bd5497f6cbe3bd1f04d71571b20f33ab61dd39280f6da877f2891de05f5e5268d6ed47367fe737eb32be9f58a").into(), - hex!("b1a49a5793cda1a0eb32ac48ca1627da82fe6ee8a8a35b098f2082b939491d0e30b1f949df8310bb8d52c4f6499214ff").into(), - hex!("86a11f5c0518d9067fabecb30ae415c159eee8f813f374f3bbdb805c378b383ef9faf09a71f706d00ac8ff8e34c0e965").into(), - hex!("ad41b129922f9193fb19574a56fb49802e0ad9f5e8ad78635d17b1124fa2ff308151f25e9757d90e03938d26c4069f1b").into(), - hex!("89894af01dc6c0348d28c59ac12aa3d2f09b30ae21ad926dc3e9c2bc36326bc2bbf0890bf13ce826f2f845aaeab694c5").into(), - hex!("a4fb67179c9d91dd7406662cb2ebc615b4ab38acba40319635bc58755604695d5eb2f398939c908401ebf96efef045f7").into(), - hex!("b6d56f7d0a05ca09a134a4932f375abd40ec06c6f518daf0090b8e0833085b2574e60a87518eb333d8bb676a900cfcf4").into(), - hex!("b49b1976a096cd0c626f525262a383af4b3bb1c188afe38ad81e5b8f0293d453c78b6344487af63eb533c47dc00f8be7").into(), - hex!("abb77b80bcfdf1a485f6cecba3d16d89b8e74ec432bd716d16b352d75bbccda0576e51e2727f65ac31d4f054218df3fa").into(), - hex!("a47c6234ff2520eb3c1cb0437332800c52cf47f6818c54c5ade405d20a7f698ec81000c1c2cc1f978a6dccc4808eb13a").into(), - hex!("86177cfd981949289356e0c834527b183b486e4eed6aa3bcadfe168c854dbeee80d7f705bf49a2f3f0d57b96cc624069").into(), - hex!("8f778fd0ec772bedf5df3d1b47a97d74a9a3944f5c87974c8c601b6c4bde225a0cc9c1cde4f1dcca89a4a3187b1b600e").into(), - hex!("8372c54f1664501b10aed4d87285045202c91728c71f3dfca864bc0c029d768bd5e6c5be64919868bbda786ce7bebbc9").into(), - hex!("82db1a1f651fa1858ec1acd296a6dd7db3133ca8fa94f0f4fad01b6513a8ab78594900009295237c5cb2628cfae10cef").into(), - hex!("a63e98c5163115c5a6d982382b8151a24439a1c31ea004fdf21c9cc019b574f0ee905d6116ab6ad3e2c6ff0772b4d6cf").into(), - hex!("a32e29c38c6075a591f14b0445010aa0dbfff70c2f4b674dbf33cea9d3d9eda570138ad97651f92ff0955a57d18ad4b1").into(), - hex!("90d86bda3d2a02f0f1d0cd5d5f4efb7595f761f6a1402387befe86f634d104fe4270aa465596ffe98f642b6277fe3c91").into(), - hex!("a4e9d0e8d5f48345db24cb18d08a79b30f13ba8c447cdeacd4637165cb3967811983f399683d0b0affb02deab843b815").into(), - hex!("93a138c00c700ac9c06d4c13b52fb062e1505c4d72becf3057b44ca2a63e946462c1ea0f01aeb4ef669ec302fa8b1c7c").into(), - hex!("8541710363cb5c6c0d4b05f891c0e5d4086b0300ff1dd4f54df59b7cc76a6386adc87e48f25b051c25a0347a4905f4be").into(), - hex!("b452f767e80fab52385c8d5a5f816b06f84b8e9acf0994bc729c0d30054acfc1cd69bffe86fff7f94294cd6350acf663").into(), - hex!("92d066e72786c91c5a1a74cc2d12303b84ebbbf07e768d353cc989d104b13edf8f8a881f44eb8b49198a9a4508a4c843").into(), - hex!("8afd01cf41feb7715098d73fc47fbc7ee3d7664d56f19942f4a60a3316b6a042b0cabfe97706b8ced6c3633ea3f0e0db").into(), - hex!("9713ff9d80e15838ef32815d4a5a6832d3ee38d3fb162cbc718b569dfc6158c39a5b50b39bfbec97651f70ecfd16cc43").into(), - hex!("86004405a8f85165ef3e0d0b23174343fc1b37a50068cbc383e87867f1d92367af3282da2a4ab1057a11cae7ee5993f4").into(), - hex!("99b047dc84bb3320e719c549222205635645c1ca37d71497772db10b639f0f0a80022decc112a4ccc1f96dc95b6b4a1a").into(), - hex!("ad679a6d7929449bf5c72e2c0a27ce036d80a510db2ade6acc39030149360384ecd89a1e93979f6140191210dcadeeaa").into(), - hex!("98c5ec076664c1822f47e2018e90fc5175e6a83df87044d87b0262f2ea5c9a0b5a9d8aa1892f9db1a1420457664dfbf9").into(), - hex!("8b0950cfe8577f8086a1164b9a9668ee15f14f86e5dd129b33e8391f1ae638e2cd918d90816d36f2e1c49f2f0f69cd29").into(), - hex!("9360cc2e028ea8f2718b980dde054ea6daa98971d4366d0182a2bdd5c6ca2246f39f6b73771dd107fac6a0c0c88cbb87").into(), - hex!("a993c547d24fade913c16fef15462574c158ecc05cc8c4640c41979bce061b6926cdc19b09792dd34de965d3f2d935e9").into(), - hex!("91f72c4c4b4ffdb8fae5b10bb6ce17c5b06a8bd7ba1010c9ed27f91d1a84ec4a706b49352871e9b720162c6e7d763a95").into(), - hex!("85744a8ba53c1eaf44fc8b05f09555b97c5b3b40872fbe8203410a90cc4409db8746dd113cab2647bc781aec804c4c01").into(), - hex!("a31a53d5d3e1a921e868ca4a9bd53ca04135c000f1d64246e170ebf1617c69027def5c8bea9b0c0ac875a15bd4dfe3eb").into(), - hex!("a3b5c99962cd414e253dd74295c0ba06e694964edc4fe9d0bc456d090dc716588391bcdf2a2c7a263e19ac92bd12d832").into(), - hex!("82bd4f25006fc304fdc8298030212937c6052eeadc3d7d4e566b664610f3fdbddc370c1ba790b71986243ca4a3762c1f").into(), - hex!("aff1eec7cf9121ee93c7f7d1040497e0e5ec1fb40b7ee367d7524a353155dac40cee23b1f296e6929ddb84ee6c62f50c").into(), - hex!("b36b4f16634ac8da8d35676ac88f565f54b38def5f31c27f8a424d360f57ee8bed85f54b451f8861c5ace80ff7ca881f").into(), - hex!("9999270c1f6265f7e08d1dadf5de03c97ea53881e890dafcf9e924f563f652a90c4dd65467334e97cd55feb8953d40bd").into(), - hex!("887db0a5c85683e59955e180eebd6f4996ecc7cc1908a24cac30bf7bb609fc026632878015e081bec343c2f61368abcc").into(), - hex!("8f33851d0e04b6a2242a8c2916d5fad9d0db5e030aab9e7251d8fdfb3bd8cbde6102c51565983f531fa465fc416af7a3").into(), - hex!("89b026b852051dcef254ca87e1cf23f0aa41cfe706b6f5ff54ef8154d59a2ec88b447b427aa25600171ba7e29d4bcf11").into(), - hex!("a5f9291e79fdf8420b2a24cae962c037f83dc28b6ec974dfbedafaa386db03d29ff0a18a4a8ae4cd0b14a6a75effe083").into(), - hex!("98fa0301b6b452bee5c51cef51c463202047f24b6460cb2af02a8ff82158cb4e90ed829b53756769fba1f2d82593ad79").into(), - hex!("a68aceb80230461c2dbdcb4cb7793df850424be0bc5db4b51aefcee7016cb7e97a828f0526af69c07fed6c89e8cc7bb8").into(), - hex!("954e8e0724e43816d6b700c4878e1891c351d05a5107961a44090fcb227f74b863dd910f46aa5c6b73ccb0f86e4b04a7").into(), - hex!("980690d5c1cf9878fe22f70b3eed2cc0684d101d21050d0cbaf4d5d8de156f84332ab209dbf35db2eac422e555052c1c").into(), - hex!("9127d51da1685078478484690c41585dcc30cfeda6b8a12979524430f91b32f7677b37e277fb2aaa87e9443269eeb46f").into(), - hex!("93a6314baa857eb753a55b26c1f31d7f0e2a87eec6cf1074fe20540086a0318e5a065dae41a7ead7ffafa4fb454be5f9").into(), - hex!("960434d5e046850075350a7bf8ab242195c962277e6bbd3b06b4b5b011206c32bcfe0aa656fe76c901f2798084e2a0de").into(), - hex!("9107bd3f48ae28afbb692410f542ed2ba7b345a112e0f99e2a623d5ec1683e151c342b5e0c4c69f0f783c66212beaeac").into(), - hex!("ac88e761cadd7049683712da0478db8e7a3222443c01fd54332ec88fef480967a75cf355a1a9756680439d5cbf7bd7ad").into(), - hex!("867451c08c2bc4cdf8f13026a55fa6a41049d8d5896abddead0239c3f8dc5c9947ed2f16db422a2924c561822af23e7a").into(), - hex!("b08bd0e718c4f20062bed5f644e7f9beeffb03f7eb355af693399fa42cd2db8138d677b67ed5b9c2f7f878c186213ce7").into(), - hex!("93f8687639e65293e33b445c7c7732db6ed898e3cae4ba6223327f1a89e3e243999093b34eb4abe6b831e0fe2ab73ba0").into(), - hex!("917b9b228a478e0284b934df7a88e67e0a7c582b7c3ee03eb18dc8c1cd56d2b7cf0007266ca1e2d7953dcce9cbc3e02b").into(), - hex!("a27ac873f77d3d204dfb0565da3af5da8bf52dbb8e6d325d010d28863931b3622b1d26a47dae14b508bf56e7af9a529a").into(), - hex!("a5d6a712bac30abab56e7bbb136560fbaa22d1702ff3209aec6c396b153000cd5328b3278fbb0c249bfbd8cc1602c0a4").into(), - hex!("a8da7bda8601217d4932fa27d38c5eaa753e6ec86b7e1d1b6391617641f236a9738d72ab4a5d164f7d1ad1c855b25a16").into(), - hex!("86536d20bf65fc741fb17f2f25db39b36904c68fcd036743a05e2a54c8e240950877ee92bd46015921e2f9273deeb0e4").into(), - hex!("a263f25766c660224bf27d235ba58db9bfa609df1585628f4e9b64e27e517a4aef3ac74532eb9639b34a92ed8903fbd3").into(), - hex!("9205744f128987d401a6ce68efed7e585ba4723ed9156d13b0dc37344a7fc53e5a10c23afb943a0a9305e70e9595a0a3").into(), - hex!("ae02f9fa682fcf6fc4ceecdcc05308a6435a75a3261205e3d9ffb72a2cea31cd8fb8cd02c4d52dad5db2b150f98f3045").into(), - hex!("94405220851af35334574337e37441bd073053f9f5e30795d6dc2befea771daab3b2b0c42bb9ed60667fe4b9a29354fe").into(), - hex!("b83c0d86f28e65d5705f39828d278509bbce5acafb08a9d9b1b4092e3d5e8586301fa78bf24fd6bf0ac76aa31c39c176").into(), - hex!("90194c4575e9d8a1616f87c9030426ff5a5be1900aa6bf45006fddfdaedb2879afbc70e8f5026d945b833e5cb7029afc").into(), - hex!("84e3d4bcf0c0e12d3d3462e14a8ab5de339b3f266d12846b12e9fec3d9a1061d166baeb7a5d0487701751847ca4834f1").into(), - hex!("9184d66df338a788b69cfc906c803c1c10be678f715aabf0036064d514fddb0db9b6dc0fe35f644f1d300e47b67025c0").into(), - hex!("ade0f6d6a8a8616bd532775ee15b3acd507ca96c39d7d01efac09c8c0b0fdd1d903dc4b7ef5b58ad2b8f988fbac4124e").into(), - hex!("96f9f6835c3b448608fbe5ed83d81da6bdc2e117f4ec10c8cabfd3000fdb901b645be17a13a9ff5de2dc210f09f950b6").into(), - hex!("aa9857d7027117c5e6e9799780c082c02d9caf20ef77eb10e13fff28c913d43023351b5d0c8a633c66d440017b435813").into(), - hex!("b1fb353ed9b3ebe5660b70ab66d7fca20b8a272458ae902300657657c31a74506dd82ea8c4a66ac9a88b53b18cd887e4").into(), - hex!("89de21007e6acca9fb28e65ac6d7fa88b035c54f168317040226e14890e1081ed506c3bafb98120202348e8a0eaa928f").into(), - hex!("84447607a4c5b0f2a3a9b7db139385f78e6da9cdc4e5f2f204a0937a171160224ba52d399893592b6fe8ff1e8f50f17d").into(), - hex!("a80e2fe9b6ab92da8b9cb6ffb7c977e2ea943c32413973d450f8c0afc73a151d707e1775bf5836d874af6e7b0916a110").into(), - hex!("a58fb28dd9cacd89acb1d58525bdcedc01bc75fc7f54929d6f719cbeba5b2b518592d90069941108874bfcf7066b2401").into(), - hex!("8d3a51c2bf9e4ed5e31aa39992f2cd2a701aabfadb2a4d0fea651fd01335696fad60ddabb50ff1b1de51c84b151d0cf5").into(), - hex!("984cae055bf22d9ca4c76cbea5fdedfe75cf4e292ffe0ad11cc8ae7c84f855e275a30e7d59c5811209a44a3de3b6f5fc").into(), - hex!("92961871fc67017a58d738892c34432e39a8a4d7bc0670a5c1e49d54cdf74578864186b9d1d3d7e6c19644682d0a2415").into(), - hex!("b30e92227c2d6e28c5ce0db54d62f7ab6dd30223d10ebbab379432cf226e2085ef0f479122ac71acf45657f5ee88c3ba").into(), - hex!("84dda2f7fb086daaf59742bdc48e203e5f3d50eaa5d89dd4d68480669b286a22ccec6eaac9148debef245db12f06fb53").into(), - hex!("836596519baccdcd0ba79db40edb8b77daec7d5de7a345649277b14cbc71e90b4af377ce10f10ff39d14305b7efeeb1d").into(), - hex!("841345df28125c95532b459340b4e0d6fd8c8474bd707ac74a43a67cb3c6a01cfcf23e537601074732127482398a494c").into(), - hex!("a7e8758b70dcac26fc0b14e918c1c832973225389a54a2cfda8e8fa768d92dfb0d13cc0b5f73a37125971341e9a8cf14").into(), - hex!("a235abf403c4a1b9eae28e7965ba2bb30c341c2ac4c73dd48e64773c1c9a45f2e3d8700157a90dd86c9b3ea26d3c3dcf").into(), - hex!("99b765b749fce32a2caee61699f97499ee0c138c727b351b3216b9f3f17ed1a86b789c0afc1c40c2b75ceac6ecfe17ca").into(), - hex!("af7352b508841996d378e0f578e3e295169cfbe25914900142fdcccf5cc8fbd2aa60fae77f7f799e9326eef3491d78db").into(), - hex!("926842e802951c0d0540d7b1e0a540f4fd691b14f8bccfcb8d3dbe02a85d53e85cf13282ee03b293f6e0a066039ac17d").into(), - hex!("8894bfe150c2cdea2ce9af4888e7fda7ee383cdb8bcabcbdc7386aacf777c741a5044a3ca133925bd395071bcb640474").into(), - hex!("880909893a96275aeee3d18e3886383b868f5f052c0e987cc4f17a788267d5aceb9a495997d24016ee4746d5bf60e8c5").into(), - hex!("b748402c236c01e1a7b82e6534d08229a9c8ec7c3519e01b850badeeaf4d9791c0812927e567e2e4c2b4306f2cabe7fb").into(), - hex!("b08e56d486f4fd3fa5f2c308d95d85b74277b0dd8ae8b5cf65049ab6ae851d7f7751c2d4689e59cf9f62680085f98499").into(), - hex!("884410a6fcd1e4d3aef98b00ec834a9ce6125c6b44c98a2265621dfdb3cfbbf67adc1bb0bfad8874cde3e4967b178652").into(), - hex!("912c4397cee94bb7709a8a74db0c0745d259620933a6e2cd3fea885bc38c03ba3ee5496bb6696f87c0e8b03cbe2eda19").into(), - hex!("a9f8794c03af07bb9dfb9f025673a44492872ceb1cbb40cb8705d0a1ccca77973f3137cef7cf900cca13ee1189b8cdac").into(), - hex!("930d0e4568f4d20f1dcb91ccc77e1a8028efdcfa65a1af66d8dd8a3cb53fa6500c6f3effc4da2688867bcf92890bc6bf").into(), - hex!("a28e16da155bec2c58fec299d843d2b2f977535448e9ee3bc2be852cbcd4b576f23457176fc901f01eb4443ae1be89c2").into(), - hex!("987cefc37f2336f2d197bcde87ad265cec35f31403cbd0c93ffe05ef244e03f5f3b0d73a72cff8678616b92c5a62c8f9").into(), - hex!("a8a2d4122c9f23baae58f6710a1c56472e28502edcb7d8e664e488621e3ea85cd7566d4e833cb2b512b908abbdbba193").into(), - hex!("a461ffef84b591d1683d296bb41acc8f16767c3fa7c08ce9a5985334a589cf2c9dd6b906a6be22935f5c852eb852e5af").into(), - hex!("9670a87052f60b64c1c2ae035be8a3025e25f29375da4c4b653fccd2fa7535f6181b6cd3d957c13ef3d6555b4b1ac17b").into(), - hex!("8b7134509f80e6ad2515be13242eee23af860925e87850eff709e2c9aa1a63e6bb631cbed9a5f7df4b02b7187c4f1697").into(), - hex!("984a70924aaee8585e20af936fd96b20657fbd395ff169c3ada83e0d63dd6c1512159c64967c122c68c5ec65a311b491").into(), - hex!("a47211328259de9d86c370973855cf69beeb5afa7de2314fd840135fd415aff1ef23ff0b1e331e73c355031c8a5060ab").into(), - hex!("ab97de909f7ff52297480a61c06266c92de6d4b024325535fe0763dd9ba638b2a3d7ac2514ebe277d7584fa5269514d3").into(), - hex!("95229e6783a888aee0c6217d5e6de93c3f6ced0f7ff95cea2ab5344bebf549c97c7ccca7f7e5b674ccce30b083974498").into(), - hex!("901e0f2347cd187bf0fc4363fa17917789ff1e60d637f29ed197c9e7f4aca5e111f65c6c6e8d900fdc6520225291c6ae").into(), - hex!("84d495587a0dc640333271463d98238a50a0f02e8660cf9f74348428196ec3f00ae83e3728a9c90dc328da46d9dcccbb").into(), - hex!("a8277b5aa57b55cf6528e273a502ccc90ba065b541bb098810778057d98de1605c69a0c34b99475b2d8727458a48e3c3").into(), - hex!("b83d9b33418d97ba8e24e27440dec460ac84972ef1e6e60ec85579238b011a2ee8a97e0e1f322cd90aadf071c8d3f291").into(), - hex!("8a9cf4041c4c3a0429e8ffc51573c7bcb87ab2464c230de081f6e3fd7c6fa1079739e1d9ffb3011705f1ff9e47aab48d").into(), - hex!("8632d529041bd5be1b22d445729bbbbe71a1e0e0b192c556522c4f9da69d32c0f0ca5b1a5e15a1a53270970d8beecd5f").into(), - hex!("8100bbfb8909afd1b8ccec6da0080446f4d7cd1f14930882f91850817d8412f405848965f554386bb5c057302890b498").into(), - hex!("b9e254c52869128e008a9da43eb241214e50a716a5c43f0921a3c5821e596d2d7ecb4680f75d8644910022c1fa19fc5b").into(), - hex!("96cf11d2204702b1c922647cda480cbf28d919a39060ffc44d423370534dca12bd0f95bf5890a8c5d4b68cfc59bc35b5").into(), - hex!("86ad3261a8cd2265ae9f416a97e556911b11eb9dfc1712dbb3cca2fb1d626f2c83189dfccfbb77de59a59faa260b7aa1").into(), - hex!("a14d3327622b47db988317f01da569b202b2647c397ab9163b839a84a7f2fe1fe4649811474de25250e40ddc64168285").into(), - hex!("81a14d70b4cda1e84c887e83eaab1f6506111f7d9830edb3669e82266417a2c324e351a085e2518620bf48ce746622d5").into(), - hex!("b1e372090bb1c52c731a7d3f0526f8fcd6c897ec4bd82be649fd076517cf4ae404b49c74aaddb61a9cd5fd3bb56b5716").into(), - hex!("955b725f22f66ab45fa67ed3fcfec63f7c59837eeb2622d858651a0ff7e5803a8ff9720d5b62f003dbcf69066df8bab7").into(), - hex!("a81bc48a35e81e992e48c7856bb67542ab6f9dcf03a21538d065bf003efaf876d6fc7d9fa8d9e62a07ccfc6f153636db").into(), - hex!("b8b3bce9bc92d3aee3a57de74a1bd47bd9f48d7089d66434e4a241b4409af257d259ad83e6291cefdff4656ee26f598a").into(), - hex!("949ccbbe8addfcdac3450c6aff439980863f051a201ce2b39366930207615137755b911c6811dfec4ee6d4f553544464").into(), - hex!("afb976263602bc1912dd1d4e317a859dcc64ce8d0852fc6e2958a489a046983f17c009b1a5ebac0fa6cc03748de1f1b9").into(), - hex!("a110a5d3bd528fd69a10d7d814f4a17f029d0e5a82bda47aedd1f1a25356f41ef57e8b4fdef9ec75c73e0b4b94d32f28").into(), - hex!("957dc3e19ac44bb9d9a3374406df81be536c70b3a021296889ce62b1cf3c09f3b44256b0ce2863b1ff45ae1795645386").into(), - hex!("a09ebddbffeda568cf886083adacc514763b40f6b066a835b5eae38daf50dfb3b83739340c71a9047c7f6cc6247467ea").into(), - hex!("a6c21108dfe4e75d2185824ba174d23644a47ce0e9198e7ad68057e36a50c4e56a46333dbb6af26e272723b2dfd43fed").into(), - hex!("a83a1e03d69fed90159bf53a8be6c252c79fb4d54a88504c649ce8b8a23529af9e2e2734b23d0b6362d5764d27b9e3b7").into(), - hex!("adc9315268f83a32f9cdc7523174e980eaed3a6fd9d6eaee1b57e9bc9e80971c6cfdc9b8962aba2c9f4ef2609b004c2a").into(), - hex!("865e768e7e52448c0edacd12b1a1169d95c95d5b3cd1293170297de62ce88c4a5f6f04fa995f940da49d765a0553f870").into(), - hex!("ad8c7f97b9f08a45bbe3bb929b7dc7a44809a399fa78d0b39034dde3d7a83de6d8c9198330f19183f68bd205dd77229b").into(), - hex!("b7195c6565ced97d530e3377237b5ecd4600eaf042b62e4f3d197f9ce098b5f37087e8c70eeb86c69986d676d98b679c").into(), - hex!("83170aa2a44c4f2f62adc2f84a0cb1e4d04227fc7e62328f0c195067d62301f9e2464c8567439b0f7bf96be94b52401b").into(), - hex!("80a0215ee3493a68dca561e0ac101a8b211cfc4537d652188681a2e5466e529227c3f6d66ebdaf02d5569e2b044153fd").into(), - hex!("a40de832722bec86aa87fea0b9f39aa763aaa8bdbc257955aaaeb66b1cb6e43442bb7c9e677c594b35dcdd50f6401d3f").into(), - hex!("ab84c7bf29169282bb331ab5613299e788eb9ca263d1a33140f37a32da86e2cd0567738585665dc3ddc1cc1857aa3ac3").into(), - hex!("acf03e9d56ffc0f3e16cebfb8bbb93431b2a453fbf2c1ccde1c4f57f6851f9f0368d857d34f7bf11d596d5ebe338c476").into(), - hex!("ad14295328304d047ac82a88d281c725019473cc9791555c65e64d65a0c1b94303928b8d8c5b64427e9663b266c480a6").into(), - hex!("b19220492bdb0603dbd8bec451f0de9d76026f58e7334ea15eb2c4c8e52bbbf4a000c144714f4326268fef40d7b2d49d").into(), - hex!("b1fdbe9a2039850b4c844f89517c5d6942587851fdf4ea8061d267cd6f7c7f1b69d2de6fde9ed569201d717ada570e52").into(), - hex!("b5633f49309061c4765cb02f235536ba94466b2a5ccbea1e23c6477c660b2f30c1b2560e543b17427b685ed0e2f96671").into(), - hex!("b59b45990024b0e4ac41feaf6bdcff6cbe284ecfa9c307a54f7920a6c22bfa2c918e069faad83a032ac16dd49020db51").into(), - hex!("8882b185880f34686f64acacb73a88aa74ac2ccc847c0c2fac57037c51e58e384cffbc59c2f7951ebe070470e294c3d5").into(), - hex!("96e02533de5b57bad14c8fe8e84e242cef7ab54c354442e41e8716dc72a9896f36edc48dd6f3fa3ba93d51c0e9781033").into(), - hex!("9362181d56e680784de61e9b28c2bccc80b0f84a5f50b3e9c69ce2cf712ae39a694176f489979e0b04051e0a691be7ae").into(), - hex!("a5fa393940c20cb6fa4a8281ace2bc0d35f275e480d6cda2dc65a3e583020bb4078ab04d009ef6a5140e3c38625dbaa1").into(), - hex!("8a69119339917a40d66da4777804a9eb320dc084ce6e04e76a2221d22a6e33177874b451d8aa959ac17fee842314a099").into(), - hex!("991c832364005aa1055aee1fe94f2ff3266443e2d6b58ee2512556c923c18daf7e7df915b578cea97ed8e58d761c9424").into(), - hex!("ab8d6c9467884775507ee18d49849140e1d100f90b71329ef0c742a9ca3fe7325e99b6cb543ace9a2132d1a82997692e").into(), - hex!("a28b5bb43d32cecbc38aea97b819b8ccc802785d8f109d5501433eaf25f4e3b2e01dd658c79a0ee8268a25a2cb1ee72d").into(), - hex!("8ca2f2d695118a3aa58b621ba3c821c417fc50acc090bf4927f814c7293e319a3bf9f7fcf45af0ac550eba44c42689f9").into(), - hex!("928f55fe9ecd86431cbaa3314a81ad148762abda6e5df510557a4ee93bc8f1ad5c3c7a119e667b6abc5a37c85a14285e").into(), - hex!("b6d7de66e54eaddeef21663502ea0cf279de580bc8cd70bc02375ef7926779e1e30e5e925a4a3dc45decfe17291458c4").into(), - hex!("87783bf20a787b3eb003eb908b25817319833aaebf999867bb9078ad33184e5d454d3aff2a19b79facf435bf6f208ffc").into(), - hex!("8831fd0335dc3a2bca66e05e7f8a9b8a13bdd905eaeb989a294b74d270940e1e3375429a7843f82d83c8aae90bd18a61").into(), - hex!("b13c4983241a6c4fc50c5c3b277dc7976c8b019a70c6183b994fa37f9e81fca4b63cf72b6d61a1e875dbff726778d589").into(), - hex!("86a78f75572a91cd25bedf08fa78c488314a38a423f3244d65eb4cdbe1a5c312f9298e5948581e2f4999a1d7fd73f9c5").into(), - hex!("82ed417e7ad6b64261805c25538dd8d31c6043d0a67f2c6bdebaec5735d407b1e3dfb635b3bd2b01962ea2b1eb891503").into(), - hex!("89dcc3c1016443a20bfd03ea6ac779fb383bc37f86ed4c2d5dbc873a7788f142e0c8f92d8672b4e959d64dff8a5d05d2").into(), - hex!("8ddf224a432c101c284b23196866f781f92d448d71f302028ac53e3e7de4e801f0f32c3679c8988988a583b0af83baf7").into(), - hex!("895154e00d3db7e17819c125fb0136941c3cdf4bf60f784f4d0db9fdb0d37b38f3ee5989fe73faa26cf108f5415a5c18").into(), - hex!("8515bd736c10f94c9811348fb6b6dce4bd321984f5680424a82acd5a16376b3f900fcec76892819169ce8bed8bf38332").into(), - hex!("a21bbe6ef0ade668ac1a858fe41326114bdbbca2730a8eefc86a7a218fa6702f765bfe74324ea79552352acba467323d").into(), - hex!("b8eb9af383a9c7f7c3bb365aac49db11d15251a05fe2839a10f6c9ff1d8c1f7be3ebdc65becab5cde5bf36c7195a206f").into(), - hex!("a9a5199d0d7440373ed7e853549a21ad353ecaedffa0781a568fdf068cd0bb388652996fecc7e273235cf29ed11b18b3").into(), - hex!("94f283be3434272ee16693fc97b650428a717f004c8a00a4661c9be8f143c734432b4b555c8ba2f7eea23a3407d55474").into(), - hex!("86e1a2e9fe8f2ca08c30c120f94923d8d2f95fbc7dc4c6c0eb55cf539d3e321139c82c97fc5fbfa9d893d5c4ab22afec").into(), - hex!("8c650dd03c76aedb30450eb4c5080927647f30f0549f30d9cc819fa885c0ab770e96b1aaf8a295a6ac2e462dcfdbd1dc").into(), - hex!("92ed5e747cb4233916f72db40e8652b2e6e310499cd7f38f7882a48ee9c9f02ab05b77031dd650d77fd90ead3469b99e").into(), - hex!("93bda41c5fa1ea11c910fd5a0b86acc10ec46bf3deaf4af9b5c06e02ed755e18b20f35dd7ed3a116d94604fb61fa07d7").into(), - hex!("a65519dcfc76da1da42201cb764eacdc90bc7f00844a20fbc7230c06ab4e65bfa5cf93c425763370cd66add96ebcd821").into(), - hex!("b7e8a8c0b69a878c6a239b39081a3bc0ae5fec8fae87b04c3c6ac72a180863069fedfde9a3c30061eaf5d3a073f89576").into(), - hex!("860fbf4df74f9740a3e8c0861fbfac5911439487f8ef526f5b7106f31c2c2b26a1274cbfdd201c1c2fe1e667517300cd").into(), - hex!("815f3a62ce6e6a32d747c9062eaa1245c3cf4c8f89dfd47154ad9f1d5a35eb9f03b6d51996cafde74d7288ed80e4e7d0").into(), - hex!("8adc177c72d0f15baa253ebe70d880f4d4a3904f3b702abd7906e75743fa1116cd2e8908b3e279ddd9eb5d06070be77b").into(), - hex!("abde5795e77e2cb0d54353424eead192935a355677ee268ac3f3ef2dfa3bf8f67dfb9bb2a9b413fd942d4da4a9d9cf25").into(), - hex!("8ff3b98caf882228dc04518c13ba79beba154b60e0983e9c24559bb6507a88111c13e0bd88396c0cd4d61d3e608c2a7d").into(), - hex!("9748805773ee7bcbd657c5ba013c7eef2ffcf4503120cace092ebe7d207ded4327c4fe9922c39b6073b2bab5679b1524").into(), - hex!("849e89f31a8eefc72bfac10ad6c3e9061d86f26528c4378ec041d48898458e0c352b1de2ba5df1d813f3296c5e28ae90").into(), - hex!("a569c0b3bc7c309644ccada9e5f3b24e9aa8236ed911178e63994cde6b51bebceb79f03b1a83c9067791b521ff0d134b").into(), - hex!("b798c1c8db7a378731c3f98a35c4305b580aa8652c8dea8f965939658a6e9a7ae63a217f3a9f31f9e560c32ef20c9622").into(), - hex!("b3739e6ab5fb858bdc5ea462eeb8cbe12fe29523f3bb6d5618e453264ac45ad5567122d8aa8f7b5f435a27cd9fd0c3d8").into(), - hex!("b790e998fb12afc88ae5ffa4e628deb2911ffe03220396a42a07fa1232c56c00696f5c6e45e97b4c5eabd2edfd8e0a4c").into(), - hex!("ac9220c199d688bf64b776660a3e1eb53cb7b6b128b554ded8598df9d094cbb23690ca69a46f37fae656e0006a39f642").into(), - hex!("88bce3a41bcadbb2c8bc8b28a04b6f97ec35565b1ff36447563b1441d774b487eb18ad9da6add60c26e573e7e5efa269").into(), - hex!("901cc12f8603ce3e694b4d97b0abbe516f9c6127b50db33d3cea0ac659d8c5419af3bbd103653a8fa39ad56a469a6404").into(), - hex!("ad31e6be321fbfb8b0aa5dfb7ba3161d03484823962eb42390e5f88ec32d489665757d6bb7cd40bb032de63cb8f0dfb0").into(), - hex!("a5a0cf6a24042cbaa731c8a44241d5dec2e119b3e68f12f87b0226c6dba1e988f66bddaac6151436f635d063bf43f3da").into(), - hex!("97b91dda4a3a38a92aca4591ef1d1a8ac52bbadbe10b0561abb2bef981156bdf69a772544404572e6bb0bab6ea27e046").into(), - hex!("b7f329df165088b519c6627570d93c7ff64e9c6d9a632d157af7d975f8efb4bc3e202756c6a3bc9561ff6f89a2970b15").into(), - hex!("a2e51c8852fe9016d8d40c7130e310d83704c677d2ae1498a2db5e961d30b46c996d1f18dfbe375d9f8a26626914536a").into(), - hex!("a7c1be5bdd1bb5ff6652975ff259920954daf925950590c752cc21bfc3d93a03275bdaf8ca2e74016ccb8b24c5dca93c").into(), - hex!("a3d4bbf3982d98bd044458045d2264aeda1963729af0f0e0e57f8cec34050f7bd14554290c17a0daa3b6e802831fbbcc").into(), - hex!("aee136073123f8d066f0dcd93f9998e4c14eac13bdb33b6d51d7b35dd19aa16304b64c4ad696229033bed9d6cc26c5e4").into(), - hex!("b16116822a16ff076361b6a6c886c1845eb371f07325e99842e9d61092daa35dffc7c75dac6cdd8af7e7778e982ea4a5").into(), - hex!("b8e2a14a4bcc9b4c4b33b0e5579f7a18e77464fa4fa957200ee0dc31fe21053880b69d4b09fe373ad7dc78b5c087488e").into(), - hex!("832b3326ffe8cfb01ca385aec35b8e262cfbdd215e2db56aac7ca963587319ec57566eb21f85d9fd5837a932d1e2a402").into(), - hex!("8bcc0517b767763b136bce2d66232080a2c46cdd43d8b7621bf1e696abc08493e5b5af5d754a0e41a3b17702bfcd64a7").into(), - hex!("b743413fc68ff86632b069ec30a3df4eeb5a8d3fc69555ec92bd32ec99e47f9874dbf2b23dccc45bf6d7d0b2781e09b5").into(), - hex!("931380466802e0a5d57f777b97afe0174f34c37431c33bcbc7320d9b4ccb26f44d356a307db1fc3d2f70fd1a8735fbdd").into(), - hex!("96f5b6d547e189eb3a17995c003a059728f19354e1939243456beaed8f0886a468c06ce962af8558f614bd9f4d070056").into(), - hex!("82f07b3050772cbd0234880c669bcda205f8eb604be7acc264f3ad03c491b2bfea2e68cbf16311acf835618360243a8f").into(), - hex!("895712c444e4ee5ba3a82502ee2d2e1cc121d47a3d06ecdaea7ad9a06b70f6686dca7ff5791509d891d3a3438ddd6d9e").into(), - hex!("b61357419b1d65649e79ccef51d68d1e7c746d77c7f32692b6ff315d9dacefdee2a527816ac3118e5c80e00212725c87").into(), - hex!("8da18fef8419cfb1045edec1458dd95207dddc19a230b81ea108eb225ea8f412e0bd11be645065da0bdc7c3609f01db4").into(), - hex!("b75b0b7904987e43457f78c50907a00fbcd4de36a93a9ee3f94b642bddaaf08e2e4575242b1cae94000ccf0f56708698").into(), - hex!("a50a194cf3c97eceefba46cc54d5bbcf65fe4fac1542d0057d1d7a509fdcceeec8ea3354cd79ccabce7e5f39731dc04a").into(), - hex!("9314bb4262b49b7df32d7836407282de478790c5314b7c9162ccd0e2f793876e4f6f31e27f101a6a9acd9ebfca8363b9").into(), - hex!("b8dbcbc94f9823e5c0066f021a97e3de744d749d485f4c988f1a823e0ec7ecce85c08767ab31028c12476d6f601828b1").into(), - hex!("8bbaab1a9d1d8fa40916ca36395ca0f4478acd9c09d465499e001e923acbb563d32c775dc2ec91238a6909f6a65ed49b").into(), - hex!("a35fd689d2d8dd9ecbf4310236211f4be048b58b5d7d21ed6a52dfbc52777f1bdf67ed268dd4b24b89033f9c2b7d769e").into(), - hex!("a6a846fb55093e6694f5a0ea5ecf604c4cafcc9f64c079eb45ae6d3f10fbc16160a44e859ed33d1d5c43b17824b3424b").into(), - hex!("8644fd847fac9bef7f89a6f5ed1cc277b2014a84f018c3c5e84d5015d83ff8ff59667a50e1266b558b55b8fb1429a450").into(), - hex!("8f8417770ae6a803dd7ce350f054e644d2767fc01c2146bc02f8c9332f903659434c5439d18e6c3747c3701ad2674ef2").into(), - hex!("8d4049392c317213a9c01a7e7eb9d7ade9b56db4c1cfceef92c3c3ae6656d235304ab7ffe8741e36ec06018fd9d15fdb").into(), - hex!("80d07fbcf80ada85de649ed391316c6d508782feb732556638be9c8d9f5615407bacfe089ed1dd9354fe93d25d11344d").into(), - hex!("878529bb840073b1e34f61d7586f0b2080e146a3bd56a7e480a0c2cda7b60ba912edf826a8bae1fe19b13bfcd307c8a0").into(), - hex!("8517253a1bdee7e758cf2fdeecf8b4c6d03118b553df8ee9df9690f17a7fab27a1ee84e2abee8d4eafd01ae0709d50c0").into(), - hex!("ad2fc8c3d6a511fa2a633f668158f3f94647de20203cdceec624e1fd44d29fbd45eaea2bda48d7183417a010bf95cc0d").into(), - hex!("9727ad51576e537b0fca4ad22f305d29f27ad639487a52796ff1ac828072df1d9e82436d26d031423cbd7189b1fe2132").into(), - hex!("ad77ca7da95238bb8adadf7f62d45ddd299a266e1b27578dda99cfffcac59a1ce56ce46f4f01799722660b95278d15a3").into(), - hex!("81078ae384c19b931512b23935618be1f486cb24f7fd1173035f3fa8127b8928d57bdf22290fecd8fae851537d1d3c6a").into(), - hex!("962c43e5f1c013f10f687be4fba76fed47e12f9dfbe1b0fc6d974e088070fca6fd4c73108f58df8db4eedc55d02711bd").into(), - hex!("81ac340c8e4e2fedf47bd19a4c00af48e00f90f450190b9441b646c75194f69f870901b5971be00c1838bcb83303d986").into(), - hex!("8d60297a19c44b4f80db0e962f957cccb23095d3955d24f26ea76150a53f3dd4224199141edd352d157dec88c463e122").into(), - hex!("8778c6ab5b767de7b45e4afd52e9e31e3b27d3ef440cc472e2f4e28862585011ca0e11b530c7dcfe41950ff9d6ab0992").into(), - hex!("a32a7c9c2795d12bdb3d4261f8f70a0b3da2eb5b0f36c1323c396dac93f649a5f55e695e3ebaa764a800b26f2c7775a7").into(), - hex!("b3559513994868daaf9437a9244f36b0377b7cf5ee11df56eeea7a32e6d7fa89306206aefa282a6586457855c67bae48").into(), - hex!("8be83d66de5dca42ce53a3f3e5a11cae311e337523349323930484a28e769447514cdb79dcddd290c6161834c499a78a").into(), - hex!("b9076504677afe857b247088de3313616a5b307ec3a7864ec2aa5169471cbb3beaca3c5b1cab3056f6f398c08d20cca7").into(), + hex!("adf5a4907639db7bdcbecbc295b57d8950b0abe34ab17798686643427023c4f3983550d1496f81a27e52b070e4f4e6ee").into(), + hex!("91b036b30405531cacebf5d4f7e939b44438bb9942123ee55b44453e32febfbf2c846e0e4fb08190b01a000d072dcaa7").into(), + hex!("a86e70f00161ec6c4b780b4fc631c8dbae979f1e6c9ed037dd0745833ed6e3e18831478eb4753861f339293c0508f4d4").into(), + hex!("84196b1f39fba1fb7570074e7dd2768ed5c28db7f91a6374e413c8fc82f97738af771f90496526088bfa1ee2c01ee299").into(), + hex!("b9a230fc12d85281cbfcc7f5e6b13ab17b3dcbf0adf256d031c01acb30734d061683d40fd62175da73a621440bb04367").into(), + hex!("80b8be5a3d6f39aa7362c5feee9f89b75d1e5c2b485ea9a776c60fd60dba611e9bf5ca8b2528f42651b3dad212acfe77").into(), + hex!("ac8fcfc40028d04bdbea87b4b335781e35e10f881bfeb07b94c538eb37a43b18b1a04aad3dbe80bbff6e128017251f2e").into(), + hex!("b0b2136cc729b7de8868c02de6247ff2a68694296c78f088ce967219f08cfb7be9e1830e2630b10ca650c715d85d89f3").into(), + hex!("a70627c99777970eb9bf3268bac06bdc41c2ead41b1b76d30e7fd2aefe83319461d03aaf7ab93150343be9fbd2e48e7d").into(), + hex!("9599aae109d31ddc9028c428a148ea9ebffdb5ab6a684895dbd3772c1baf947c8a255e4c7ebaedae2a9e046219d80d76").into(), + hex!("8652e099adb88b2a25ab64fb01314e24cf26dbc4ae110d7fd73d74a0e0a4fea2ce2ce87cb1ddb7c0b9fb50cc6afa2153").into(), + hex!("83ba74c6e31073865eaed3c38a8e885ee715f03cfd6e36929655b6aa790d8f676c4ac4ae27f963e311d00923357eb087").into(), + hex!("86b05425d880027fbde9be3ea526283c5b958ccb31eff997d9d7b5e3b70e2d011ed95f891248082e870d55704a471deb").into(), + hex!("a4eeb958121bc5be5b1a68b73faa83b19272ef2f2cb627431be08e9844ef9d4548b4208670754d0954e5b012e3933859").into(), + hex!("87b0119e4c54aa2b4f8260f9ace7722788578bc6d822361d011e751caf13be5ca94b7d5842df5c16e52bfb4d658a405a").into(), + hex!("b696ec7f5dc82655cf027f5827fff3ce39195c1ee4ea9fba1808880cdea16d6086fb583edfbf66608e4f33211ddf9f27").into(), + hex!("a69bafcb3af59786acf009cc31e245009156a7e4fd2af98cdf2b7e63c39aff2baba08a338cdac93e94f6132b2cfe7a7c").into(), + hex!("8aa0aebb24b8c62168b255b6041474e8abf0d589a7467bc4712d910a9c2d470432d251e336a80dded27c0e9eea43aebd").into(), + hex!("a08d6976d3579411080957dfa2ca9487b1c4d8dbcdf640c1fea0a46f2c0228c2ddadf0553781c3e0dc5c7503b1bf29a0").into(), + hex!("a4abccfcfce6754e4d6c5c8bbad6668a55dc555ba99189936385e4dafa0435b323b813ce69f76e24299b5842c244139a").into(), + hex!("b89e4fd2dfb46c2af6df73f7185693ac535b67ab31f2805b1c24f400e0068cb32aff164b53668512f5895883189f7c02").into(), + hex!("b7c221a5884d10048bf9dd8611fb5231ce444fb756e59dd60d18a2332e889c014b27d739ed6012ff86056c04f36a87f1").into(), + hex!("a82875d66a4da52d6eac9dcd9ba9c728332253ad4b83acf1601a34efdd0c398eaad4acd1a948203d1bbd4a17d01a7b56").into(), + hex!("8c0a8ec162b3d48ee6a0f39620432cd67a1eb33a6d6f7bf1aada4f24c7498cf2e2b2476898f14c875f5efcf439aa0bce").into(), + hex!("a4b5d6451ae5baba3984bfbd5eef59543bf7c923662ea182cec6bb29aded9afd4c89e618ff756b5290506e0bf5a7e690").into(), + hex!("80664b43e3bd2f6e8eeb81a46cdca4f571499f3f0c77eb007ceb33c5b3dc18348a68cedc19d9967117f21a6c1ea29060").into(), + hex!("9174e46939c6915c757e793c9a02e46ed49d869216b720d0924b9697d94098182cad2cc6d4caf4cf140445377f1b4c80").into(), + hex!("b6e25cc134e089d306c648228d84aeee9516c8a276a2d37b54b458314b8f8980d49614550e821aac31000a5e7d518fca").into(), + hex!("ab1ab623a70f1e33cdbee356530a6f8fd9d00b2f9d8f94c0854816e5dd2bb8b258b5fb7a89ebc0725d8ebb74395847b6").into(), + hex!("8e75ea6f0678abfe1a7a9201c9fde992451327d61290fd803b3a1cdf2f7537fd7c23e0e06af5bb886a28928d0baba1c5").into(), + hex!("b41f4d4421de7b94eb9bc61602d08d77dc3f5f5d025e04f44c1426f14e8f707031b9e1d3a6e92c200f54166b2040f0a0").into(), + hex!("a8fa0c61435b851f9bda4da8dae0d544984ba5c0fef338eb6896b9c08306c3e2aec0a6c2028da319f210387320df4f73").into(), + hex!("a884af449df4cbd39e161de10f9d1f645eedfae0d259ddd84347733836fded047ca079916d365ef3d93fb354c8c795a6").into(), + hex!("936970bdeffc92f32915d141ccd8334df7966a3cafecb6d33fab9f477c389179f612cd6e368b615a98112d71756756aa").into(), + hex!("88dfe631c1e16ec3634e06a83a857ce9c909cb5b05d40490e6d02e553dd3bf213f0e178d31b4d913a4796b7226ab3ba2").into(), + hex!("a0c8357b4fb9c4431bc88e6336c2218590a7cb351ef4405a80aa6d352912f0b3110f3a09eef337bfe98da6b0841c6214").into(), + hex!("a7def54e08e2cea7def767d1108bc5c24d64e2dbdea9d07f0c8c63e60eec2db4e095b4a84bf6a4822103560b0497d1e7").into(), + hex!("80991c4f933985d9662d2e047187f244dcbb79606410aeb66ab250b2fdb9bd9daa392339e9b16d0d07648e847b02f942").into(), + hex!("b63fe559e2b4580238a0b0ce52ab8258838c2b64c1922c56b64cd65be2f88c140cb4e6ce96932e92f1ae06b20ee9e613").into(), + hex!("926ece3480c5c1f24f03d8289dcac7d3b202fcda277dd4453294dffc2953d91c842653a9e272b76fe2cebe1de3aba63d").into(), + hex!("930d29990821d26a748018bb6998488d5de811c8ed506c213c0ba346c8011e2d7c2235aa427a320129c1d016948eabf1").into(), + hex!("ae4e3fcd6c99a8f320dd4d160704db6baaae9aaa885f5d792212ea03cf06a459eb4a2730da9161ddd72a5e6544744e81").into(), + hex!("a01ae9d4f0008efdc5203abfdd0807ee7cc58c49cc5946d0b991ea2e069a224f0d99ea714b4d5cc464deb57372790660").into(), + hex!("ab17902ab255c575a133ed47fbafd62f898748ef6fc33455a2adcb2d4ea72c31255a9cd0c545d2ad8007a5a694f13371").into(), + hex!("86e2384e0469ab8ea9c5628d619d10336b3c0f334969dbc3335dfd72ed9899639fccfb5d1d9d6667a0dba20651584100").into(), + hex!("88ededd6ef3502be7c3c1b018cd814d4a8f98a7cf9521fe9cce6faaa6056315e22828397435b57d15e996fd15d7d700a").into(), + hex!("affa898a30a0dd2ccbe8d46c5a69dc1a8696b311094ac00e8ef6d398f6f132edb2d823004bc7895ac53bc09b6fb1059c").into(), + hex!("ac9f5bc3e2045a1eb356d88f2a62781fdb5775349c9bbdd9417b7bb7a9132a1cd42bf4986fcdc706eabbce45ab9f1cc9").into(), + hex!("986e3813ade7b9533ccfdcd76ea17490bc3dc62c8a596c8d07b246c28d7dea465c4dadda05111d2793d72d317c7c2833").into(), + hex!("ad4fbc51581cd520bcd0b88379ec0482c94b2ac344ce48a5facc1cf3e026edb088ce5cba5113f2c31f630a1fb37c5214").into(), + hex!("b499bfe19a22900c46bc0af1925887bfdd62455a3b85144e44b9a0a3756548c72b4f5c61f21c15f5e70b627d9f53a9c4").into(), + hex!("a5f40fcbe99b494c6acdd65ec3516d5a4a784ffc501e686764bf655c1f2f4bf784bac6b85e961d6a5ae513555a638323").into(), + hex!("a44c695e5490bca1cdc6b69fa80d6540239e42ae1765bff39285d1798696574c409e27c288b3b57196cf7c1753366969").into(), + hex!("a1ec5d9b8e55803477fbdc454d9c5cc605ead24147e5b04a03f80558a14f1e08bd6557f3fd11dab06a2816d32138cd43").into(), + hex!("98957c2e0a82210e2329b60dac05dd8b219ca00b18206227b725d011bb2f8b0dc1a79149a7d49a9a5505301b1b3847c5").into(), + hex!("ac8df8b1b596039c24c185108c89ef4da384e92c957c84bdefdab923e4be7c0e9480d837e1ff2e6269828b86b0b9f6c2").into(), + hex!("9358e3a48d4938b189059c3696169d31339851a1f4205dfe4de423ad4b96e7015c0dccb8bcebb64c1c357b65d5da6914").into(), + hex!("af1ab721df52d8b106449aaed05761b637c38f4c5513062afa55a09b94c8b088fe98cf430be4633b4f2f818da545b37e").into(), + hex!("8b8c063568a13f6522fc66285ab116a06d5e226a72f5a00fb321dd9b7d0bdb53a6b46ac17a1c9faf468c19b128c84488").into(), + hex!("b537f79bf008cd16711390c188c52d8dcf23cc41990c82005de2b0ff1fa09de85d3c34328ad9124e108ec252ec667f70").into(), + hex!("b9e8cf06d584197093d4b4b1e1f745786bb1f9772c0a771b321ae2dccac167ea79632138d60d8ed6dbbba2accd0a3c11").into(), + hex!("a674106b2c965c708b98a9f28a3f511f5dd8dfe7b2b9ca64a29152c7fd8de428316638d5091412e22e50406c372d9950").into(), + hex!("900a4953af5a28ca5b6f789a0dab9a03e3e5b9a0e866465d371b871fc59ecba31b524b0fc414eb7467d4384ca1e4ab5c").into(), + hex!("8b12a6114f8e0947995d72fee19e9204a4b552a85743d5320c1942bd2294d52a2d6d346f5e930ed788fc929069733297").into(), + hex!("a118f4b631a0bfc00df74a94930d69075b83be0bfec2affdf5e1ca4762d40592132108a7d2088891e7fe078c84ea9d9c").into(), + hex!("b074d18f84787d245018a2dabe2f0a51bf2f3786a802317122982a598f7f953339468e0392665c3f3a6b8fb17cd8f72c").into(), + hex!("8e6230b8186009b765ae6b176eb7dbcf503139472c0c2c5574e3d608a49932f0b852e744d2e215c58512ed2b4e8178da").into(), + hex!("98cd13f8400ecc9db458cb81840ed6467795f54f25680931881808909cc661230716fcf8b3fc2b18f4c12d30c32d9e20").into(), + hex!("b861f89275776bd640bc7d0d347df31e784292fa14ec468a6b0e8d64a9b077b6bdae1bdbc56385bf8f5676ba62002606").into(), + hex!("80ac9088ce82fd7a90c91b24e5e91636ed76844303a3b1105bc284b4e9a860acca3207d1804200a55eeb3ef45ba97558").into(), + hex!("940bc07a53373f075128b6c12f59120bc7368289d5a960c55d52abb68e8444f6f830b07850d31a9ed137f5357b38406c").into(), + hex!("b8c5919657811270976eb45b9f3f09be798fbcf6b34ce7443fb36207816b6a84d2b945a6e6522480c2feed12ca980df9").into(), + hex!("8294e6ce7d7d3b77bf48252eb97cca47a5b9dff1b8c97f8b7af8034b938864f38bad932bfe44a9bf4df81e394aee7ef2").into(), + hex!("8d9075a2c42c1cf51e082ab1a57a66670f0e81af2a651aacac5aaaf3876711aabbc0c96e44d883e6ad8a91a81be22940").into(), + hex!("882aea71e4512d5c41b5fd6509ede0fa35a49fff9648d277b531364613342711b2c7520a5f8d58ff31b7fc9407f968fc").into(), + hex!("8a34a824cbac06cd99fc68f36ae09c6adf2d472fcbd378cda61b838c29ca9750a7f7d63d9b61d1f30deda1ce048ffd42").into(), + hex!("a4f027b5466de4fd633cba98d2c8c78db10f91c8bee76c32ca5a80c5e87ffaf19df84e675f31bb6c14ee733ac3d4a33b").into(), + hex!("b990db2d743b389132d4d8281701b348bfc52f707e6553f309e4f59706871142e6b8e3d081057a5c43243911148318bc").into(), + hex!("a4500c88a58971460c33a404a65260a9e21c4a345601d1686ecc352ab088b2bd93d30930383901fd2d042dd037286761").into(), + hex!("a4de9078286cde237b4ff2da52a0fc1b8fe7b931ac35b3033dca0b87b5c86e58bec951a66a7308fc951ebb70fd0d0bfd").into(), + hex!("a9adb6dbff69b115be1cb37d5ee3a95d8c9f466f059128b6ab197d4119f6c0f87d1cf4d14d4beb2a43f7913700c1d909").into(), + hex!("a8a33f167e473eb2ace3bedc1cac2281bc9f522a0fdf6a9eb365859b9116067e07b7c380e8ea4dd33a4fbe23e2412be5").into(), + hex!("88c3785f853a192c50c38040ed52c413084dd069729cb14d806223f8a51aef40c21648d1e03bbbca031ce811e1b708ce").into(), + hex!("a7db446f88ef0d018675c0e7be0e9655d098529ce4b4c92ad809ed9f588c3f6c6dd98267ae0efb1659dc16a29e1feac0").into(), + hex!("916fb4b864ef46a2f8f570364cdf02c93d8432d8155e7ad1a15777d7f5d5fab94797257d0943aed5f16033528a4290b9").into(), + hex!("b9b7ae2ec02b0694d7828a69bbd1fd6e9070cc217319dc4e8fc854e48f5ce6e133fb0d5492e2f87e7cb8d3d557f17037").into(), + hex!("8cc36ade2b8039ffd41459272091d9cc4c46a49a187e18e9e3b283136831724313ee6eb5954c34acf9ecf7d79c30dcfe").into(), + hex!("b89a28db91eb06f191731a927445ca64cb685a206f4d77f335f510eab3a4973eb1d199525aa12df17f97cb4e079bc35a").into(), + hex!("87fb2881b92d5d9a2555080afe033512fd93306bd25f4a841d034c0fd9685ae09ecd29d27523e8f18664cdf2127ae6bc").into(), + hex!("aaf63cd83256de5b8558bdfd7f5fa44b3b3cd767983484ee482241286f82c6f51c1de99e2c03c8c99e6d4a27b7379cc1").into(), + hex!("89b52eb17e1c2868a3da6727e6f122046739c99cbb6aa7e30f65d7e649d09540b7ba77ea3efad77be597e48f7abe7643").into(), + hex!("88d097674b763a770872f17266f38200a4034347756c5ece6f11fb841e82447a75f6f3279ba8ab54e668b2072c6596ef").into(), + hex!("8de58933f07ac60ae919adb4be0becfb5e6f7330708a39cbc4c988c79033f0ffb365ae2a6308c234c218f0e45ec1ce6b").into(), + hex!("a4ec080db7716a0eae593b0ca91a16273abf534b8d153232e4b7d613c9fd21081bc8442d6e57a6e8e026c66c93bf0289").into(), + hex!("b680857b566466d1fb92d78a09b75d93753c275249dd05a17702e48560e4df5c7f9ca68370847250fd001433972c8b0e").into(), + hex!("84ec67623fc58128f4504b071b53e3c0fc60ed07318febc8d450035567691e2e58468b6799e5f3d93536100bb4b5f3f0").into(), + hex!("b22ce364b11e164d3df52050d59085c29c398556617277349637290b193727e3942064693ba1d7bda313905908a071d5").into(), + hex!("876198b5734f1ab5f7ec0231110e9cbe59d116ccc410678d5e0108fae42bab5dcc7cd15df200bc71f471ecbeb0e80d68").into(), + hex!("b081fc87056c34a8a78cc34f308502c5b6509adb0b344e83227b997aade90d6f0f1b8e5302601ca3217ecf9dcfa24ddb").into(), + hex!("8fe71e517db52831a0c4adb83fc6524817b9a358fc6bf58c03c91d4125482921936391e54c767ad2f13071e0e5ea266d").into(), + hex!("91212d83807ca11b030e5ab72ec85a8d13d468c714fc97c20b5d0569c382ee270d2ca486c88354994ee54f02dacbea50").into(), + hex!("b022bf24d2ea893125f3a89186f444aa5f301333f0667eb5862586a5eea8233c90202064eaf9363f7b367a6dda15d45b").into(), + hex!("b1f45fa596a32d3fe267c830eb042432eec6b79efcd5c84ea835d7108bd4290fb64749ebdf7e7e51e6138fedb3cd2eb8").into(), + hex!("8567d2366c584d975bea34d4f9e2ce62a62765125326c5e56b5cda08fd2f2e7f769db47eb514d2d9324b645879c82a66").into(), + hex!("b4816fa77c76e1f75e6fa903a4c0c031ac7a5f5ccb5f553b4eed83bb34067480804c0f6f308f8d0fd723dbe2198b0608").into(), + hex!("a9ceeea8878d799fbb6d52dc4112ae712429b9213f72b284698d68ea6827432f34e51daae1727b5402916a836567f611").into(), + hex!("984c8ca226df18ec574e0fabd6dc9ab3a2e1b319c4b6ab5b19872239833dcf447ee5d720305b2385d65facd297704809").into(), + hex!("b02fc16b3530532a2373776e2512421d6d2e42f3fd3c3e71393706d74ef9324571c8c1ba7b9caf65dedfff2bad946d71").into(), + hex!("849faa2060a75d08850b54e06376f252d9cb4add3e740225ee37d23e29f80cb9f98188a7eaf6a381af4b4bcc9874b792").into(), + hex!("b5331ab6646a8be3bc37c5fec56a597b914683402828dd4098b189f245c638e063c933a542c0122f063f98a9468687b7").into(), + hex!("868d8214f26e14e71ae0bd514275ae9442760af72269790228e733005293019984d3d463c2bb82936193dfae8c267fa3").into(), + hex!("a88c6c4af4b9d285997c9b5cca7e22ab9b8e5873ff36455bab6a6dd4518e966079524f8c35391811f16eca421f588694").into(), + hex!("a6f508524a938fb49a7da70251fc8300192882a3fe784f0bc51027ef2193d90c75d0d0720f2f5be634d81f38f3d85b8b").into(), + hex!("80a923acf2aa0349b4852f47edec37cd47bd74447f2f91c110ed092d015887a6625d5f1fd1f5d00c994edbff1435956c").into(), + hex!("84ed9f1ee0db4c9ae55492fd07fdd44851a6d0209da5b521435229b1b45d57c3b835af627122756ad0e63e915c15909c").into(), + hex!("b4c4c1e6fdc418bd29cbe8082fd774f678dc28a51896a51349c888ec98124b7a522baf70b820ae0729696624f3695af0").into(), + hex!("a8cdde029503aa3e23776a67952b2bc954fc0dc06f07a78bc94e6408edf381bdadc29efe4e5340a9b7efe99a3f3b3687").into(), + hex!("ab02a92f5ee21035e6e3e40a026d8d5680f98afdbf82dc037dfa30a87a1c101387a0085da8474989b24196ff494aa618").into(), + hex!("986c88a5d0bc6ff4127e34e0a5fefc1290936ec88d1765e776e199601f9660a8425c1fc6defff07fb81576461d0ed7bc").into(), + hex!("abe2259e880aa8b587ac9a31f794895bb18ff1bbed378a70fa09388e5a6a7343c072401c856bdd92fc2f60ca11056aea").into(), + hex!("8c04c98815c0c1f281c8783ff8098b0d806039a39fb2f4642a08f821c02506bc7c80ba7a1f4b225ecda9971ee3a22121").into(), + hex!("87b7bb0cce6244aa1a540941f0ff5ae4126fd4c62bd98d34993380a35e1c9a9f43b561506e5eafc1ddb8aef131403590").into(), + hex!("93cdf5f956e8b40ca0e31cf559937b997897c137a411930ca28075899abb6c08dd6aad5b2bfd5c09f07613a6854b3be5").into(), + hex!("83ebb284e03b4414694522caedabb391062ba9ec373e94427feff071644df91635ef498dcd9351ae259c5b15d6edbb38").into(), + hex!("80747223ba06d6465e26a354b79c42ec0624d33cdf015da7bcfb31f7009d92aaf6321f4a921f6b38e0a394a412edcefa").into(), + hex!("967b4b10a341abc5c01ffd413103c6468e3efa32c8ddc7e8622fd3ab2a765a420e0be3c81e1da05679becc5bd03e59f6").into(), + hex!("8a01b90d551f26c265b9987c67b641d15bd3b8e5af5c25472037645da05d9d54c0e59bab32578eeb3c1c5889f4fd9aa1").into(), + hex!("b6b38e40e3fbb31b257ecc18dcfff2fd850a41c2cfa5a642b0c383cc1a86b2b9adbcb22130665f544f1d9fdf87e92dd2").into(), + hex!("b490529e0da56e7e4d4cb2f79b704576c8b6569e9960dafef059dac0144b29ec337f4beb515465a57414d8965268a3dd").into(), + hex!("8a3b14616bb721543bfe007f1a042e76ef068a6e4f8964d68dbb7a733ea92dfe4e51f4008aabaa01a8a3566b00d083ae").into(), + hex!("8b82dbd0d0592d45d6309c795beb42274b74d844cfc393b34cb6992e3b25ea8f62f777124584eedf482949bb999ca5c3").into(), + hex!("918226266d7f02b2081edba64ca4b70339b7a63ef9194cd77a214620bc25618495cb4335c0c3621c75f821e685af3f1e").into(), + hex!("a61f56310689b9f383b45e8c8c647bd7150fc6dc3be96afb464b0c67c6f8c73ac9941bc8a5b0e2093255c204646c94af").into(), + hex!("abe204f55b8dd101bbd554561c1a7b50c01b31c967f6cea18dc898a10021eadca3c314f6b7afcc2251682717540d2100").into(), + hex!("a0cc3fbc4a05e3b5f93f4df85b92c1bed221f21700d8faaf84e99954cf6994d0052c8ba8ab894503b5515bdd1460ac5b").into(), + hex!("a5e5e175726b31163e13447e360f835ca64c3883901fb1fdc275b487106b39fdf43b83ee8f3985dc85157b94aaf8c389").into(), + hex!("b34106e71862b290f7bb47e5492417b07b541fdba23ed474f29d666cfb50bb5a3ea137ab717a41ff769af53ab385a3d6").into(), + hex!("aab726a0317c365aa15ef9527e5101b1a90cdd60888b733cdbd61dffac3374f995206abd154d099b2dfa03dbe666d503").into(), + hex!("b3fe9956454604b2aa1d51480ae96182ad1a8af64e80adbba1034619090c23d0d7ddb4163f400399d5946babada2f5a1").into(), + hex!("831a0d4008865576d9d0200dbe80eeafa7e6e6d442a46ebf949f39e32ad311995535a261795a7e27f2b23a6d506b7a33").into(), + hex!("8d7fe284c9ea1a2dce6ac70e3f225994f65ba9791520fecf5359b80f7c32c1e45e75b8b787ccf24b83c79301e046bb4d").into(), + hex!("b00df7ea640dcdaec66317924090f49380edc5c669ef1249ec8a24a3436b4bb41be0edd4cb0d04bc6ffd540ac8efad18").into(), + hex!("aa55d72470c024627edff24f9a19ae958d6b382bab6a24581183f762d736ac10f189ec3f34a7a41516f81696352f16c8").into(), + hex!("99e172cdb14a23161b5e8aa80121d98e69506ae0ab956912eb2ed959b73ee901852f263cb65798554ec0ee35089b4c03").into(), + hex!("84ce8ec6a7debf3cb2e53afff7d1f68bf75b7b209938192c7675286b17489d7996ecd9514c5233af0a17390b9982d805").into(), + hex!("943cddf3f5a6dc04f425aaca25be44438aabc7a661476761de596fcef5746f9d83c361da3fe1f21227ee5b9bf9a3ac76").into(), + hex!("aa81e66cb01e77c5db882792e9d896c83aa418b12c3b5201e1937ba5b74bf5fda974c82f6f40e3ca48bae72ed93437db").into(), + hex!("83bee12657fb462a5988ee26e2d0ef8b11e5fcec108724f6135e95913d7f4ec338031b697b24fd7a650cbeb088b26733").into(), + hex!("ac0070705c447e635b8df509de9ae03ea9b0314fc58b3befe14c316cb7b70ceaed081aad115a2126ecaef630c6bbab0f").into(), + hex!("a1c9c3b6f28c14ba91cf063153c50253d82440b81dd8ef938e181ef4116ede0b0ec62844e1d7e8b387668ddb8644852c").into(), + hex!("b41811ee8e385836fd709081a9a65a33ae1571bf943937615e97d49aeec3289624882915a5f5b6ee98601e752bac1212").into(), + hex!("a59cfa6d60f5c3b62197d3058a9b42c66bb841ee5d67ae34ad452dc70974de0a56a770c4ee5905c0d214c3d81a5269fd").into(), + hex!("ac47ff714d42056df3962cb4494019c977fb6200cdeabfa3ba85ec7d7d70c7d3ff4aa05e26aeae6ec6a3afa460244ea7").into(), + hex!("83c0ff348f1d018485c18417037016ec592c249830fa649b27754dfa70b94a549a42eada20ab1c4de2a5a513d742186c").into(), + hex!("ac5ddeddc94d18cbbad0e1889a2b64e91b3f927d3eb666ba018807f1e4e1451a43498ebacf12fd370b62c5386e36fedc").into(), + hex!("91606f0315fadbc42b1b27ff35b5601196a7a8beec3d5c76643e38ef28f0aef0aba9123bac7ceff0b297ca53727edbd5").into(), + hex!("af9cd077736f17c89ab4fd21fa2cee63b16f67277e9c5d54663f6d5a7abc3141f3045558899da70419b1e92ce88eba86").into(), + hex!("ab0757213aa3fcdc326925e0dadc2206f43c53f7abaf34a077f1cb29427261b4bd9981dbd1e33fedbd77fe00bbdaf8bd").into(), + hex!("8c97d256f9d4e0f309522f3899c5f74fd7e8c4dab6adf4886e7b058b323e294229fafce28871fd39e5c43f28c670b8a0").into(), + hex!("86eb85ad6fb7a3d5cd9aa5b22fd648fe9db688fe663c835abec75a6bfb67af0df0421d24203083aeb8ccda06dfb230c9").into(), + hex!("afa2dd3712eb94c9097135a69573c1f373ee0d7916f4ccec5a62445726aa4c1548bca45038e1a44ab7c8b7e3ea22dd6a").into(), + hex!("91e82407c442937af665ff8952d8b7ce3d68ebf807166aaf0fd710b76c65b39283e511b3314297ab0f2a9c8a2d76ffbe").into(), + hex!("a52cdd05f6e254c6da7a00c9210e33a49658f035b78bc7f15b527fce20c3893d3f7dc27a616eb3e107da060df251b082").into(), + hex!("81e6ddbaad6a18404832d2923697ea8df8dc3b39e53390269f197b976b5edbad074639e1e7bb25ae87b00681973fa021").into(), + hex!("a776979b38184661cc36ae9bf99b98cfb64babe37b16ed7e16e33e2187af71d9f62af4fab2bf0671baf3172727741d79").into(), + hex!("9395a004323f4ae604518224292a1fdb359fe9d4ec2a2262f13fb33d90a9dc50040d03fa6315a5ab2db043e7e16fb971").into(), + hex!("81bfad9e94c00fc810c4e63042fed6dc54c7c48637064376d5a4df8c8d6be3c2eed335640bf45bb8df99327a7e070d06").into(), + hex!("b6b38236ea973f91eff175206c4328cb97335bc8e498d9c9a2040468885f7d8464a8a1168929cdcc4c59513885e1589c").into(), + hex!("aa14a7baeb7b6d0048bdb8c772de512001174f764b37396c6481bff5aad30abd6143e4654a3d80406f8d08948ff8145f").into(), + hex!("a7297d6c09873e481c04f2e9e9a07567d78da504d2929c8b9d8ecae1c4d919611e061caa632776a8716b20e031cfd203").into(), + hex!("a0942935f58ef26a111d77b1c4598207eb6e3414c106b286f1c4dd344b3e70d3a46595ebb657e43f0e71dfff3b532382").into(), + hex!("95dca5de041e96f8c64f945817ab1ad62414b3002073b18331e288878c7a889774468d3c24f04e0714958ebd79ebe71c").into(), + hex!("b64f58f4eea309ea03c60f6ee66107fbe45c5ba81b8ea397a515435a179ee86bd098cb9acab4f374d29c8a388152fc6b").into(), + hex!("a70fe2ce7cfbdc22183a1a81c779c6071199768ad9b39ad0727ced4fcea5fc79e9833279ce93e1ef16cfc6dc0ef4f15a").into(), + hex!("8169d05ef0406b661022af53dde8ccd7315b3e35065c568673bfe5e59828480312a8ad418ad431beee12e7882d11142e").into(), + hex!("8148070a20eba3b61bd168e00ae8262d698263a8f22ee01ed6d46d154a08708a85533f54935bf92ee6ab0c04569eb3ac").into(), + hex!("b5e4f8b8a011c9cde6a9338d7c751ce2828fcf41b40e140ecf543150a5b4859f87836461d0ea2ed7cd0e6bfb8febdfc7").into(), + hex!("aab7b0022a1791339fbf567e771c43e9a2a46fcfed394b7216b556aacdebc259e5fc599eca66b12c23467b2443fa9c76").into(), + hex!("a843e5929fa14bbdb5f370d28547a7b585443f4d2fdf8e7237fcbb93a5220d62c8033665996f36288127a2bb4822f357").into(), + hex!("92a5abe1a8d508193c88827f93156e84199b14731a68b0b434663e5b9ce8e6e3005ccefb3ad8330c56fc0898eb9334d2").into(), + hex!("948c5a4bce25157f5f779fcdd89bfb4747a6178d464d15148742920aa2ab7fc63d6989b586152e1e79eced93f8686206").into(), + hex!("8702f3fccf470a294946970f8ecfed499f5ab3df799601f872d7be3d9227ff78a764550fd1a97ab25b7be96d366c82e5").into(), + hex!("85c5f99e913f1cb67a30807386b5292c841b51e959a13912fef2e0f4ba84ab3b1c483dd5fd33e80774de19695b622888").into(), + hex!("8a903e39b9b46dcaaca4fc968b298430b982ed3916f8ad533ceef5131dd507f1188fbe856c80bedc7bf34799743fa86c").into(), + hex!("a91ecd938c2a399b97576c43c5d1621fe748732090e360fa1e3ddd145438f9569d39a7be9d032b435a5d14ca4c905d15").into(), + hex!("aba9def4db5bbf2ba185c134f7734feeef976573e20d76aee476bfaa2af389ba5576a1476aae2d42d5470a46ca3f58ba").into(), + hex!("91d3529480d066817c0111bbd92714a40472ed6c877df358de98f0258f79fb8ccd54a4fa8bab3b9cc15bfabeb620c196").into(), + hex!("8cbce4e674d90185c47225c587dac654428427cef8a563cb89aee6fdc2ae6f12a8b11be46c779ed9afe38ea97d7d71ec").into(), + hex!("ac684cedfa58b2adbb6a13a94aa8398ef4a14970f5a43a344986cab68fff7fd48f7bcdc0506026eb0a2867efe86f283b").into(), + hex!("a21a2f8df2b811550d6e115c095d4d6781a84ba25b7f4017adb318776ba7452f48ed8b83a6a94aa68d83f2226a4c0549").into(), + hex!("a0d96e01d937144627c695aa4256f1d1a16c708894ce854f5ac656585e6852a43c39080909e7029b6611ef519d9983b2").into(), + hex!("a2f32ffa61e370d087058cd3ffc534da6a917f75ed5de568938885cf5220d474c930ba9bfdce91e031aab3b3167ad362").into(), + hex!("aa6a7c0162520c6706ab0f6188b718c1909a4aa12e71afc1c2d40e51fe44f667db0e7f1f0cdd81594447e267720f2dae").into(), + hex!("b4f16474ec3f37765e8750729f3245167b82472ec454329c9183a5d5ec939041d85b83523d11f2b895e2d15586f81422").into(), + hex!("917af7d2995b6466baaea2b3eaee5f76508d0c117d0452bca6a07ecb87c0cf595161abd5bd31a904e05684e55475a4ce").into(), + hex!("93dc25ff6a8ed93fa40d198a97955d40a5f29e50fc6fa6dbad34582478d3d1bbac0ec5789f11a92a738e533939c281ba").into(), + hex!("a41c824ff14ff5ee486a6130dc6cb01043e59f71e234390d464c95ac49ceda8b5400079ed4edecbb59be2083d8f06da7").into(), + hex!("850da042d678ac0aa31dfe0eca861ce17cc306188f260195fd10f940c67d42c9431cb68a64d27232e989c9c23a6e3d1a").into(), + hex!("a3e223f30d9782fa1fae634497c64fc58bc8289e48a67c8517621918e2b921cba1e90b2b01f838ea36071ed89bf64ed3").into(), + hex!("809001b01c33bf49a97ab6fbdf708fb224879c71679a2b335cfbb3cb4aba3201a32113de289878606c9feca057d9faea").into(), + hex!("a10ee1706f4c49a9cb2fee4ec6a0dbdc883fe40d4e1cd7a0388f49edf1f5f23a38e6075fa5fb54fd8e77ac3742266a6c").into(), + hex!("8c96e17529d7051f09f93faca150f5313e4d7f32235a4af6d12270780d6c14418749489a2674c728095a56585e0ed924").into(), + hex!("a9a7bf56eb25c9bda003a70128117adca9c33c6bb24bb4c381ac405e014d9c75aed0d704d801b9feacdf81c3b7f0040f").into(), + hex!("ad53d11d31bb9ea53bd23d673fb26211ee39ff4442e9efa1259bddae866e97bf07b0f9ca44e166b3b85d19b5865b1612").into(), + hex!("95e86d1427c8abd87e7f966c2ff9468d0bc3f76175bda677acea5113b5bd0d7631972c4172220e3a72e0dad1496bc14a").into(), + hex!("b8894228542dfbbc6eb65c9adf6549eb4ade838701356e7d672c095b1f997be5bbf3ff19474ee99e81320efeb04cd529").into(), + hex!("88bc36d6d90424e86374499e330ce5afeb63164fe81fcb4d56c5c997e07093a37df33437389879895c8b2cccac28ed0e").into(), + hex!("8ec1d43488aebb9544ae0a12ac7311bf873bee05caafca5176e26d681b881ef6b5e3ae5d9853b33577cc21d3acfa1e82").into(), + hex!("aec567db9a542eacf68cf4b7b9682ffe0b385dfd192296f8d8cd9e1db9d7da0b4a4a0d0ec2419825177413faad458cfa").into(), + hex!("ae242e9e2c7ff2c0898f92e7e9742ee5e19376ab97195c4eea0487490068199d0fd7ea08b832c43e208336b5c77d1947").into(), + hex!("93447c215479b68442636384d29fd5b4815cff904668e909c67fdcef1cf5d594219371f62edf189d6e54f04872705947").into(), + hex!("87f993a564e69e132c6cc4874fefd83bb5032b98bda5eaa8fe9e1713baaf08486aea21eac3231028715e846e33a3fa23").into(), + hex!("a9c4eade07d3d51bf733d8357005e08a5f86cb44c3dc6b66dccbdbb67cb5727bb456d6092418275f34b59063b3fd64eb").into(), + hex!("8939e3cc9c1dd203d8079aa4ac0d40d2e1b85bd876616bc6b589b0bd187701fcc36c52d79ec7f14b5e54fff459c99028").into(), + hex!("978122dfec6fabe4f737a3c9326f2f721cc212455001ca7e09b65b70ec1ada1ae26d451632f31f648cbc65a3337250c2").into(), + hex!("8d1eeed7fb1902deaf7d6dec7c86807c4aa8ea1d7130d6caf01d65e36f6a30e3442a97ad6918e67d2e17fff4ebe7a97c").into(), + hex!("a16203ba484b5b02a1b210d487a54c3da41b3815c307a30fdbcda0c3f5f2205e16bc7232e1b8d57d5f58718ed4941ec1").into(), + hex!("89b4e7bdd90323c53aa502a9839f57133ab0cbae1cb133fd0beb54f4d7785988eab89eb0bcdf61bf62a29b341befb883").into(), + hex!("b75550a71a4144a4f23ee27d86c10c44e8e57c118ff4f9a2685762a98a3770a6c2d1fd9229f9792dd4e784e8b2eb675c").into(), + hex!("9171ea1599ae47b04ffc307dfe5e49da0f48835cda926355606ddff47b18ce3c224828ddb942e63dd8153c273105125a").into(), + hex!("8e0e78d069f4d51b9b0c370100a9d10e395b8f88d009e33ed7fc4959bf140176cc316843c76d2a741a3471d56ced5db4").into(), + hex!("aad6b97330e76b22781e78ebb2fb2e92148d74546cddc7348e7a7f0563b986a7553907c8946258cc343a15a8918f7491").into(), + hex!("a9e8e436356d44c945d8248d249e20f5c50bd147de94418d4f04e1f67be2319e4d2a7291981378a1e457874dc91a9948").into(), + hex!("800b092bbe1f56e78d766c510dfe42f0d6670335f5931b3f821c77689fc11a502d7c82d2d887ab21caf312f8e5a037f7").into(), + hex!("aa8b05f90da0056b7659c26171df70c748d7a8fb52bfda42b7d129df386de331c1fef9d5ad1b19f0452cafbb813c3ec6").into(), + hex!("a6bb8153637b097a905342895ec1c927faa92ef8d59af86e43864ffeb6b8caa3f5b025079ccfa83214332aa4f6b71a9d").into(), + hex!("8244cab3e6f39492c8fda490a363dcbd8af265dd3a158c2af0e66182b48fc2b49f473b402bbf0951b42da5bb669504e8").into(), + hex!("8696508e20c144ef2cd954fe420c60f8432529b97a865a52de5292215c448984dd591170d88c286d7bf5a1cf8b94ae53").into(), + hex!("abb5b057c6b91d51df313b4690b15a218dfac6a30a05041c5cf451f515062eb02c54ee6cf6ff2df7640d15ddc7a95dc9").into(), + hex!("ada583911773366a4ca0b5d407520a590e4f3c6628c6d050f2641655d1654809b886807c1efeee9e9ca187b79b7676c8").into(), + hex!("9730edb86b7161715296bd5267bba55d3bd956dc9f4c640df92cc8aaeed8ab2dc1ff74988ec2122f6c3ea57b6e30dd91").into(), + hex!("8da42bb48c6f17c0e96b5edb71ed5e937c9aa65af142234e3ce61403df7f6ef05a4309e92469eaf68d83afc5bd800373").into(), + hex!("b3cb17866a99dfd048c4ad6024823841eb6602c7e4728340f1167b8af3c810926f0eb3e1a0f51ed6fba4a80743660db0").into(), + hex!("af121178dfa05ac08a2acd56f895f444e56968b703ec6b6cfae1e836d78afe6f51021d4a415aed89913df49bffe27ec6").into(), + hex!("958d5dad1aabe840881f29617dcd2f759f220974515507b0a63b3487b4cbfec69be7d22f4f7f45d693101177ab205303").into(), + hex!("ae6160e53c2c9ce5495bd0f0476703684d854048f2a8bdfeb6cd1e93fda36e44d879531f213feb1dce706d35f9fbb04d").into(), + hex!("8dca41a5808d3c75f41919cbe65a226355df9ebc7c1a2d2263d654bc66d1f5786ffba84a1670a7369258bc92d6bd68e6").into(), + hex!("81585a607df11d0a5dd778adfa1eca440a49e37b21677fe88709142243f5ffb2205e703366de53fbdbe3d7ded093e834").into(), + hex!("a80b1f358d284d3d8b18ef9f101d4f0d84c2ff99342e7150a55bb2f54ee231e333ffa930487a86e97f460696348e897b").into(), + hex!("a4a1f79af8ca4a5c5b44b05828449002c92c313c8bdc33465c099ce8f74c3d575ffcf0ac1ec5d29e80ff96b07f08636d").into(), + hex!("8797e455d44ad2721ce7de2fb8125af1bc4c0757d9c2fae25394e44b8952dc5fa597e0cf5d2b1c2ce996e380597a1db6").into(), + hex!("acd840fe9ed7f38ceb48d65c9f9f02fba4df0fd871efb58b35547c9b526e6e2416195d2c131a04408df7298db50a76aa").into(), + hex!("a9ae67c2d2bfe04d64bd4def66509c108f9ce85394da48d97407535c1aec05df39e3f7c66203f72bc65fa72c18bfa77d").into(), + hex!("abb785c66a7aa06200bec1960c572d61a9cf2c283404601259ba720a506b3831391e998346ee73392a3f7f12915b6f6b").into(), + hex!("8a453eb657c2a85bf93193d47ec26102c4d3adb666a7e1f05f1991782319bbfe104cea57ae1f4379cd115ff711be67fc").into(), + hex!("96c7151e34ed488a06946059722dd9d1b5a2ad2fec96b545ed662a3d0fc23bce6973d93dd2932128d95b0686f9208fc5").into(), + hex!("b5f39ed29d3f85e56e21ec2bce47b04ba16d72a9fad492815b485a93065f2a83dd46f92d74274f815c84792278a67cf0").into(), + hex!("ac9449a216a875c2f288e34443a94a521f8e9de28f70b729f393a483359ffd3ef8537b8a798b8c9a259ca390f9fa9751").into(), + hex!("b15584e841de0e25a301bc3378e89baee55989d9610c513b79748e7c51c484f7bb1d9adb33f3b63d52d36918514aed2a").into(), + hex!("b4dcbabb43cf694b024d36734baf824830304257d959f6300ce17f892a23000e036c4d3d59d7d1198bf4f6ad5ff07e57").into(), + hex!("b8a1f0a8ae246442517606f34ca4029deb727cab005c9952ee9858dd99497ba8a0e3311bd43aeee35275db74c7bbc52d").into(), + hex!("b1c443db1b5a00a87a399880ccbff4481f5742423c47d38b175527e84b32fd66110791c117fdb70782d75c476683f9fd").into(), + hex!("8e018c4b2b4cf1f1a417d00b13fc51ccebcd09a502bb14795b8274585d2e30d71c2c7a9b9f56a717f0676e685e65e907").into(), + hex!("871ea4444c7080995472fc8bc08f9091f9f706e9cfc49eeea5357867badd837649f059163835a7ad7263cf03fd13b198").into(), + hex!("88b67b5819119372e0fd7f97ba1eef877cc32d4be465001c35096adfa18e1811bec1620849a608de8420126fee9c37e5").into(), + hex!("9060dc7f55fdfc237799a2814a6bfe2d2f539ab76c38a9b1206890323bb4eb7b1ce011ea4fa552b412bbf6c67a95f025").into(), + hex!("8bd156a3a54bffe373fea65ecb2ffb12c96f04e07eee582200a0ade24d543bd6523ae5eb8a710c1de1912b2b4712fa0e").into(), + hex!("a8c3fb552f1a8c6cc2714b97d0cb8b2b6028bc3aa4571a7e3e33f46eb4c150771556c7884d575ce8fb7b62a5770ed2aa").into(), + hex!("a808f5a34beb7d62d23405a64d27ee5d7bf83cd880caf7bd4a615b84f22e1dbf11eab129d9cc9ad90d4e1dcd68613f0a").into(), + hex!("ae56febedf59fe99e79e87d7fe7aea5989493833a52f2e6012fd3400c69a6dde951fba50e0c280779d530d74452d63f3").into(), + hex!("8ed5f6de4a3ba85c6c857068bad6432e96c6054ea38ef07391b914c052c2262856d19403a590e8df63c6dec99da35b68").into(), + hex!("89c01fd1f37d826b9ef3b73e2b1aa5f4b4f86a263b2822cff0153fd2b945bbcf16eb3868ce66910073bf86b222becfc1").into(), + hex!("97b3ef6e0bfd3c399ec959d22d29fa9a79fe8746eec49e1675afbf7a955d02db2e89190ebf43118b65a7dc2db0c4d72d").into(), + hex!("a95700745f0ecbb1e794f4db9788af60df4772b5ffc8f5f693f213ce6230810df31716382dccd5a832ced7f34945d144").into(), + hex!("87d0a6a8cdc36fbd788bf744a443b632369fa0cd983d2b60e20856533ed6451d8476b9b3cff39ed0f75de94ad5c7aa48").into(), + hex!("a14c6f6463aadc8d1d2985b601bae8e74de54954ee7e3aa918837064a98efa5ab736628446582ccd13bd458ec2d50b1b").into(), + hex!("8b68ec274484c910f1a73a8cf8a8a149ff2942ac9de6e73641619fdd9e778e9c0fe6198745f049fa9fed9e56287da0b6").into(), + hex!("b77e981a03493852e7ebd6efecaa647c69ce6d46b2190bb2d08f0eede4addda776fda92e9d943ba57331bc985cc8e112").into(), + hex!("9870ea49ed03991dc1a4f47fc978618d549b4f0ddea01d91e7c409db775c91cb2a58c0c0c57eb73e7b6d3418f850b0e6").into(), + hex!("a518fea50400ae263ab9cea0180079d0d353bdb7cd440cb4d2156b9628e487b704630d931bcab742e0f3d7230821ae91").into(), + hex!("861ba1b761d0ce92972f28b7a65cbf6026bdf7427774fe78ff1f45c67f9083fe94fd2c42f47082b6fba722abb648c61c").into(), + hex!("83d257a40e8418407c80851e2f14d0bc47c3b9ce9e2de53b5c6cd99f31dd25dc200fa90c822060d47c4225d61560706e").into(), + hex!("881f7f674959e4176731ecaf6e2c9b490e70c07abceef15707dba8c9aa3cfa2293a96bc9d5455f769642c9717a4fe949").into(), + hex!("835116735f8e21064c497fb0dcfc929004ae5eea1f3e6863ad0b227c820d36255230090812da0800e03af9fde4354a13").into(), + hex!("98d9c12ede55af8067af5b62b89002c66e3b6556ee201ecbaf585fe5026f997fda75105068d62fe5d2403c6c64c314d8").into(), + hex!("ab359e8e0ef4cbaa9830e2aab892db7cd7ddaaea54cf455c2ca24f10ca337f989641ea33fdb1772ed90a988083405cb6").into(), + hex!("ae9ded9c9fc4e812dcab3d8a1c74ea264eab2df0715c7107ec1ec336c0bb5f3761ac9580ca18109278be5cff837f754e").into(), + hex!("b373013674404122f39dd6fc29abef1b2634e2bf650b42c15d5a2f7d762eed98166be26372e8dc6bddeaff84cc2aaf4b").into(), + hex!("b34adf4c3acadd7e11a9d61f7df20cb2520cdbf2d16c217f39e3afbdf2180abe59d37115910b77a504b81a6000b982c4").into(), + hex!("8161d446296d39d0c27a3db1bcbf0619e0c49739c655af49f49ea8403374afa4f98aaf530413848b7d4b53eabc16864a").into(), + hex!("8256cd8e3c9354ffbb59818f0b24db969a7765d64c2fcedf591ce65f619237d6eabd110293bff42b388c9965ff6d51a5").into(), + hex!("a1c562787d2ba1cb64dba278080fccb1c6538ccb00b94db34b62ed1cd863792f8acc4df78d181badc38dd9bda544e395").into(), + hex!("94ad66b4066f53ff299dc4bde2bdc23a891959903174e8ec08dd79f163c6f4661b3eb3458a786bd8f3fa153c806e793a").into(), + hex!("ad1a50bcfaa5641422c6f10d31316035eaf061ad1fc0a36c8835e078d3fa6efbe6dde4bdb28158d9b7aa74fd9241523d").into(), + hex!("a5952780f78fd6afd9c31226a23d307be72aefe0bd99c32a139c3909b1ff1769e2441dd2c03f33cf98df25c76178e492").into(), + hex!("954100f83b800dfb89721ac06728c3d5e8a8edb7e1b56513a63c2b49dd44b9930edd897fecd262984301cb6df23a338d").into(), + hex!("85de42b8de3cc88181a50e9aae696d92e66cabcc7b86425f846dfac138d26eda7cbc420cfd10f5d2681b63bcf411afcc").into(), + hex!("abeda3b142d621f94f829ed4174d042461e95d978be206fd31f8661263bb7a87c648aeff8bf640ec173a77ab0970a93c").into(), + hex!("af99434f06a13d9c5ee7195ce58beea07940949b686b4ce06727bbbdfa1621c608c891227e2f026bcb58c60a6e925533").into(), + hex!("96e97ce1ed97b8afbbf282bfbdbdb4f863a6931cc781e9d7938617310ded35dcf043c2320507e91e94f470f0cbb98621").into(), + hex!("8693fe1860981505e4540b79ee7a7ef33b26535cde6e9aa019bd1e0d26f359a2d26f0341b7c1634eff1f5859ed3a8625").into(), + hex!("a94e940bc2d8f826c23bcce8fc4e49e29c5f918180f566a67395d33cd573e6dfb149490de1ae75068feaedfe6cce0e40").into(), + hex!("9697d6be370d808a49563e062c2b3a0b347281e00839dc3dc0ed888c623f346a42094fbe2489d0487049f2fe47887cb5").into(), + hex!("b06d4cc8e83acc4121bd278784061f6fd391b3ac378fc6ef46ca2158207f5c0d33a51d3dcc4a499aa48e5b27539c4a16").into(), + hex!("972aa57628ce57381aef9710ebb7cb7a8db28b1b64d7db8be38936479f39772c60d766b0c5dcb79676e9330d0406761e").into(), + hex!("ad2164467404544aabb70605a56e9b0f7887491a1691302b2bedf271b50cb6f1bea1b9637214aa3624f5d8f854359607").into(), + hex!("a9da2595107e9db07c56a59d2af529b036c50033ff43c282e2da551bed8faa96eca744881e600b6406569675643046cf").into(), + hex!("8680660eb867978df2474b25e225fd7536b88e9e73f0188c0dbe835677de701fd402916d8e3d17fe652c7ac6d2fa0330").into(), + hex!("b721e239f50bbc7af5578b75c8befa439474bc4e6ea8d35d1006ed54c6d81c718fa675901df591a69b4cc30899974362").into(), + hex!("a8af30765f1b00ad51a32d856a2b2f97831843878a1668a43e66b65b8d0bd4a2e2826fef5ca5bf140050dd81eaa6174d").into(), + hex!("82baad156e89d7b3da9ded4516603ec9aec36e3a0a9bdd0ded604e4fcc0ba10179f9517fc8372d3743cce5e676c8cd17").into(), + hex!("b3392745016dfafca36a7af4be273c5fb4170b71938d6b93691d7a3bc8791bda537ef001d19ffcf7b393a89c898b8b14").into(), + hex!("92f83c901eccb742618313ee2f5ca571406bbfb1d077ebffb92d52ca962403d34a24f9d333c3a155bb9a72a0fc2eda34").into(), + hex!("9792598e2f303896010e35bf670dc2f3799cbe6f0c66379030b0ea01b44ebf24b9257841ab80d2d6a401fc56bb722e68").into(), + hex!("ad1a3c9c5d699ebe4f1b2727dc94b290c84f44c9ffb38d5498b14fcfc5914f4ef4d1d57853e036ca11e42396808556cb").into(), + hex!("90729c7ec4250613062a4ffbcba5829743ba7fd03a4e3407c2ae00b4513c21f3ebd68d10759ac4dfda5544e77b2ac306").into(), + hex!("840add692580be7aea866045826baa4a07804f8e3f56593a2af6fe317046d7d0fae181632f4009ae0d64dfacd4600c4a").into(), + hex!("b1be58941fe077aa8721b020f34d3ad94d1d5083244c276b7f3e6f4c918517f8c5c8d5c1376178bf27cb35ed76699e6f").into(), + hex!("97ba3e3be55d17113fb63abdc808d89fe205d75fc1ac808ebb78ea1b7570f7a014fae099cbc4b2a4b2ec884977405f80").into(), + hex!("a2c57bf9373db5382465ce924bf7dc4e62f406c187a39ab456a7387ed9231ce059d197f8701af9ce2d6cc772367ecfde").into(), + hex!("a62ba8b81b9f8d40fad7fa1d7e8e49ee547f170889b5d6a2be9e2ad2ab0b265b4197fbbfd3b17803a6e727d41cba83a1").into(), + hex!("a94559a51d438b194fea96975a4571a118105479fbb7a37abc7d676fc8b8d2ca30c66b25b7727dcd297384773ddca074").into(), + hex!("957f9be0f15d8eecf621eb0978267c3fc85607f31c501179d9c83864ed9a9e5d526aae278af3767632bf56a20eca62d1").into(), + hex!("b89928c19d1101486d4299c493db5bb72f56f8bc24b71bb54eedf84284452250427b179dddd7fcfc0f521fbba09d0c5e").into(), + hex!("97dda9cbf61015b296307e510295be258045a1de9de52117f0aa28de48e27ffd24ff711f9187936293babe89da226fa1").into(), + hex!("a66b4064c5b1ee95a35a93209c89206b352e0666abd1b5c95eed3c382210334fedad7d531b9939cdb2fc649c4369236c").into(), + hex!("89d85e413030dc45194b2676a1f2a76801920535ccd909277af1ac87fd9b0d16d94d8c62a421c9d95e7a053cc4c3e0bb").into(), + hex!("b8f0350e1ff988bf23846f2d64e40b35a370d1c5d1f9dca4021508205611f788fe5485e966ff2bb6fe8acc1540a2e751").into(), + hex!("aef9ed7229aaadb1ac4344e5b4d0eaf9b89b20d50d8ae8dae24294ec3c0f2f68dee3186dce35d46020d8d1b2626a29e3").into(), + hex!("b9362f34ead1b0cef1fa9b35b76b644a323ff71c48f375c27e22c6878cdf778b1a3125445cc8cffb6c8b9a3ed046c3d5").into(), + hex!("b69c578e2223f3727b7b5e99f3926eb7424869b356541feecda54a0882e4a009b182c358052d788c2a7e776768ce2b7f").into(), + hex!("a9ab536cca003598d88f76cd0d666b1738802c7452201f5d99ba4fd82b6d7da3c9ad8c4707445d6cb4b2c43de7ba06b8").into(), + hex!("a02648e465634db73fd49bbcdb23cb6feed9688eaf4c5678799734d49f2d4cec9cdddf598114896de961ebdc07436884").into(), + hex!("8253283df9690e171af958f2a3cc37e0b2cd67768f2362bd604ba5c5db8d3500c0d7d6cdee982165eaece63bd016f2c5").into(), + hex!("a06d8256d22ef3891a751716449f97d374e27bedbb9dbd0f1c9528307787e4d9ab9450002bead2922c31fd4ccab9abc9").into(), + hex!("a3bcf7d7c1f1c5a2bdde1e0f4cd3cc6dfa061156534aacd6318d8192c27218b6e34e734a118a282b0d5fdf639e704c21").into(), + hex!("b5577e876cb3de8196b485ae828362419c2f7f8ca9c8f38b1254059873fbe53b57110be543c864bbcf8b485f63925169").into(), + hex!("8410e1b1ab99cf1868fa4494dc75129f42a5e633448e64321cb379175cf6eb704ad6863e3a6475f9cd3cd3f1fcd4b49e").into(), + hex!("b6b21b346d709d4897da4c535556d599486878f5c574bca2823ff9d382fea2f45e8d03aa0fc5a5d623098f1b67c77a60").into(), + hex!("92951386b734171accd57b66afad7ddd0ffdebbd9da835e273b11f96639aefa6259a1387fe3947f9f7eacdcfcbb54b65").into(), + hex!("837cca28b3bb00034d619a3b667b06b66d7cd351ee2c161014b4c33692c705e0fca1352c1e5a7fe8ee00515f4b9c9658").into(), + hex!("95589319552ee815c1e1b053cc4452f9ba600142c37bd700feb3c27468c769e45e6307d7c0a3f366440cdb4d3b997d1c").into(), + hex!("87ed23d8d5fd6aa0922565367ab405e666996e7b918795da299c204cb6d1e51a9c6ff1760dc3fde555b0900e677a9b9a").into(), + hex!("88564f50eb215320ad93b979c617cafcda9122ea02f113029702df1f39116e00b35e0beb0c70bb7d7f2d9b4bf68a1419").into(), + hex!("adce6ad54e5d24a2da5a04751151034245184bd7e61998ddfed673fddbe4e3d069b580e833b3bd4509c30a2e6a81f528").into(), + hex!("80800ca4fa6d0f3ea555ac7d37e54e7776f640f76fe89cd7f172c74723cdb3324da01314c6f66c4fc404c393aa8c7841").into(), + hex!("a16f473cbc9070881b9dd63be9f99670ca571822a67520cba885b2636137731b440561f83e199713ecdd51d4dd542997").into(), + hex!("a08c0625cbaaaba847a63ab4a96206bbcc7bfeb659505d0b6b0e58d22f00aadec41f8cd62ceb116258b78063f26796ea").into(), + hex!("a358200c83ff15fe3fef7a1610bfacdf86d55452258e7f4701082f993c8bd5d234b4d86f96d444e96c01367503663886").into(), + hex!("97278525e5e590ab6cc4fa4a1bac4ed7164a65887b29e658bdb2146008b02907488565dcea09e761f6922118d9933ed3").into(), + hex!("b4e76e4cf2c711a7f3be5b404f076b9d2272e15ea7c61fa4b7a14c5608c352a92fe6674a25dc493a6bc9e864ff4b4a85").into(), + hex!("a4612d268cffd31d092892268e6b4f9f564f0036bfee4f200d270a61a8e5e239996d288d28d6f281d8446a88da56cb55").into(), + hex!("81a70c88fd7d99165b41ee12883ae529458758650fd13001c86f8fc6ce5f8f9b69ce3a133e310619692faa1580dd5d67").into(), + hex!("a87124cbaafc8ee5418639ff27795003a43ac18d07a60fb8a1c155c5fece0f8b25525166ba697e07a5f2d47af6cf0bec").into(), + hex!("90807f573a322aac9d1cd546100e49cb8c771f3d32c89da1890c1c819d90b1dc668c2374249a093c0863d5988c358d4d").into(), + hex!("90cb26b40d10f193da22975b0507f04de6cd9d002e33226852cb40d948d1814009a39332c75f1067e8192b0c9230ce63").into(), + hex!("aefbe25ad8bef226d434b970bda8a47bce8269ad69cf91e02e04208a74055ea79a3a7dbc988981b79bcb9298af467e62").into(), + hex!("b4932ab425f4abad270b32b6f66066cd01fd6f18cf8c84dde99d21c9c2676d58be4f9ea5ebbc454c9d9f921c0333cff5").into(), + hex!("ad19368c70cd241b1a90e5b46f34c44351d298e2fc9ee5906596b20f5aa9e592e878afe8924aea112be60c07648fef8c").into(), + hex!("8b2d2953b4603b73bfb1edda8313cf07f6d9d16b0272d90bc46816677b602b4a7e6fcb36c4f69335918f1ba4ec95dec3").into(), + hex!("ac64d362f730c790ee3f9311990d9ffa3b99d4952ea74f63d141360d2edb7fd0b70d94e5865504af3caa94b63e34ff4f").into(), + hex!("b71ad17d1cdf6be4b7f0bf7d3fca689d5a69a7426dbedfc137bb162142d26e079f49c99797316e2a577225d881e31a04").into(), + hex!("8dd692a01ecd819981ea31f39a5950bac2af0deafb35323358736bc59f8fc69f58c865ed9cfe239ee34d6f80bceb562b").into(), + hex!("b2ae1f2d871d48b6157aa9d74c24e3fa3f09d6c40f421de9c545de5ecdc44d44d6c4a7caff315694d8173974b92c6119").into(), + hex!("8c934a58d5d2c06221c10c14f08f17265e918c6f7f158f6989acca4b1bdf3db58952e5500f930af02ac3e6e44133669e").into(), + hex!("9466e7c328d12ad5439ac01c994825a94665091aa00e212a75c4ffd39f4473a62c160d63e568b534dd7d5577ad266544").into(), + hex!("8e35a84ca6f167c75f98728000b5df8d9c5611080d2dda8c49f8d4afd2196da349cda481fdad8a0e7dad1cebf4b82446").into(), + hex!("8ec436a9690744a1c6a31fa796bfc8f054ea5efb1c8d6a70e9094dbdc32bc199a7c1b29216d706616029525883a9e342").into(), + hex!("87cadc50459a643648f5995ff7ac751c24454040f788e218c4894854ac658fc64c2ea0a8cae4973056ea11f7bb0e5a26").into(), + hex!("aa5a2d8278dffefc43d598186f1119bf1a6d2343143f4874aee24d3869fd4b58401e8bb220f2a228416c89c1f5344af4").into(), + hex!("a36f48c232cba1daae013418421fac6278bca09ee3816eb46cc4059254f1e7672dcecd6eebc9bc0896e96cfa0d8b485b").into(), + hex!("937f8e28abdb3859575cff574517975b96ad41dddd4efb23af86429b01ecbfea553be6cce336d170116752118368e05b").into(), + hex!("aaeb4e5c7f67ee23b1976b2e86f2897ced033e79012532599d130cdbe29d8cd551d9451794741d2ede8564af9070f07c").into(), + hex!("884d9608b7556dbddd0ed13bbe04a5bd9f2bda0bd090d47550f7362bd769a3b3dfa890191c64e44378792d97ee4df5f3").into(), + hex!("a8276ce24aabe42cab32ba7d77c2ef2ca84b3a3e3d750f8d0385f9027f0e009365c78196638dadde186bf44b780fff53").into(), + hex!("9148c5c797b4a6438360072c463008df8b17978335f36d4972b4f826861e8a175265a9eb00c56f47d3892783dcbd080d").into(), + hex!("a7e5100f51c611f010b2601d340ad7aa65bab89c8aeecb181e76185f3a739892f8b172e5cd2c108d5aed8f5cc91cb6e7").into(), + hex!("87c46e67d6643c07e0e318dcb22032753c624e646e4871be4098005100b306f3cfb25b6d81c718e83b42b92841c577d3").into(), + hex!("8bf429c735133cb05edd9b8943b5d4040e83191553452e69b3a1fd06edf2a9eefe8e280cdda811795e1da33e41e58345").into(), + hex!("800ce4d6c257a365e5d8e1bcde67a38c04ff723e38b0926af8b9fc352545317beb40621497aaac8d0e5da291c0208630").into(), + hex!("a5c795afa0ce78cbc11de13c8f58d0bd9ca5b8665d5d8d28513a0d8666f9336b0dc3295557801ba253983fc99f45ce3c").into(), + hex!("99e3e4a8e16ed2ea44aae56b537ca9b159d57e987b0511b6d34767744b04700ff287d431dcc6c67d7cba5748b3580899").into(), + hex!("ac88e78183973e9730ff0c88dd62eb23e2794067ac2574a1c8deed85a4aa6229ee620668dd16084c8f168b2555f04cb9").into(), + hex!("a9c4fa68984527577c6da60dfff110163f35ab7393b852c053d73485155fa1536d9701f660a08b160bf49a647ce3cf92").into(), + hex!("902c3138ff660230158ff69c33911cbe958d29178a54cbd13480addd948b19b0b97f6b235df2beeadb7f7e1803b8cbad").into(), + hex!("a6169eabbed09e08a0d290f9075c62ca4b14e1f7adc53545abae49858b3d5d7fd6cf8d8ba2ee1bf13f36f79ee4092935").into(), + hex!("85a0d7387b1db5635f17899bbadddc0fe6b11976385e12ea4272a8f61d81004406604c8f04f10ce928fb6b547d3bc654").into(), + hex!("a39e5f2112944a7ee31fdccaca927e4f4bbefed1274a134e8a038307820c1d14a6260e25ca5a3af0589f8faa8f516c5c").into(), + hex!("b5c86d0482a417bc94b42f8478de06918b36c5f45d0695275da2a3e773088268cc127ac1380f912307b6455dd0b16d07").into(), + hex!("b8b5e32afc4cf0fb92251b422ef9b757130455150c49ce51f6d6d95d895dafa25649363660608bbe7507d787db9d643c").into(), + hex!("b11f3856f691d84d49fdbeb4f33c45c37dd401a2bb71bbf946f3ddc53a57ce5c4da583f76cf4467d43034a61e1dc88fe").into(), + hex!("a56d1de276b2d0a4482e17cd358455aa19a47bd25c7fc97af8457ebc37781358cbf8a7eec9427881550a8db1bbf51771").into(), + hex!("9508c85488f15d2772522dd1e991f41da1f3af7e3527e098d5408ea96f11f4150415ac68ba0a3031e95528664b261de3").into(), + hex!("a28e129c656bc44d0b6892103b7d7c0d15ef1f1ce583e90e2c644c3016ab348ae26a662652c953a3c447272e52b007a5").into(), + hex!("a68dcb67d0cb585cf22f753602c46c7ccffff246b106db9c56248ecc5e94a036009bde23864879af62a4ede81d040c56").into(), + hex!("b9725383c63b2a522f4d976ad6be14a35b9e80145e058baa622238500f1a2ffd6869cde87fdb984654b2e57615bde3ee").into(), + hex!("90248e4cf47ec8b00ee874ac98227759a3f7ce4819e44176dd9b1acaa6270d144d3d707a35e0cbdd7ae23b15537a20e2").into(), + hex!("81327abb95401fc2fe0b1c2d27d7d9972811a63e12be0173fe8311678ff1fb097d73fa32cb85f13935e1a4b7fc59113a").into(), + hex!("a31bd2dfc9ddfa9ac748968b532a41a26007b23cda258fdacb3b0abb751cd7ce2eccecab2d5e3781fedfe0d8da027481").into(), + hex!("809b28c11c1abbf53f2dc005d30403937d9826960b24f4de857a9470067add08d49345586d7e58bb1107d232b3b47bbf").into(), + hex!("b0597958b75e64fe5c6e56ef803284b3b7420fd537e5625c75af3aef814a87a5ff01951261c2c7b27e374466658711d8").into(), + hex!("ad8fdb91216db4fa779774324162fd5bd7ff9a999030c42d9f90248bc328221aae315ef8617c9ba623091adaa0556074").into(), + hex!("8668991c8bffca4cbfc06f3429961c595d85803a262105907361758d677920796be70d2cf820f0b1caaef708d924e676").into(), + hex!("ab22ff4c2ec9e683d2d1ecf57f7af9b3aab1cd289e22b1b66f37dc3779e83e35211f7d4919dc3ef0babf876d491e0bff").into(), + hex!("b8696c811af5d3360951d7bcc9ba4e82e17a125501e91ff74b915de28a8cc217c6fb05d90985fea7ee431e519e494d9e").into(), + hex!("845c0bc4769c428fb30e63c8e4631f22e69f934b0e6089431ddda2c232172a4980cdb6f650563992667a0790f1a3870d").into(), + hex!("b4113cfe79b6b198b517ab5d14900a7189ba78b7ef85d04551e18fe1ce6a69564377fb86a0e11627cb794d1f416fbeb1").into(), + hex!("aa6848837b26df24b04198b0b09b77d7b59d26dd3b20f7843352f2436c046e9975af2985e64fbd6267d897e728a9e721").into(), + hex!("861456839cb76a9490dbe055559e3dfe3bcdc41646aa656d8aaabeb4c0e39a1b370a4f0107b78f900614e3fa09b46bb5").into(), + hex!("ad6a8ca9a21b7874f8b115024a7f079f5a1dac3b165267b33a59d1c8de2065bce4552369c930e9a949d0b07110a71452").into(), + hex!("aa83179de1682892257c57774844b040299789430a262c8b44dcbd81f8062deaa731ff4bebab1a815d3148ec719f4cb0").into(), + hex!("895549691861582abd102fc19a4ed269b335010aeef45ae9ae6b0d9c6d26f26c31371086ddeda626e76f7f07dc622fc6").into(), + hex!("a94e590989e81d269b5246f22a9c97b604af58352c70100f8a20454fecf36d19e601dc1201342841ab231dcefc461f2a").into(), + hex!("82541b5b7a392456d1936373396012b086c370e6dde41f6d4409d35373d1586d3c7119f6f0d1e38bce9cae67c97fcdd8").into(), + hex!("8b89fecfe83adce613e75a52e785ffc90847c09ed779ebef4d29048bbac04b58e27311461c25d4e68cc0e6778228b037").into(), + hex!("b3eeb09bc9ace8a62b71747711bbfa308b746c86ca87297cf2a8e768765a86ed1add2e1acd2925cf05537dffd4dbec50").into(), + hex!("a5364dc8221a37d73250f8498d9b6e163babfcb01e1fdef8ae570538e128b562a0ed8b353235159c3781ada8506ada33").into(), + hex!("ad0d54f0f67d0231ca0ab54ae881386b055c169fd7415c12e511e5ddc5d4b1beba0e1a157211996c7ab61f6e94cacd64").into(), + hex!("b4b978f7f9b084c089923e73a593a24d5aa22600c879eb03645a19ffe8b36cb8ae040378a378ebcb4a5b73331a2064e5").into(), + hex!("b3d79038de0c62c667ab4213524679934b33de22111626c258bf8fd8e16134425549dc7e3dee15239c32bcf122f5bbcc").into(), + hex!("af7a243eb665d9b2c37033363b252c42bc2c202c266ee125b5676b6f9f94ee5d46d3e2ca217f107719051de511625dfd").into(), + hex!("9726a0d607674fbde3fa5c346806c4083e092921c303ec86bf5a16e4b760d031a24585ab407b9b1b0692d12276912961").into(), + hex!("85a8eb7ff82937e2ccddf2f049af9d871c653de4d71ab36b198bbc7bfef2e32eb3f22462dd01affbce13813332193262").into(), + hex!("a8889fa7291017a3363a5e14cee8cb24c273be4aeb74c4b0e1e375f70060dbc9ba296b291e154eaa56703b8e3f7e85a3").into(), + hex!("a789cbc52c5468bf404fc1b19651ef6a805d96ab8a8991407e149a68d10d1f67d1d4b380c08f8be1faea8d1b32bb8c1a").into(), + hex!("9535392a86b73ac66ff8ac1ee0549d266a9e25e1db542b077d136d26710282529f34c43dd94ee77aa97c647e0e05356a").into(), + hex!("a1ae9d5fd0ca16021e0a33fa116eb5b94991aae02efc6f116e073def47253fe2d1f2438275f09f204cec0610ad523ff3").into(), + hex!("b5c6c5b37943e99bed4e63c9215bea95fc365a576a9f8f0b9da8d5ceb5f9da881a273f5692b0913a3bb922772923c07e").into(), + hex!("b3b0144fb027e0c7f1a0c4c703cc5e1c09422be38de4e10010c28bfac358a6c834df6794e5007ecc4c8d866ffb9a8725").into(), + hex!("aaea409068fd2cb94a7c6fe031ed47c7c5b366a33905d12a107799aea57a052b9bfbb1c4f88b1b3775d5bef7d6204b73").into(), + hex!("a10cea5af8405d807b66ad492a1aab8618324ec3d9d01181ce29512e38f03bfaf556251dc490b3d1e80576bbecb27dbb").into(), + hex!("b700d4046b0be98b3cdfb8a2eeee52df68bcc1c5550d1c17205664b0d896028bddaf5dd38482645e76f643ad9d2ea9ae").into(), + hex!("ac9163d5f57a2d1def901e74c1b07f4d14b1e9a5c362d3b082c45389ae8add929a1dfb0baf14f64790f86cddbdcaa32d").into(), + hex!("8e3b79b19d49d77844e3401c01984af7211268bdf6609919c9867a83cbbea21870ff108143795a85fbdb2c15a2d127f1").into(), + hex!("b9db73eeeafbeee4edc52c1fcac7de6d8acd22a8d3d1c4cf760a81dfb6cc91ee454385044301fb2253588f23f3a24079").into(), + hex!("b268631698668059d8eb44d50d532c9d8c49953ea2029d6a2d0eaf69713afc85c42d989cdd3bc0a479ad77cbad24fc0a").into(), + hex!("95f74950a24d82ba9a9df5d839d17d7ff830a5dff38663630efad5abe9c58724802d5bef891ca2b3b81923b55a94c6f4").into(), + hex!("969297c612c35347019f5bc80d2887a3c95c8ffbb011f5cefac63a1f51e48dc84d961aed56afc353791589a45c871cfe").into(), + hex!("98743e9521e5fb6a643c086a00423fea51b8ad2e55bbeadf791ede16eae64f9fa45c41101c6cbe4a8e96c692fc57c030").into(), + hex!("9374001ac3a8673e337b078da1b72090bf2450a5f53f6a600f4cd43ea4b5fe86a73d14bd0103b110f23e417dcb4c2e47").into(), + hex!("a91bd42a87f28a6fed7fac68b5306e5382a93fde2bc9aa5c48b747ab774f9c557343cafb46dcd4e93df5aa95ed832410").into(), + hex!("8fcdec0a825737ee2c61401014287079e729a8b8e49337e99b34c25dd9da570a1fefc532a0cf6ce1bec80be2d9ff46e8").into(), + hex!("8197cd84016cb41e4287d29b3a0fe8d221868e5993aef8c15c1578e038f9c43e93bc26dfc67fbef919322178223d0b9e").into(), + hex!("a4607e2b6ff802a4e497c53b206972d35520c78f14f7d4d78514333e90b2a8852603bf223f1c9eee3793008f87cd8fc3").into(), + hex!("a72b6185e451b3be2c140fb3f48225927e7c052805682e3de9b2c826997419084bf1e2034aef0c5d364b0004b3b7807c").into(), + hex!("aa99a2cd46884d2ecae4257c1db8fe1ef6b0cc1a0c25dcefb53540ae91ea7bc8955b8acfc6d96ef47fc3a5733f2f28e0").into(), + hex!("878ea42dbda59fb6f839f0b65eec295f2d543541f4fd576a60d104b94b49b1a1ac6e9a15ed3274e6305de3f35ce1e3a1").into(), + hex!("ab2f77f6036200b4ffd3192b8d06dfdae4eaed4e1105b27e64ae2e120c909095e59f4dbbc44e818afdffc7f9ea1f42be").into(), + hex!("a37e3fd9b1337734cdaf34111762403db11b1aa0324937a17e053242a9099b3db0d396b485ca996f91117c64623915bd").into(), + hex!("97c65c28a6a81690d4d6ff17d5cd3be0e15ab9cafe66e6f7b8da66ead8beec561c3abbc79af52a8986d576363f14cd27").into(), + hex!("ae138b3020373ca238d5dd780862fa28a2c3e05903366cdc0fd7a142db3d18eda63b8d049abed37f1fcb25f6cdedbd67").into(), + hex!("a800bf90b4e7aa7b5b00fbe6b5f45067e0d7ef2b1ed9a626211e07b66b12ddaf90ed05d369f8da13ecfd8cb499f192a1").into(), + hex!("96565fc4ef721f754b6f53db97d32ef5e5c3cc0f55928eba3eb341f4962b815381178763ef05c21c1247124d592b4449").into(), + hex!("b4896f9e2f88c990fab764a4e006f3f39ba6bdd0e1c75fc8dab2973544e052ce63f8c61a6ab213c85f6799d988a6fd61").into(), + hex!("87aa22b60a13edcede78e629d54714436a8d7d1e6e232d4df6047213b4a91e61e5feb38216e0ebb209f1dd8d7e4f5f9d").into(), + hex!("ac4d5e8bb39a2564f3bff053e2058f261209cf14e65f7dc540070d40dad7ec4f5fa81efe6274aeab8691b85a774307c5").into(), + hex!("8b13673c306988222f09ad896a75a6232ef3bfd2f6c37c2d751668466d45511542fe982ca5720c6518891830674e2cfd").into(), + hex!("afeaafa07eaf14f248d2a34e4f86064c5bccd92d3a6c0ace1ae827dd59111e9b3cf2722a270234eb5aa633c12e140354").into(), + hex!("aa31119422a52a7a5ba90f4e0b5676434b4f05289ea3143e8a2162e32b1e19b582a586da796ad9876d0991274f3363a8").into(), + hex!("82c78ac9f2018540eea744c003a76cd7bc8984103e941c680a4a833a7c81defdd28165256890d534aaca2991dfd856b7").into(), + hex!("b4a99846af0ffe14d0f820a574d42571e0186cd078840ebdf0684c806c08eac1d6afb2f7f9f9dbfee19c2ea12af5307a").into(), + hex!("93cd10366714618a7e8d4edf3c93a9bd30a280f765cb93071a279eb5bc4fe8dcff8d91a1efe8fe697d1cb5e760a07fd0").into(), + hex!("b17dd2a8817471efd91b60ee31bb5f7c2848bb40251dafc0e2250cdeec3202cbfc7a8af6d7f5c3300a53a73bb4a11b54").into(), + hex!("b396d11ed53f287ecab591707ec5ecd0c5d34a67854783dbf263fe2614c707a2226231fd8dbd6bb1ca0760f06f2fe7d9").into(), + hex!("9982a0fbdde6ad91f35e64de34183e4e7f7df6cf422912f3dde0cd16394f0f172dc32c4f68f2a09647fed32894471fb6").into(), + hex!("ac5889086fbfd2f2570191b5d92659fd17283509477f442dae81a8491b8641a5f63e275659e6592ebd0e62a8c7a9bdb2").into(), + hex!("8fd6151866cc75461b69b4685ac4efb5a21c10d5b3291617bee4ff300d90fa2290319967faa2b7189c090d3b60994fbf").into(), + hex!("adb4459e4e6410606a74742d6e48f7b84f30ecc8e849b6af9b4b617236dedf1707ec388a97523f18ec7e047743fa7151").into(), + hex!("a9fd9329ea3b6fb77dc577e2c891eb66c61a575ab75a66dcd897f1127e8bd9ad8d3eb9059c7f6a8b08199913b83e5ba7").into(), + hex!("b94cfafbd3ef7673023ea37996084acb3109ffbccd210184aaf8ce8d29bf36390bdbbf2870b0970e66831d28e90b248b").into(), + hex!("922404dd76801113ba23df87ba689e5cb609c94930370576d0d16e99a489de0fb079fb273159b8b07fc58bfe4f787c70").into(), + hex!("8c6005451c02b18458c3f069a521aafb44fab40f4260a60da6b9bb5f920e91990a868aafa4b6b071a899d3bc51fac72e").into(), + hex!("b0cf68badbb39413649b3171281ebfbabbcda1123549a4c6c09dbd4dc0427b51d555056c79f38840c52cf920dfa2c8d5").into(), + hex!("a08a09c8dac1f7bbbff2b7ea96899b64fed53e971569171224e675399467daea6870e48fddcf47179d3c7eab4cfde3ad").into(), + hex!("881c89cfce577898ad367abc2cf5989c647bf8904be5e061e632256b3750b0aedaf4d30c17f994358aecd069b62cff09").into(), + hex!("81674253d6664d414f667b10f6e8edc32af0a67b2b99d3e4657991f8a8b1dbf260447871c1c680d92f99abdf3da2d035").into(), + hex!("92e34adb15141ea58b2b481f9dd69e2584f512531bab13779fe99e18d48b6ab039bb28d9f444d517298e11464ebde4da").into(), + hex!("81ee1554da84a0a487e52c57528b69cd79f1b6530418354095ab976207e368379ae2fe0a4a340d209f13ac9783cd6d5f").into(), + hex!("839c0316ca07242ab52b76f55049f2da3e83f021591b0bba295677d80d4b407f88b0d207f3ecbe7eb85f19eba5d152c2").into(), + hex!("88b0ad748a61db5eb96016d9bf16bb05ffc4cf5ef56569397e9395f454fc1f731b48dcd8b3368163c36a3fb41577286f").into(), + hex!("b94fac438903b1e6cd11135b8fd35b91b61a0354addf8ead5cae4fc853ebb5be68bfb9901d8b4d3bdf58224675b6d675").into(), + hex!("a015eb1a7e1b814625b13c1b1bca7f738e80be5972f3a3a27cd9b21b033f16e4b5934bab69e38a6edb8d03e84e8725ef").into(), + hex!("83ef4eb739353f7679b27d3679551b2a0eb1bd4d372def5c0e8e5922a9ce7138dae4b62d5c147e6439a551d3ebb1e1cd").into(), + hex!("95907a3b288f3d4199434590340293881b94322e82f7fe9c186da3fdad7881b9a92cdcc5fc29d4124b1d05886bc9ec2c").into(), + hex!("868078f74e35b72a894d72f93d45333e423b1aec6d7e3cd7550254ed6a156957d4c5919489a84986f6134be8334bdf4e").into(), + hex!("8f089ffa10d8ff27470b8f6fcff49a69bd06ef3f88faee54a6bc8ea0dca6bb799199bdcd9a9e7686c43302cbadb584a0").into(), + hex!("980f4614de867eed7571cb3100f9566542b90d2b4110806dbad64249944cf3e4e484d03543107fdff0e91634d5193530").into(), + hex!("abab8578ecc6096bf063da248b376bd9e76a8b9364000a98c85813ada835017ffe693f908aa789cf09ca3020f3bbb9b8").into(), + hex!("a2beaf5eb12232e44bd251aaef3e007989794ad1df7a5f41ce1e6d862ff0607db47cacd4b04d684dc22d3640f6b8aa16").into(), + hex!("8f57e3d8d68264b5a07c9fc2399db0dfdd079abac46e1023373c22377612d3b005053e0df490d2435110c9fc2791b8ec").into(), + hex!("af7d2c45de945cb09adeaa1898fe0b026b5a5c5de2ac21f3b2c298d82fe4ae253d859c47f71def164a77b542905bfc73").into(), + hex!("93b026c1b083d82b3bd52d0004985f374acc81f754f7dd4e563a9ca5b20780f7872925a03e48d2154c526723b6d3fa88").into(), + hex!("b8a11c00250f9e148086818aad4dda9d69480b378ef5ca9e2fe85dfbb709d2a919067d9abd2eafdb5202cd334081b5a2").into(), + hex!("a7026b1a57d9d64f2526bc42c771cacf43a718725c2d0dd889b1af12481e3112bb5357e6434b3e83754b067bd5d533f8").into(), + hex!("84771640879d9628fea0ae1106a45bb8a383ca0a9a110093355395968b4d5af9e4a34201024a187d3a31b78a839af6ea").into(), + hex!("b99e5eda7144057e439ae752c2d879345ebba19e83c35785743d6fc1646069b0258ebb1ef62fdd43493498ed08a8de15").into(), + hex!("b2a17e5253f695a61697469df96f3182a62faf0b5d10c150f833543e7b3f5979506a068ddaebf310fe86efaf3adf13e5").into(), + hex!("8ce51f0a8ffbcfdddead1a94f45a42ec4f9e8770c0ca33b58207b8db06f3004c05e88f5b31896e1b7d3c79ff571426b7").into(), + hex!("a775ae2c3c59968d0add4c446c5f20e92f92eebb704016ea45a47c5496945b7d0935b4d8ea315990e6f58ec33d00aa9c").into(), + hex!("93bac2d2038c87f111c8000e721e4637b04ff8c3b7b1e8a9f02cae40e465a1b2928aa226af73ed643a4c21f3fec436f2").into(), + hex!("ae050b3f4784f2c12c902fd1881f6bb940806c0a9d7cceeeafd194dcd49cfa48acb10a09c55ea47b508d5d16702800db").into(), + hex!("a8c6680208271473433781cafde59a4aca2496d58c85f48ebaf447a0c175e784c4a1351d94b5d1a64c78bcf8c84f8f2e").into(), + hex!("8f9f71c20844682e17bfc30d745ee2848bd8782b05572ea64f9b9bdb2c24b3d1953bae317d79e267982c42f3f3aa60f9").into(), + hex!("abc4ec57e1625bcf3c10754a07a2047d359e503b05e2524175b48d5844756ea21f626a65a08f4f7b32cfb0646cc68fc8").into(), + hex!("abaccbb39d4fc4c252997503604764731889f5bd66382c90477df2f2d413f86892f7efdbee0e3a908b3cd69321d3db78").into(), + hex!("906a87855cc2b3765774d3e8c7daa62630fa7ba761ee2a0bfc5594380dc1d9b62740d1190fb882ffaf17c0d869356261").into(), + hex!("afd0ed291ba237f8b626698e3c54b8a84341628a524b897e53aad5231aa01977990c55215a677e9adf4319a98e81bef2").into(), + hex!("89512dacd42d13f5618f1979d9afd93c06247de2e1e9ab6625b5bc9efe24439189a564ea220c4ce2795f059064f5f5d5").into(), + hex!("90238fe2ab6b623ecc990ef8d2849d26229db5f3c8587cf06501e459c7742d81653c7dee45da82f5946e041f129a8df3").into(), + hex!("a420b197f4863782fbd676bdf1808ff1c6f49a506d525952c575c10a32cf63afef22f977d4b7d6258334c498f36e7f95").into(), + hex!("b7d8fe926876d1d01529eb6e30a78db47b6693af3171b2014bd18180066609cca9036e35953ebad7355362fa671d903d").into(), + hex!("a4b7dc0ae7e7d8c8eb65081427f5d41a122bcad56456dbcf4a4e83e188af1e3d80dc7f450766b8e87ed8b28ca6c5c479").into(), + hex!("8d3e1060196b4e8e827052c2ed782aa554540f21690b67d39db46fcf088d10f67f2b6e0d98689e7497e8029bc8f355bc").into(), + hex!("861657c4e2a48891939b49706791a03f63d092643cb491adfefb3cfa7d86ecacccaf86e4a1382444e466a61e29a12bf4").into(), + hex!("92f1c5b122943341854ab7d5c4603e083019344e2252da5664c676ffdd564345d7e28e2a5692dcaadc4371a95ea2a142").into(), + hex!("86100ccc2ee10dedee28a3ffa0bbaccc1ecb19d36a99e6deef1f2373c1c1c3dcb8b8fbec5809304d883c5d60f617d875").into(), + hex!("97c06ca658fe3ec45a6573bde07b3a95d80cff213c9f4eb8933c8dbaf147262291a5ebd55b0e58a4686c4971cdc45671").into(), + hex!("b13e9055709868f723014736b1fde59c05899bbf2aa6d4591d724c35c15ebe6d215e37fcb1e7b8585abab0b2ba309c00").into(), + hex!("8ce0532b968d8d770eb611131978a253e7940ceb627b7364b3a4dd517f26c31bee51c134a5b1297362f6f9b6d714ef33").into(), + hex!("92edce89bea01fdb25da5d0f903de2fee626681cec3db418a9161286a2e95bbb90ef2ccd8dad434b51776f85d982700a").into(), + hex!("aefc7dea295547984ab42a64f2f59ba2ae8220712778a71530623351a44372ddd1018cd8d4951934ae0fa39653ad6aae").into(), + hex!("ab297f28266bd5ed104c1b55088f114592e80aa098a0865e5543e12c6392b0f94b5cd4e0b6f375d1a0d0809d80c1fca0").into(), ], - aggregate_pubkey: hex!("a596b1419b89fdb2c59ba5b0e5ef903bce994e44aa5e2a1c6b1c0bce4424a503bf2218bce4d1506eeb80d8e545e6d7fd").into(), + aggregate_pubkey: hex!("81a5778df2e724c98b4ef79ff33b9c5fa3ea265de81d49de5c4ab3be2165d32fe15c59c982f758c3b9c522ca5e659fce").into(), }, current_sync_committee_branch: vec![ - hex!("8f64753a2e6a61e5fd96b404b2eb96ba9f1928d98fc3bd297c1443de01f2d49f").into(), - hex!("833952594c03b79552f5e5ec873e7d739914a5c811f2d985455f07c52bccc03f").into(), - hex!("7dec1fa63ab5aca63a0562c0dcb904395e9d1982de33db33f7bb2eca94fe6f1d").into(), - hex!("dc64180e1a9624f92b640b04ce5a67807e2b366fc9a04cbad277b01bb640d1b7").into(), - hex!("48727af64fba0776fc49fed580b8db81be15fe22ce1c579ee56a04d063370499").into(), + hex!("1da42c54eb912009030c084b700d2e0031c0a0e5759b0cc593601b99764a725c").into(), + hex!("0c960bd59f4a61104153da676eb38ebae603e9cbb55b0f6677cc1df0d535d60e").into(), + hex!("1682c67e0936255e351f8be6ccbdf048db06a80749aa900bd4265af1c366bd52").into(), + hex!("d95bb6af7d6be07e5d7d27337ab9b54d5bf725ac37671b9483434d22d724bb92").into(), + hex!("3abb1af4e9c3acb052119a42c2d4222d99e8b5b958c520a03526a8177b921cf5").into(), ], validators_root: hex!("043db0d9a83813551ee2f33450d23797757d430911a9320530ad8a0eabc43efb").into(), - block_roots_root: hex!("9c5333d55a30f16bbfac3a95d266348ef7cf656b376ab3c78f7da07df269e922").into(), + block_roots_root: hex!("ed6ca045637c1c7dd54fbef547b8b1aa3f5b9fa8f0bfa5df26142a0c4237e617").into(), block_roots_branch: vec![ - hex!("dc7d7e9e5d6b9e127f3b219b32f585c9add3729b291320304d01dacae075a924").into(), - hex!("1dfb32a95d3b68833e2ce14a808d2247da992ab52fa6302429c0466564c05fdd").into(), - hex!("f3815941f1f40b16c287090cfbfdb40ccc05faf4f2de5b4960bc4f9b223cc9c5").into(), - hex!("aaa336d8dadb6bed0dde8acd21009c87070855e052b20af29f289546c3dca8de").into(), - hex!("65cda39a94c329d0a8191fcb19e1f41b9e8053a30049938014e3b0be771228ca").into(), + hex!("620abd1a8757614facfd9d2fa43795281bccd4055bc9b12e5cb3742a16a9f9cb").into(), + hex!("14c793be544d5fe1993a1b25d39f4b69e832e914c3d470745276a25d982df4f5").into(), + hex!("46aea5f0a7d66cffbd55e676b915be97cbf3dc6281146cdf4952047214ff74bd").into(), + hex!("0ccefa47e43d03e26def9fa07bacd91a5a2a20c6c5dec2ea090f71f91ac99282").into(), + hex!("f03f3d7a52241ab959560beb9b748a8ab93e2b7221c8070561a12a5fba8d4434").into(), ], }) } @@ -557,659 +557,659 @@ pub fn make_checkpoint() -> Box { pub fn make_sync_committee_update() -> Box { Box::new(Update { attested_header: BeaconHeader { - slot: 5681698, - proposer_index: 414341, - parent_root: hex!("fbdd96632860cc305d76d0aba45741d832ed470638cd3f89b58e8ee13ada6a32").into(), - state_root: hex!("f115c6a23b2160b778b52b35cca0b2c516fc4b8f1114ea54417d5fd39fa83718").into(), - body_root: hex!("65ecc4e6555a84abe699bff4d2b1434deff05d01c0a51069acae49f5a9d34f73").into(), + slot: 5808573, + proposer_index: 430716, + parent_root: hex!("0be3932fbc9ebdf3220e2195d87653f283d9f999946e53f6a9f6172b6f532779").into(), + state_root: hex!("cdfacee5c92a351843fdc4591ccf16c4f040d0276add8421f08dbd5c71035a1f").into(), + body_root: hex!("3d248ca71ec98250b8dcdeab1207806406f1434c11874655af56925da6bd88da").into(), }, sync_aggregate: SyncAggregate{ - sync_committee_bits: hex!("edfcffcffdfeedfcfdffddefedfca6fcfff4ffffd77b3ff3fdff7fbfdbffffd77febfbfbfffa7bfffffffdfa7addbeefbfeff3ffe97ff7ef39fff6d5fd7fbffd"), - sync_committee_signature: hex!("b2656cb3408d51ec4ea948c73a35d56bcb287b067ff9e5d520f7a7206ff8d995e30eea0bc84bd76aadeb84a1cbcd3a3a03b9dfc62368b3d6f90845de9a4688265d9c1d01986d6d6cc1c4566063bd2e211111db163141083f1536adebf30daafb").into(), + sync_committee_bits: hex!("ffabbff6fcdefbebaefffff9e37dfffebff57f7bffe3efbdfef1f7f987751dd176f3b3ff7bfa3fedff5fdf7f7afff7ff777bef5f9f7fe75f97fffe7dfdfffbdf"), + sync_committee_signature: hex!("b405701a0227b7c40805504a66069fb5ef99cdd84f1e295c9b4a4eccbe4d93718740efa9f8eca62f563dbc73021c00e914a69b00a9ebaa906e78f26c1cb8088af916096801c787f18f493b1479fd43f1f5b28d15af827a1e580713fa82bfa1d7").into(), }, - signature_slot: 5681700, + signature_slot: 5808575, next_sync_committee_update: Some(NextSyncCommitteeUpdate { next_sync_committee: SyncCommittee { pubkeys: [ - hex!("a4c4cede4ef9331cf847b7b3910df57433ba988f7cd2b527da1a891996f21160a2766d2f9d18d5205a063bf7dd3cf515").into(), - hex!("a38b2bb1cf7f01afc6c273c67172ea37f3300c03e1f38603db6577052970ae58895b553a7179d13f85700f9514bc3cfd").into(), - hex!("982e0368466b1f860316a0477273fb2b661c3e7f66a0dee7aa62b345b48840b169350f49663fbf716333c0ef49349c63").into(), - hex!("9987ae75b23a116fd58556184bf059676cd1b2b487fef7a6444cd95f570947ebce648a1e4a78813062067c654946ba1c").into(), - hex!("8c0b863f24b01e70ff7b1108345c2291dcc3f8c4cd62dbce4c1573b8ac0c834839fb46880c5ac10956db9aff75672d3a").into(), - hex!("8c68e43489c50ebd14abbc2f243e33ec2609fdc4d9b425343836f6ecc8b82d80c8ee0d723d97b49474f99cdb20d24120").into(), - hex!("800efa6356f6e6f7b526fb9b70aaff85511aaee647273704c86a522595f0c13f8d71934bc31d1866e108f09aff96b333").into(), - hex!("a444c593a92b18d3085eb1a5ec16f691f3506e40113de6afd197bf5cfb9bc25a1a4bd289455c80413ef871a30fdc1088").into(), - hex!("ada4bb385a50a03c9985e50ea16c7203e413e225771821beb87fa671dca818f699e3a7309f5f974c9b3a4ed1448d912f").into(), - hex!("8b6eab39955922be3fd2b1331c872360c2ad0fbe075971ed276afc97c6a34b27a933511104dab81d40b5c93f8e0310f2").into(), - hex!("94b9c1b2e6050fb0bc7c1b4d3604be29dcf44d65c31d8acfcf1ea1dc634e6be03d379583e5b6cdd46acc45db032829a6").into(), - hex!("87e260e12e4be6ee1cc374976f0a4a1ceabd27a2ebc4eb3e5a86be8d8f47c99429e6b8bbf64ec8df6b9184bbee3cf4fc").into(), - hex!("a772448842c827b5471f27f60c81ee579a28e22cf47d6443a1d968e3c4e447559a3bbfd6c3174a533900092b07054038").into(), - hex!("962fe7aff634aae5e406691bab246fadf09d1e051f18d0a1b4f8ae1f4c13d2b38402a1b0d1a3292b15f8457a2575eb74").into(), - hex!("9613b39c4f451f3f8d5c9c8115efdb0285f291c3104ce09c3331d22e998caa16be8733deebc0874067093321ef01fd35").into(), - hex!("84b00eab9957576101f780244a0293c5e6cf2a17dfd5afbf5f24bde2a670e5539cccd61e554afffbf3cd335a656e629f").into(), - hex!("80e0afc2ceee92be074c00646419dee5e0a5b6f07a0e1d542faedd128824a56b7ca64bb012ef633826bb42c1f7391257").into(), - hex!("986ccb6fdfd62830389b8a922fe1c3a67e3cb4764911bd09e5b1b3f96a4b5aaeeb02556e51b4095e0642ac453d2a9ec9").into(), - hex!("88d0ef12228d5bd860ae3e8514adb89ab6d5655b94d33159f02a0b50686c2fc2feca590d7151dc8f0179e09c88ea4b4d").into(), - hex!("a6e69be704e92901416350bbc8606bf3e74d965b99e06308d10884e72aa4e5919471aa8fb94cdd7a75a6ac3c27aab5af").into(), - hex!("aae852cc1aa511e7c3a599861315e562c65a1d78a3c4e84c5e70e0554b394d4de0001f9c74aa6eb218d3b7e4730e3dd1").into(), - hex!("8faba7e1d734b591df344aeb5ae8d2237258d68fb56c8873213f7581da32433307a4a898d85ce639421772204f3b1e6a").into(), - hex!("ab03edd6de9ca9f0ca17c9dc2a7c88683f971c457ff0c2df76b908e033100e91a0cbc8f4f67ba0375ed22d71db23f7f4").into(), - hex!("b011c10ee810a7f5652588ed32ffc66dd72f90889edd64c18bb4168610407ccbdce298a6b992b1ddac7cf5e70418619b").into(), - hex!("953cb1d9b097efd1614c01c4e3db66bcafaa6236511006a859311761a23d7e4b5e77cb51de93ebca0ed3bf2cfbf0e6f0").into(), - hex!("a846671381a6e97f498f349adb62b2182f49c0da42ed55a64c7a3b5fa30a3f61205eb79597d6539072dbf75c1f3e4826").into(), - hex!("8d2ae0805365d4d16e4e5e02c62a536319d241bde3288daae92a12c0d9f626fa3e64f60ce5ec65e3292e87ea463253f0").into(), - hex!("a22d47f7efb1596d8e9f83311e27029642fc4fb2b022e11d63c89c7a340290933ef25775f160d8a4667b484b1f2b7ed6").into(), - hex!("8a4d91b10948043046e5276b8a5c952c467f31546ce32a455b7a539ccbf11b6acee9e5f8a08f569d54d2c0dcd7bc5972").into(), - hex!("8df71acae8cc5c0704530c6bce6de0eaee6591751f815076191b628f48a55410c0ca2b68583850df1bf4878e64054bbe").into(), - hex!("8b3f7ec1628433128b9e3172c7dcd1956a77fdd21e6b2bd9724aa04eb2e104d15c595b1e3b90cf98775bf293c98d1172").into(), - hex!("82ccc91b48e0c8caf1fcf5704ef6a007cc7118b97ab6b46d1e0cfc7920284a5b0d324a86bb40215929a1878e56e5eeff").into(), - hex!("93ee195c7e58b189005d16c2083b78040124c7bd552017fb62c40e7fb248fc73e38ca783a81862ccb70fc68328358dfd").into(), - hex!("a980665502102044827f4cea5ada60f532e1cf3e75e076e485c07c641733844bc9594d9a61c9d5e57df8916c8b1c9738").into(), - hex!("b2cf412a3a9749ed07b328a898a4021329e3d02fa46f92f3a2a1018c6183a17a4a932791bfbc439d2683736efab1f71e").into(), - hex!("8d1731438712958d9ef8f8cf09edd7348620bcf8996c11278fa1a0fd06c6c2518375c119cb26bcc4b34cd65d53ca22d8").into(), - hex!("96949ccb3a317795d97cda52564717dc02a4204bf3a2702b8e352c4940daf1ae7c9290e8b1c73ecb978f8d585ee5ab03").into(), - hex!("ab6e5f11c3920c81d176ee868df19ad169606a10bc84bfa8ba399edb354ab8501a04974cb64a8f663dae283736aeeec0").into(), - hex!("b98a27128b29870a2e3330fe2d251c1a3d7256af0e608039b6156dbd656c9670f23a5f32288afd2e6ddb9e5dde5c62fa").into(), - hex!("945eeacb2b01c3bea2e440c824e0fad48cf1954114d1452187027c6a959884f7e0e5be1d74178ef8583896be9de31fab").into(), - hex!("b1d9e9c94323b3f7febb1b3874f8a88f165cfb1c3338375622bfa0d4e55964d90393c36ce39a408592b19e16460eda42").into(), - hex!("88050baad2d14236ec41bf7a3d9659c6d558906c94dc69ad5fae5d28c81e1e23c98209bc1152bf604d1295dd0ed5cc63").into(), - hex!("9112110ca22b50ecb5ba5fc7b6fa5991c6697af5098abc5c2ab4dbdad8dbc5cce7121db76b3b08b80411aeb5c7f363ff").into(), - hex!("b2e5945ec5c3b717af72e9e9c53d4fc428ac5454eb04ecd016efa5be0ea85f585edfc045e33a7f80c3eddd6ef29c9e8e").into(), - hex!("a513c4a458c9aad1ef15cf2664a4a08ffac2008bff2c4a4b473cce3a751e425b86df84d19d4a0650c5428ab5f9d67059").into(), - hex!("b7789eae407e8f15f1a9e11e42fc38a19d1637e9d776c937bd11a704586f12d06375110cacbae893c45a3bf65cf4b758").into(), - hex!("a73ee2d88528167eca32a4d86afe898eb5bf6fb938ded02a5bd4f224834fbb6ecc05e20b3998feb603a492693328281d").into(), - hex!("8f33a860291d5ae058606647544c046c04f6a120fbdbd1ff81641b4aa2eb353417eec15459f9feba56a045aab5a43a00").into(), - hex!("a3eecb07c0effd8aac6f94b153c6fb9c473d4d2e43753505d4e38ac0a44b69d28d56c7291f84b2cf5a26de490d8e0b9e").into(), - hex!("840c7564699379dc6350e9ae0afa110cea2464a745b89c773ca3cc393e85f045f260dc320d1e2abae2c7ef9c83b05781").into(), - hex!("953762f3f55045c2faf5ee3511774a958673777a105b2840e5041cd7e051d67ba185ad1db90b18819a13c1cd0a32309c").into(), - hex!("b9807310e615b5eb0982cab4cec659b0c07fd1dad7cdedc384604201132a1ddc0948006f39021bbd360ebfbd4c6a3b23").into(), - hex!("8060edeb2c459cd740cdb5025129a2c17f0c04a70d3c13df766ab38678910d23e7448d743966e36a8a76715d4d11a02b").into(), - hex!("aa5716d6a8293c6fca7c30efc138d4fd571857a08bf17e1dc780d146de9500f0f5d08d0a322103ba91dca7a7b67509f1").into(), - hex!("8c71bf64db72347a0a02690b10bf1a50d104bda8b1bea4f8381982f753d26e1f1651996d8bde24dfb9be54ff115d6588").into(), - hex!("97522f4888f3b5f25bde246689cfe892860660d7ed2b6b4fff4eae76a6eb77de972b29e6b2abaa12d38c75d4409178cd").into(), - hex!("b7a11792b3101a83281c2274501df9d9cd8beff9608c4a88e8bda18a55d1ee64d963a4423ec720d707bf0739dd082f3f").into(), - hex!("a38d5e0bf81ee99ca9e46bd92c765f75d9e6a5d7027588f8c6280f31a7ad7aaf564f51c386862b5cd6850409d7aa0c47").into(), - hex!("946a075bdf48144b8ca6ed8fbc49cf0a1181d042afad141d99079b697b83c3b6d16be1102028abbf80a009a44f0baf66").into(), - hex!("92b4ef1e36d610f368f35d4773d211470d72263d6880a777e49174dd74731de21c9c85c923d23c5b61a733a89d56ed33").into(), - hex!("8664554bcca428dceee5da7d62ebd723030c700d0b94e169e61e0c69631109ce5c31dffff912ab3d15bf3580e21c4f1a").into(), - hex!("94572ca8c46c6408543017ecb3bca9a97c3c15357d9d4cb9d62ff7007cad9c676661f1dfe7b7b7862f67a8d17a91db25").into(), - hex!("a50cecc9b424efcad64b46450080014b08a31ccd1ca948d7d7df5543c463bd0c6a43868e7eb670856ebe5a53b0b5d0be").into(), - hex!("ac1de9f60f6d99243e253016dbec2fc3d7934aad59ebfbef2c831cbdaccd26fc36ade84edfa4859692da2e36fe2b8379").into(), - hex!("b7e37727d0d76a6f8e6650e82ddc902b3b727046f3f42dcec6887b8a59d83756ef799da81f640ed89b9701bf5805c6ca").into(), - hex!("828dbe96d304005edfce05d4d200e4f98d67d18053391d70dbed85bafba1f906ec7fcdf3b3635026004bea0ee9dee995").into(), - hex!("b54fa49b4af0d7147372b7cc62c2d1618a7640b434ed64c1200499be5a3bcc6511e99be4376e980329a695f239a3973d").into(), - hex!("af504238f6653ad26f5561ee9b4fcf6d41e56cccd062662a2fcb71dc45d719162411cd5838bcd6df250e6bd343335d33").into(), - hex!("9878d2e481c196740cfd22a1a8a7cc766d1582378468d10de0882d46fab148b0fb01d783e09e2e8bb30514b5716ee53a").into(), - hex!("b85a6d0cfeb5127d61251fd82ae9bb71ab53f34cc73f8c7c41303311b82196c45346ef563a51827b502dd9d4ce04ec59").into(), - hex!("a8cc470c06550c0b71d484d3090e471e8bb2eafb1a5a1e0fd5bb7bb808a0de91461d4605b996e95e728ee56bf17c438f").into(), - hex!("9594c8156baf53c90388de26b311abbfcd6c4b96efc75d3d09b93b3d66b139bc190188203066669d2113c2e09be3a6c0").into(), - hex!("98b7100c8e72d759a7c99a5fb5ca507aee2ee821faed20fd7bfee1052343b2561129a3bf1fce54c96b4635f8d7377f88").into(), - hex!("ae7965f00efee5726f8d77d65b2b531602c4f88242a251fdf86fec1295a061bfcc3a68c47043dbbfbdeeb429102f9a00").into(), - hex!("939e216fc38da1f610c035db522328c845cd2de7621f3fd5c5120d751313cdea605e58e65a6831d5dabebfeb6106fbd0").into(), - hex!("b85556845e1905320b9769932765dbcd0e7918bd556ea2119a34bcaca0d10b859268755bb6dba2ae3e75361efbe90714").into(), - hex!("82311deb4ef51ffb5b8abdf95330a4cc4027907c760f24e8db0813883c5893fa1b202e70fd60763c9ef98c99d4759c49").into(), - hex!("81d3c30eab65344418f6992690d954f7ea6e71ae48320c06dd0637e4469e886a2f5bd700b5907313db6ecb27cf59d712").into(), - hex!("8e91c3ef94bd6687b81747d38ae359bf55b073f81eabbaaa62b3ae8e5cd13a5040092f5b6a21f922258defabf31c3c1e").into(), - hex!("a9182ca07e737546b45e879234e0e3c5dc516d535705645fbef110d8b56fc18348cb4f5766ce7e075bc00a22ffc1f2f9").into(), - hex!("a334a8fe20c514a17bfb5655a09b26218a0a20849677a964c712a65fad88b68903cf42604e9d83e350584f468489f82a").into(), - hex!("93cfc36aa2d8c4acde23f869a3f4011ad2d3980563f032b8a8b24289a60ec19f21b68248d97359391582d4e2c3c837cd").into(), - hex!("8d6758fb8c8138fbee0f0c5660d7c207c76e188ec1fe899d1bd98abe28630cb5a7c87616dca6ab858b24dd44b987a5f7").into(), - hex!("943276e4ac2c19ff6b23dbde8b0fbdde62ad0b46c0dfd2b6d541b354a99f8577b869289c85ff659c9c429f302bbd4447").into(), - hex!("94a09d8fdb4cd39c759453f1413981ded933b739f3a6808c2ea9bf3bc688b7de032428fcc7a60991f86a7eed7b04df71").into(), - hex!("95b4ef6fc4d458093c569d46b0be6fb13bfe7b56cbb950b9ef4a8aa7a3e76628c652691b6c63f1103b86f94c638e33b9").into(), - hex!("a328e3f09bea6ad4f046c7519b020cb59f079cfb99d4f2e24f7aaef39cb87f6c0fd741be462c58ea3189dd5f91dd7a48").into(), - hex!("845cfc61cc7b456b48ee483aae3007fd1eee00d4bb96855d7a1892374675a2728da61c720dccb0cfd8505f2f2a7809a9").into(), - hex!("8d270db94071ab748953fefa715bee255361e7117764e24290e07c01a32fb4482bb34622a459b2180a5ad5cc5cb5a418").into(), - hex!("8c6d919eb8c5a34ad1c7c5434e83a402da5eca3a6303fc5d379a2d53dab77f75cf487f72fc4b68e25dc7bd253afa51ba").into(), - hex!("b63c1dbc746b747f4c6618287030d6e01cf6f79f16e67fbb7c0b3cf4b4f0e55b5a32f44875365b657d16d7c0773b62d5").into(), - hex!("ab40c3e1d5098d1a0bd20f833a194d0d7fed58a26d21ebb420b41ef0aed012db514c899ffe5c56b262db9893b2db92a0").into(), - hex!("971661011c9582f7ace20aa45d8ffc360d10eb2ba2bcdf677e1e09903bbc2cbe0254287305d3c7d756bb9ea9f09f55fb").into(), - hex!("b4127177d39dfec823bee19b60860a021378c332843de14c466cef3513be8bb8a7816c3c18b3020f5b45771647f75ac0").into(), - hex!("8eee091315aa86027805eca43782a1bb7d32ee08c9a0e925ee49f121abeefe1982b9b8cc308fb85876267c6adaa53e8b").into(), - hex!("a7aba3a4934acebcc02e51abad519350c43b69a62eca7d4f176226b23006215b80028d383ed8d5ce8ee7cf036c6d10fc").into(), - hex!("b302856ef4c6bbbe5cc069ab7ddece5b51acc06dd09a72175b36dfd2c67c210ae5525b4bbb647166dbbcdcb66008cc65").into(), - hex!("b5e340dee0289d785896f110c8838185cec590f5d93a89e605e75f4246c6056f060c360578120e39bc9269167b09e0ef").into(), - hex!("811c8753a80e1466f9a04086251ff8f6044e0d6109295374c2601b3a4d5ef254177b7dc3cb6f4e7cd5deff135176ace7").into(), - hex!("b0ef09742becddfe6d5c53a6a62dd9cca34968e79743a86c51c999e30e6d5bfda90c381876cb5d78224e264f367dbed0").into(), - hex!("aa3d85badebc825370190e3722a1834a57f35bf0a347421b8d986b5a9be3d93479c9ea3c7d0eaa890289d1f3c0b6aa87").into(), - hex!("a20d2137f810bb9a7da7382d25bb5888298a74365cac6b8d9bccc4f6cea356d721f76b7120f2086e11f810115881df41").into(), - hex!("ab441239e1ab3b8e9249ffd9d05fcc4c713929aa89087c7d8dbd98416aba9f6a58f67caadadf907b4875aee42d066d82").into(), - hex!("a272cbafaf3cd55e879463bbb6d4012a0ef5acc60bc3271dd65b7172edc6eb3d4fca71fea804b8b130e28c7342d8c5c5").into(), - hex!("b5e7a27815a5863a0638b82bb02d30514222787842c6ed9d1904e72dea8ef69a2bef3c200e1933660cb3e0c78324e63d").into(), - hex!("856f6598c6d4432a1f3f34590d0ed46e6a2f80dcda5402be4d0baefa9835e245d792ead50ac8a3d4ea2517ab4929cb04").into(), - hex!("948ad4460ee22e850656c082e41023730b777688cf6f848d70adbe7a01b8f274f8231598f9ffe92bf47c987007c5a214").into(), - hex!("9935420bae92f8c307cfe6216b345a24192938ef6667c535b4c029cf7c49338ce6687242ecc7da347e3b30f1d7541d4e").into(), - hex!("b810c40ea3d5b41195c53a31cb31b34ee3b62910dfd0815462c5e77bfc772275603429b9f548a0ddf2c978a584eb413e").into(), - hex!("b6679d92c9e719d2b6af8295e26b1885a3eeaae1983fdce1b68fb554dcc2725b976ab5c4a544ba8dbb95f42028034a22").into(), - hex!("844c5850aa29f1421b79389ff71b043340d521594824d556f305f22f436dab97972ead02bdda6900f307b3a6d5aa64cf").into(), - hex!("88cebf5dc3f1535a51606729b302f332dc4e1e571844e64c17308904c182ea5726ff5ef7e6ece038f46262f6bc7d36d6").into(), - hex!("8d6a3e14de7e12703566d63e16686bc404fba85847ab9188598249266292bcd15b82e2ea90f61d0f9868959996a24491").into(), - hex!("91e523aaad9a2ddc91080e59d56fa5fceb9968a7268ce3b9ac49613f349bdf53d776e08330405ade1867c26b027832b6").into(), - hex!("8040a5241cf7e40571565df0f210ebac6eb76a7392ba9ef311de9d880b18f9d84d6129284f8b3702bd342f07ae2cd09f").into(), - hex!("a0fdf4ad261368e3df1b167d1e99d4e56e1618352aace23d4f801daea2a2eb0f478988f529e086ddaf45e60b16ee5e05").into(), - hex!("8e3788fa783d565579131f03e2aaed2771978cff6fe846430ec1e9b31a242b2162943186162fb2bf24ce2cfe7f20d135").into(), - hex!("91a998f4a2978598a97312da01872028aaa89b58060e922fa848c8eabf573aa943b564489c861c4089fd2c2bf10e082d").into(), - hex!("9087b867095d42771bde3325d13956c582a684ce6f86001b4a4168935d901bf6dbbd416d498945edae40b9bb8c5d170a").into(), - hex!("aaccb28f5f8c279774c7de60ce48c5de4f9f9ba98ea3256e564b86c11902dd3a1b668ad392552039f5950cfbaac06473").into(), - hex!("8dd550619f84493efd1206f64d702ebe9ba8c1d840a7a512eccaece3825ee5bc41b83f5db7cfebee2fce030d2d300bd4").into(), - hex!("81b1798d5971837d9be19a7782ee5c527e1b3a5226a052208ebebbb4ec83ffcf5577e9283b67189e673f1c51596cffe6").into(), - hex!("8f87553ff6728cb0add8cd9d10224f7ce45a0e6aef521144dbf02cf292c84ad27411bb4236c4e4cab13c839b55c9132d").into(), - hex!("93b9b053363a68f7f74c5887662b9c4bfd9366595921b642c710cd455172a48fcb533e92b20f286b1b8b55d2eab4ae4e").into(), - hex!("a5491d2f27eb6d71201c6c18216359b6ef98c86473d53f00879a849c3ad809b71a6eca758a0810ac1035825be0053953").into(), - hex!("b0194d480eec57aa663653001911e159ccad1c9c480bf1ad0c0a2de4b122ebc79385ca8d214ca6126e5c39f02432637a").into(), - hex!("adfb8913978bc3ee679ea04ccf8f52ef39977ce376b8ce6247f702bcabbe8c74743583de4cd3153a09e17433d2bd8b7a").into(), - hex!("9785a91a56896212b1593eaf62a88c1d4919fea1dca309a0a24cda4eae23ae5b96c5f94999db35193e2af0c4ea70c6dd").into(), - hex!("8fc117f0ba5105139e621a295c4913f39a2213523f824978e2e0faa29f3a2bbbdff5200657f8678900060150b98d9e5e").into(), - hex!("b2fb0309ff29489312bee74c4f39fd8b329eecae2de8324bca7c04a22318e75a14a43a01129cdc03f4bd55ff758104e8").into(), - hex!("afeb38d1d4306ea9654eb18b9cea496ef1d28f1ce64c5e4b24aa10a1a17641a28d9728b9c5aeb06af086e4664ae38ec4").into(), - hex!("a59ba114102909984ab44c0c902698c65bd5d4ceeb1530786aae7ebb51a3cd62327ade6b587271459677d56980f6878d").into(), - hex!("b2e4d5ce6b31822547570c9d9e9c339d04c7f3d5ac1f00f2e96838050dc5ad11118e1b5383eb3c7b02cd2309fc4c0c2c").into(), - hex!("9941f0dd4fec340ef6d8fcb672cf8df85ced4b78fd24eb61beaefcac9e54cf79df5f8d1aa79d88292b9b70b1149585ce").into(), - hex!("9731226a4f1d12ad6f23fb4c86808c60fe3bfc4d017410a54f3ac67dc75249f241c10f0649c1509fc54573965cc085b3").into(), - hex!("9475f462166d0dbb31613c021921186b0360949773c8498ac8ab2b53a5e592d4d0b1f33305b3c0a481300fad4b459f31").into(), - hex!("8c08584f1221499965104fa05f9cf737b43da5af962da6b4e057e177307839d009182acb9c298e160c4f6ce218dbd5c1").into(), - hex!("ab837fc6f58a02b1bee41b46e2ed1958ea7d22fba5bb921b5df3a03c3842c8a462b97b7cb099afd9ce9c6d28021a1b32").into(), - hex!("aa19542b774ed63672a908e96d8b02caf0da1a4f101b50bc65a4fb13370b4e9c09b828f5a2dd9dad7f46a442b3b301b8").into(), - hex!("8c95d2609424515907228569db33cfd2c53f702a0cbc4539f18c8c9666073ec3ecaee226027ca40426a95625e50ef259").into(), - hex!("8ad667a7af9d4b139d378baf956894558d0354ede70137fa8920f0192dfff01d156adf9cf804bc94c4947add3d152fab").into(), - hex!("a2f32b9287adce120adbc6d7916eb6d4b2ae631a57216ee9048de79cca556ee88be536936b0d0408dec7b95e3dd1d604").into(), - hex!("906c7b8255a38b62b30e11415abd0ee0d051ccdfbde3412fbb00e48933c67b9162ed321ced798d29163bb1885f6259d1").into(), - hex!("a9a5ad34470a9ac18adba467cd47d04550ab7d329eba0cc8e19136e3fa0341ededbacf6288a2f0d6afb08cdcb2fdc115").into(), - hex!("a5fb779d3bc473d29bb9bd994e859504de65326cce3a2e829b907113ee02461728412ba0911f1f97b68240491d4c739f").into(), - hex!("b69a88f73c7b21dfd7b5d7819d755720839102d0d5d26cd59c296ade61854bb65d4294d1e0fc054aaebc6634dd92d5ec").into(), - hex!("923c833165c9d26616d12095f2f7a9a0c2947fe6c5b9f2d626c833b5819c8f515337d3d7a3653c6bd6cc532e6249d28f").into(), - hex!("b97dbabf9f44a40eff8a6c8fc72d8d74b29a392ec06fd76fc4d4627f14da2227e5e3c44843598f154379f20f81b683fc").into(), - hex!("9184a992b84c02c9a8f5aafaaaa64620fcf4127916c4093f62dd63e383972f9df729c37a914015c63bcff79a5277555c").into(), - hex!("a8f58d3d350f39e12c8d28facf775b64d708c8462d1fdaf4e1d5fef88c6830bcfdfdd1de3f8d3be7c1b24af8f2ceee64").into(), - hex!("b7ca5c895b8d632490ffacda0a5a55b656372448df73a9a20671838fe742657f8a356b14823285afbd85018dbd59a514").into(), - hex!("83e11a0ffcc782f73a64b8620ba40b28f57e4491b5a4c0c28aac6f475e07ce37a5d6c8823b74b12ab84e0e9b23988b52").into(), - hex!("8648f01ce003782ec60f59939864f494e71bfa09e34439bd2bd7b61857f5ccd535be021b9381eaa40164e9007627568c").into(), - hex!("ab13db9a11b23affb939340ee2e785f8595834865623f79a74185c35d1e3bd8c045c9bf0c40d7093ed5adc2af3223720").into(), - hex!("ae85d02beaff0173cc0cad295201fefea8c265abe2fe0b8673fecc308d3b3ca016a0f37ac98638461c0041725c322f61").into(), - hex!("a93fe9f88e9955e676ef772fc4b64f1d19c26f3867fba7f36fc2ee7f1bfc2d625660df18440f5fa168560926c7131184").into(), - hex!("86c2863b36826d7b2811c7115e80c9330689d3e1ef7426a0aa3aaabdfe7bc6addca89a98372fc04874ac45bebf119956").into(), - hex!("b541ba82382f47cf8fff1acb0fc84c7aa1d275285342457767f82665ed11fef3f018181d1e4d4b2bd6c56003876fafc3").into(), - hex!("823303e3228095ab4965c4ba4ff1cb828111f754b27cd2e9acd52760e366f8b2f9ac55e2a0584fe0b6e2360f25f7dcae").into(), - hex!("a9bc8ef5173bf914d43b86fbfb8a14acb1fdccbffb8972f9bfe13cac367a49543191c7dc9868687cf6d4fabe26ba0917").into(), - hex!("90e55fd34827693198dfad2f7134fb73cddcbe5b45135ab480c1a01ca84691f7e3b32063cbd06ce6791af9cb50a36e6c").into(), - hex!("81e3e9a2ebc699db414ecedf64b78fc08e169d5a90a4b94cb183444f9fd4a03a6c25ba4da0c320629ac6b604aeff55bc").into(), - hex!("ab704941d644e4ba22b77c0c54d24ab54bd55bcc03910044bf302ee75e9ab00b759447094a2b66426fe55a6c4b322b26").into(), - hex!("aae4e2c64fd90a3f11c72be268b1d68c3029c89fcc33898a9f6291a5979929e97ec4ac1f88d168e38d2bbea148ec56e5").into(), - hex!("af426e2fc680ea40739939c793385436046ac963fca0a29c8fe24f508bbadd1d5c6ac6a794aae7c0ea4ede6d1a0750e9").into(), - hex!("918e46df9372579eb1264e63ffae719d8abedf7293cbf2114451c83e7acf51a39805d5877c359f1b75e9f406eb2fe660").into(), - hex!("8d1bbfefa7038a85082835ca320296c84087cd12b67db80b3ee363ca7a36b145e78d10b437f78350970ca17b9abeb6db").into(), - hex!("b602bda34daf7d5d04385d306ced331cb5c5a0baaf6ff48355efc8b00a1455073bd066e12f17b1cae94b813bfe16b4f8").into(), - hex!("80e3c49c9fb3b08a2685e9bbd48ac965ae26b38c3630c562af62f0b6afbe632f6a8f6133456711fca15e1204a5bc2060").into(), - hex!("aa2ee186421fd4ee084c34b346392fe987dac5e64012ed2cde177e73788e130b97f3f0afbd33b101634d080c0ffc8f67").into(), - hex!("b549d98078b46b0e23dafbfe2820d4c7691e364ffec8a7fd5d4c64a15f29809955edeb0d99dcbc75fd1591478cad92c7").into(), - hex!("8fe3265692f3b01f3d2a74e7cb0b63025e99db34ab003ff2cb0a0912f11e9c84443837bcc7f237d23c7f8190ad67d761").into(), - hex!("aa325e29b135b166529e6ba168dd1e4e3ecee9fedc43df4ccd5b56fbd40570479eeb63d452e0c5b09fe6c4c4c9a274fd").into(), - hex!("aa036da6e27cddd6f90852e1b33e82669edf62815a990756785178bf1cee0fc9f6f35a53c9cfe038d5e0f81f86b09508").into(), - hex!("8169f6f200157319d30685e1959a6f17cfa9174072a2999e96b8021bd4eebce05106ab5e2f1665471b7b689409b604e1").into(), - hex!("b9fbb95ee106459d76ecd68d3a14b87ef328ff2bce4ff6a4d1df90b55192a0b236e3496622e72204d06617b881a0945c").into(), - hex!("8c9239d7dd4443a0c49e6830ec4e1b5b4c0d9ea309c79722dd5bd6dfe1a5deb6efdc1659aa81003d275f987646f3acc6").into(), - hex!("a654888157dd19eb7a55ba2e299b638f4298c86b0d3e8673091db284cfab3282a56c958365e64b9f3a61859d526d5558").into(), - hex!("a9e6cf872bc99ead2b36fb0fe663f24ddf8dd7fe74f47716ea5c6f70a734032b877be5db5f09393b17e8df9287470660").into(), - hex!("8d2003489cd18923f2d10b5ecd3f457c91e923f3a34d8cffe6c3de56384abe5825f5345250a99fff54835f2f1cb46163").into(), - hex!("8e00f92e7b989257ff5b5a70d9d3ccdae8d05949a0e363b86e3cc92ebd2bc2976d128f2c48ab5377f84a9f17b84c0fb8").into(), - hex!("823918d051c7f5a602d7a2b4d24a6fff6bb0d53096648c76b302d442fb5c548a89379ad65db91513d715c63c3c6b96a9").into(), - hex!("b45986389b23bbd69411adcc8a4ae0253ea892aa543f5f3c3a30edea85c342fd3920098a2f26c995b433ee52fd38a8bb").into(), - hex!("8bbd68a7ab8c4987e3d0dae66031e06889dc398e368bb7877d9b90e057a198eea8fa36e674deda39351f036fafdce9f4").into(), - hex!("b1a4c41efba76ae7715da700154c8d64e64a520e09243e5c7eb0612245490542b83f2d91eee27d05933c7fb6c643a774").into(), - hex!("822db280d5ff8802a0d1a1dce7e7f381e21833d7dd18a0ec4fb03576766fcca7c622a0379d9b3a6dc906bdb1722cccbb").into(), - hex!("adb6d7b522f67a051216dc364804d1a6de9e538b39a733068d948fcf0952d9cef943a1a160806115053f740c2536ac82").into(), - hex!("b5b384ca0d7bd7d4a5a3774c30cd06e9f84ed8b7bd430bc6e8205375c0aefc2ce6fbabe968052c41256b9d1f261ec558").into(), - hex!("b39f73c5154475e8f0c33c47de05e72f257e4a3209b174944dcb28de39ab403835260c883bfed1434e12dd9f6d8aac39").into(), - hex!("a8418d1251cab626a3a42c70757afcc2dee348bf04a68fe354ae8a36711831762123f0e8c170a141939302fd1299e3a1").into(), - hex!("b068ca0b335e7a57269a42ed882881dbd5b5a44d64d857493777f991897d81aa80ed47bd657f5ef3b4c8037740513666").into(), - hex!("b435cd9ddd79ec3dc907f8d64f962f6dfb11181bc9a7ecefd8b3efe68e33a77823e045982bfb353951959832202f246b").into(), - hex!("a15aab743187130b289dacf0ddf2d75e79c1e8b187a5ec596f0399efe4724472267696d8e73f9490eaf619269da18ca5").into(), - hex!("ad610e28e8b8b96954a00b52ecc3184f7bb45605679483ee196a49be40347fd63452425ab2fe06124bf4a98a15954880").into(), - hex!("a28951b954f994de2724ad5c0cfdf0b776661c3ad2fa0e15a98450f952ce15c9773c113c4ca613f863e8017f3bb6e064").into(), - hex!("8e9fb7bf61d92df65e4397edcb92fe1e86556549b5e7846213e16d06be667a9a4b008f385a51d964769b4cb7c978377d").into(), - hex!("a2aefbbef654c330b23dce3a639564e1784080889793e485fe054a784ac0e9225b36b33894e206691f1f7d6bc25f4f5d").into(), - hex!("b6e52c70db4be75d72c1a28ce191239610337c7704e6da6b45df8a82cb29e1429d609469475eef44ee184bd9b30efada").into(), - hex!("8fd2d58b6ea2947aa8ffc1f113fdc416732bc18ed3f1f607e5fd8068886409ae122d7d6b69ca89441cf7b48f094a15e2").into(), - hex!("aedb024aef45486aad7b541c62c4f69eec1d0416e65c7cecaae724c695484237e687c66fd1f3e4ec6724f76ba5960ecb").into(), - hex!("82f8d1a58d74be1a6b270b11499f9a068225ec00d6f683bd60dd739989dcc8eaa32c4a4b2d5d117001d4f8eaec42b2a5").into(), - hex!("ad3d0f5f86e5e42b37993c9764d573dbd2e244ac7118923b97d3c477bfbf647ce4e21492c9cea8227464c15fc582da0a").into(), - hex!("a19254b76e9b531990dbcf9be8e815b69a2ef40584d10e296a62c674f5d943e2031d2e4cd716e2198c72e1d009c9be69").into(), - hex!("abcccaa497ec0d9c81037bf5ef3008733864378999633c8d5012624d58e346325e718d3fd077ce91bb70e00e82dcdbf2").into(), - hex!("88a8ec9aba996387aca89a9b2a69dc6b748f0b6142d2ea1ba68895373bab6b23b9d18c8fa669a55821f419ba8c5cbdf8").into(), - hex!("b09f59fd9affa94ace296e2e65f499db39a89b5df69325c132f5b6d10939f12618f407825e14279124e5687d3ecc9348").into(), - hex!("afc9b1286d0c81b8882b8aa190ccdaa3ce1c2057a90875aa3d02e7c8f98511b2e50ca9174d7ce1e9dd6622fca2cabdd0").into(), - hex!("97a3283548d950000ea2b5c6333aae533d4b9abee6c6c486a6003d16d510bd066dd5e6c61081bac96d0c245d2f3caf0b").into(), - hex!("8655e4275b0a947e19f115344be5f3980feec513533a4c28c9e018b9df7b872a9c04cf1eed628d1950f943a9c78f8023").into(), - hex!("845c0bc4769c428fb30e63c8e4631f22e69f934b0e6089431ddda2c232172a4980cdb6f650563992667a0790f1a3870d").into(), - hex!("afaf93e55f72a1063e931ac08bbc0d92c1efecb6632eaefed38fae385771fa47ee066950cf5d0563e0013bc59e1cb19a").into(), - hex!("b43eaf8c6cbd21b638d7910c1c0d37201954d8f5cb0589dec364ce8f1fdb1e1b81df0d6d80ac5958e34beb3ee45ebb3a").into(), - hex!("980f1de6fadc50253fc275cdb7176a42125a8ba6c359dec2f6967e1142b2af66e80979859e2e89887bf393ca9edd4c03").into(), - hex!("b766228d6ec8e48cf07426102e35099ac5fb0b06ed86d60e81bfef37d4b05bd2ca5ba1ce2feda4369e7970a0b9f8fe99").into(), - hex!("b2d3003ee5286fc15398b57f4e04d24a59705f8b0eaa1eb4a3751ad77432a80b31301564656745cf19c9f7f5ee73ec10").into(), - hex!("98c136d6788f9cd5771b899d7edafd00484a8f9e0c2d62b0016df559491702418823412a54757ff73544137300d0ad98").into(), - hex!("86f0def98919659175db50430304133e4f10e6aab8b4caf3cdafca7b2b567b9d9a3c023d65a6df2c301d2ece703fe8c6").into(), - hex!("8c2b5286f37b4ef6fd7c5e9a89b50807d56866c0f6479f4b29bfdc739dde3715997a8bd7e5df0aa79f467ce41ea62c4e").into(), - hex!("b3c78ffe5bb70f4cc3af0ba6f25e72fc50b4f7394c77b729ec46b4ca045c5d7a9b7c38899a9b6191689d6c539e4aac36").into(), - hex!("b3f9977129a0d889bedcf4a8ea95e7c3a2aa63abbc5508b43d98086bc9255ab764ded42b673f17126b068c4f6bc31258").into(), - hex!("81c96ac5abf6d3d1ee67dd2b2647d3f762a3fb28425e704eae2e5ad54f3e6a77163bb7e9534bbe9457765903976a6654").into(), - hex!("b291d6d8696fe9626b224a8bf9aa8d0c662f749deb74401cfdc0b43231d49c6062fe22123e20d111a19b9bbb8f56e9f5").into(), - hex!("b64f61d681595671a88583839f589bc760a45555d9b06c1dd30520eb79dc1349532166a079a5af42421a49e286e3894b").into(), - hex!("b76274d0aac70a56d39808e0ed495a980ac9b49fb79a371010cb6887a06a66ca85f708725d4c1a397fe4ec8e8a814cfe").into(), - hex!("a2ce138e76bf07135c2df2f19ba25da7bf0bf0cbd0c9ec0989d652161930d55a7a76c0406e18bbaa7b01b465dcb9d0a8").into(), - hex!("9053e47608d180ee1e5f927827120335d3871126988d5ff1098dd1c0e784122a48ec1b49cd79bce17545ac4e5402dc56").into(), - hex!("8dd219d6a55deb9c3464e0a3162b62cec17eb2f7ea6e86fdeb8dca8ff26faa20729790b1483a74e8eb77380353096b92").into(), - hex!("93b1c67e4ef129513707d6af3414e3e45fe6fcd54d7a148fc49a4a3e4c7310a280e365a9c192008560ed67805614355c").into(), - hex!("aae8098452026682b476f6991dcbf707bf022172730c4d8d25c6bc2adcac90848489a35779c7ddb2f1de199570c69abe").into(), - hex!("982ded43bb94e48550eda8c259d16c184d7b7a7630bf804eb78002e0e0268898abb72c468f4a222d7ca5db4ead10645a").into(), - hex!("b945e6fead5ae8c89a37c1e0e7b9e9c742972d227d465138ebe5ac23baab26b435839a3f5ef4692e437b7787334f468b").into(), - hex!("b0ca9f268271155207df73acc6e681f42b8452862a7b5bbcea9895e42366862bceb626b1b0d5ee649f41088e03e56b18").into(), - hex!("a5f8a0130ed142d930d24f6ea55dd5a630a29d20c0e511002b2c95ae973ec6dc8b345428e1d560cdd39e1f2da4a37ec4").into(), - hex!("80228f1d1761532b1b508239fc007e71ce79cd8c55a709c9592677b66c7ab8c53b626650ae49c454e0da0106a98eb214").into(), - hex!("a03d3ef47e91889be77e79cf37ee716603b245aece0d4dda4249f54392f9e60ba5cf3d6ea21c6d9d67e59d6b2ab1e250").into(), - hex!("ab6ebfede0e64690d9d3781de87a309c0e8ee2c7ab94d26d3411c76881f27711a6bef89755d883d802590b42165e27d5").into(), - hex!("a57a948e5dfc1874765945e2f96e78f454502df313178d79e5d435a604bdb17ad05b46f0092ac8597529fba338ed9245").into(), - hex!("b6d85d0b4263d9c5a1fdebdfe8b23f5a8eac8240baf8b74f1c418869740ce552ec44bbe8f7a213531099e2f4a69eade9").into(), - hex!("b6b531c8771c3b473cbdbdd31e6c49290a4ac87bd3a01c4434fe8cfa2b3702e8b4d0bc48c6056a81437e8b612e50ce55").into(), - hex!("ac846df7f81c2a9121da5b91066fb2ab82ea9134b9ca817a6a266619b1754507bfa05f142266d1e18dec86bb97793fed").into(), - hex!("87c49db773fc93de2ebf2ca736381e074b21a82dc309dd84f242ed1362efe61cf07a0204f9dc42ad50ba7a2b29c24420").into(), - hex!("a5cd797d2517a93781e6ba33a5a6ebc5cdcd17be4fdc1c53f1b60f4faf0be2e571c63be6199a57f210c4653c438b5fc2").into(), - hex!("80d95dfc07827d2bfcdb5931b10281c2c57efe3217da58b81500d648a7c0c672460c6c5ca538b03b822243d7a882776a").into(), - hex!("b1eed90f4d64ec963bb268eb0ad6e1a4fdd29f834055f63bcd0155c1fbbe6e150b6ff389e660d65e4f6ac8fd5e7f24ee").into(), - hex!("a30f8b61fafdfa80b86a4eb508e6350e47be15a48dc55652237f712e722563d5038e49779f0c5b8ac69fdc2345e14e4b").into(), - hex!("92f080a00666b808747cfc24149f4fdeae984fc411b5cd60430e47e989ef38ec495bf8cb4b9c2bb5b051bfcb64c6879c").into(), - hex!("95000ac7d5fd2930657e2aca9e9e475221831194d4aa0c38adbf0938a36be84f197373857a599f760c9b83a1de48e5fb").into(), - hex!("92478355a0c1cc079bc5064cf2e69aebda1aab27b677808ff7d2bd7eb1b88cc520bf86b7a58fa7c28bd2e820048f3c8d").into(), - hex!("b4f813c3e5425ae9998a185e0c84dc2980a1d91e4bd784745ae72c72b83d44cc9ca98b42fb27d681823f81516254a776").into(), - hex!("a753d8f3e4086fb51ab5c79831b7c7e4968b2343ebdfbaa1df30644c77005e94a4c00f7c5dc2a8d452e5fe945beeafc6").into(), - hex!("b50961ef13d12f3b78ee74ffefd28ed9f54eb9f152d5afe114c74406515ff8b7a2d50270c58d979d82fe975b1368e8e1").into(), - hex!("872dfcc8d55e9af756fef7817526a3c8829a222c9bc756a1daab5adbbe72497994d2c81146d2be46571129f372aebaf1").into(), - hex!("8a591227089de6de1dd1ec6540877e9b81de17a66afa776201b4f9a2fbd81007cf23b20583b3b0038f4abab9e9cda3fe").into(), - hex!("b057e95c6bb92a11bc6650c84a28ad6e0f82d3d7f5d4e22413ed92aaceeeea5ca23d6e214651bb2f67a03b73b8fee426").into(), - hex!("b9cc2eb5ec81038586f2d564646e0b969529b07d183de2bf69da4093701f7f8607648a66f01bdbab1e2ddb3b8e951484").into(), - hex!("830b948f0055df7b3c2e2febdfb8f611111f05e1083f61e8751ae18333aeb6daaf7ff54dc26694ede30028741f4e29f2").into(), - hex!("a6b5d2be416d05851a59df60ca6bcd8706f84463d521a4664dce23edbe9b0eef80062ff3a485027d8cdb83d7cc57f0af").into(), - hex!("910d9f021df4fd2c93745568bacabd1142c5177e1fab1f0dba41487836bacde130098e78eaa1377a8389ee4727a9fc66").into(), - hex!("9683132b85b2e7629523ed19f4057047e1d97be8bacca6aea35096ca4602d60ff2713dfe5aaf79cf1822df5967d58972").into(), - hex!("92ef8d0959c73d30d74ff6f470babc1fff3e7a591adf2b939303ec01dac085fc1b7929135adb89971a9a60755396aaf3").into(), - hex!("83ebf236be6ba7f3cf04fe4339f3b249582d884febcaff3325fac91684cb7106571b1c147538b274c46d129b8f83e700").into(), - hex!("ab49d58d75cff5f544d949d9c46885de1c5eca71bfc359e0cc258e910d7421ea3b9903dfa1c0acadb02a47f70e4c893e").into(), - hex!("987a72951cbdd4a53d92777d5f83c29b2e278fc711ceebd433c8c15cc1ca7e6ca287327ee17b7d1231511426776a0010").into(), - hex!("addd40b50ec5c60ff3758091445338b2d55e221c7ce4dd1fa56f806791110a3a956752a62add4e2e74e86532292df281").into(), - hex!("adcb8f7dd9e0900d060d8333c330896559dc6ae35e3a19458aadc7f134cbac88e81389e19a3dce86945c73b0f5dbae8b").into(), - hex!("9831926af6b3bcc7a58eac2db3928ac516f27d5ccc36647e6000c4dc1e9f71b190585e7879b7b6b5557cedc9c329e98b").into(), - hex!("8fb7fd391f5f89c646978d06e7297202351165bb0e3e41aa4be556ad289be1e2452c15f3f282bf8ed2c2e37c2f542081").into(), - hex!("818a064153faa79421e7a1e4aa71df5f7c7434be01ec460625a45d1bf2e783e9aefc6d1014e1d19bfb74d3db9d52f6ae").into(), - hex!("93464e624c1a259cf7f13914a78321e2f0965ad75dc6e2f2d179c4a8b70343b03f7a2418fe4c385bfe0b04012bbe0d41").into(), - hex!("8ceea8b621cd9d6c651bfa668aec1dffbfcc5ba08497bfdf85351e852df3388db64d0f4c9d286d65b5951de4bda607db").into(), - hex!("899bc04986eef4f7cfef079f6c68e3c97cf735740400ac641916b3f11f1cc580a9071304e96f2c273b55667c9b31b12e").into(), - hex!("ac273b335cd68a8094ea16a1d2b689edd06fb8a74c50db79e193705b7df5f2ced6c4bd848478fef6e7e5054a96141e9b").into(), - hex!("afaea3c630c2debd5b43cb2959b5e8826b5147a7abba669be6db5f443244c6c902fe250647bf6c98d861040e90430674").into(), - hex!("91114a92fe788c35bd65cd3f55387879925f2ba7a9aa0073009b436d1d5159c88f4e682e61e93c3b7d5c4fed62357b9f").into(), - hex!("ac6789f74d60f5de407cdc17dd37c3d221128b1242bb6ae9a4f054c345a8bf0df8cf12eeb8998d2aa3ca7da5c56f72b1").into(), - hex!("8cfd1ffc00c6c2eff385f4ff62108fc6a71ecdf69381a84dc585f4b1916210e820d991d81078b0e9f20f7e274d247f6c").into(), - hex!("8c16151d813665acf833dbf5c78b736f1a3b3ddc69c3317588c06f9f9cb4ec71dd35c9c15172a1d5c4b30b06bd2ab505").into(), - hex!("933a925284f5b7ea154e42f6cf506fef9d6683868fd7469aa1d1d305ab0fdc3c8851e2bee57042a6d23e896c18479255").into(), - hex!("a30fddaddeeb8a740aa1642fbfbca713e3811ea5c7b2ae59312f83359795c0356772374b07277e16e6cd341905cb096a").into(), - hex!("b8c51a19d3c2fc396ce3f26336a7e946a75b219b9b60154565054c350842f22ff4e967954aae8133384da0d5698e2164").into(), - hex!("a2fed8d37d06212539e0169ae876e1bd401e24778ebded0112946781dd93b496834aed6a07fc2b78eabe6e50e52bde97").into(), - hex!("8710115b89008876d4d48003e33265bf401554897e1501048f3eddf13c6ae5dd9878dadbd8ecec140907e7fa74a26692").into(), - hex!("88c8ab3f051ca58b7cf1471a908acd486b5be8b65059a1ba9fc912cc177e2a885c42ef36b5d31d977eeb4a9ead4e8b92").into(), - hex!("b62c3377009010fff6d87d0ce5719a830651ba0100c7890d6cdb85f09c6024db362dc603597edfed6599b5f202ede60d").into(), - hex!("8d0a008cd30939b421fe056d7b2ae55e5ba47d90cb17abb0b1e06a7b4dcb163e7ab3bf6b596b0a39c37652f3fcae051d").into(), - hex!("81c7448b552a3de06e06f782a81e6a083bb20a8c8cc840046a6d1f9a59a9fdfb941c544f28d38a4eca58b62b05d54e02").into(), - hex!("b2f8e981d19b6c65e3a76ce4a11a7b2347b283e56ea8dc62fac5a588480b750404df5b12b6049b520229d972a327381f").into(), - hex!("874d3b28f6796ef3eba01a49711d931bdc97bbbf4c264bc973b7b8c95acbe99cefe6af0ec96b2633544ed2578143668c").into(), - hex!("90e50cab0b317539e433b481439ca8e9658c9291b1c1c745122e84c81250198989d57fff1307d106627fc8bf33874e51").into(), - hex!("856fbfb9e7bce09f3dea2081e95336c08f03d3385d44903ce77db53b6dd5066e501fba4f815030051c2af601a11d7156").into(), - hex!("aecc31748fbd980d16d8054e9115c55cb956c84d2221473e137f8700f0400c0a3f8576bc6881ca7d2266a7b1bcee9c04").into(), - hex!("aa9eea11682a3114968470515f502a5f28e7e715adc803e17d9e93bb26a9eb8dbf3a2848205e9138a8f4fa7ed7ad45ca").into(), - hex!("920281ef0e5bae6a27b41bf821eff1cedfbc695cfd2636390a1b6adeecac3a0498a12d740c86c022df7c4886b0b3a2fa").into(), - hex!("97ada67e1925df570f70153715fe0c325c9d17dbcc6b8a556de95a324ea27b783035007c27f0ed27f6e9d3b5ca5e67db").into(), - hex!("b808bf4a47ccec26e849c6f2ea815bd6ec3e60c67aac4cd4ae7e8e6ced482fed1fdf310e50bb1ebce1b6284622e98982").into(), - hex!("99f5da79d468c9883a05e6b623ff2cfd2f9dc8733d7e1492185c5e8dc5782f21cbdb985664f3f5a87bd9d9c0d8343c1e").into(), - hex!("a7116d0beaab9eeaa8dd94b4ad6aaf3ca3ee87ce4da80d2878a3a01a71b5d28af76908629f0a660e84f68cb9ca4f88b9").into(), - hex!("92f2423689039c0e62b992acaf79d1f282286d74d9cb5b7aba66c3a57d5372896fcbe24f6282f85229ab1f65e8012011").into(), - hex!("8a05c9809e54abbfe8146ff12be004bd89d9c7d6151b4764d38ee8b511342da62807a05c2c1c2dd1cfeb7f551a1d1f77").into(), - hex!("a2770e0053e508a5bc843110d1a535a3d91d4872c2aa682585d89366d3e4b8295d3035cd6fa5df5a6d85142dba30da25").into(), - hex!("9509c3f1c9c314cd63436c70dd1af04a79b83bd8e2ac65bd29ddfa9dfafa549f4092048050e6f5ecdd6980e788fd2696").into(), - hex!("b1007979743e5bfe2c739f8ceaeb6b4e2c28247a803e42d9cceb7609ce766a248c4a42cc68d7b71887f5ff3c6191dd37").into(), - hex!("ade4ee9d8ced3b2b901b75dd5c0e04255f93c7131a45ca3f6fae9e202d4c27d755dc9b9df62a4e810cc2169cf9eb8492").into(), - hex!("aed1444e6551a8414dc2269faa96a30186a60b2744f3b2172a93f3e94122b9f8bcdf4316f45e45a2015bf839fc5283ab").into(), - hex!("a616284f7f7ab27ae3fb225f8dee04bb55d01da1d830733249004656b13e2ae021518f6b36c06d86f78abc498b62fcd1").into(), - hex!("9810735a33b50b529a6adb76acb7989d860565c123c15a5f273c3a0d7915ea6f64fbcb675d812c0e9ab1b5109e2ba2f1").into(), - hex!("b48d1edfb4d8860e47a78212b44e5be908f1364ed829c683f60bc5cd8058e3ef9dc80c2a647359cbb515eabae4617ba8").into(), - hex!("b7585b11690130e019f77783cb011d9f0ddd037a011ddc57fc102e1b01c41ba23b46260c92494762180eb03fe0f54909").into(), - hex!("8af38419bec03044693565999b0011502e52439abb2bcdf7d531df99718c270648be1b0ddf5778abd5095a2252b81b5b").into(), - hex!("b850dcacff841aea821f614c6c8f03694812389d39f6a6864baa630981f71d6d729acdda1c86ebb0213e0259820f8e46").into(), - hex!("88fe3bc5dcf2571405d0a106672bbd7f53e0f9d9c821dbc186840be19648778cdb2b555218e39bb977d8ed1018baf4af").into(), - hex!("ad4671ebe3c3dc00cd274d528347308a3ff8be6772d0041173d49545c73c0ff586ebae4431830c1a5a1f3d9d3f6dd61c").into(), - hex!("97553ce336ceb1085c7872801f3f7edd29639a92dc780d1efe4bac281f00e682c00cf7cec0fcedc934988cf562e87c1d").into(), - hex!("85c2166f6906da1cd51231380aa2808f807887305372c2520c8dd066cd6f22fb3d28115cf42c0a97d545c73aee544640").into(), - hex!("869cb1b1729c9f869394afa26d25531aeaeef4e92fc581ad9438e211efb5479a8ec1bf296c644e9e6a2ee8901efa44c3").into(), - hex!("8675999a3a4c44ef1da31f6a429d888b7b880c69b0b3a1a61af6c1be6649ee6e9a921f25275a1c7508255b3a7e9391b5").into(), - hex!("a7759f01e366edb8f4c7954adfb50c3f03dbacddbb67deb40c8bc27dd17db6a6842a37feb3956a545a772225c5a685d8").into(), - hex!("ae182231f4add8af38b5e0199f6903597439ce6ea87c109550c25da9c3aca4785af72a3b6fd3bb4f2cd9a47c79aac102").into(), - hex!("80442b7f3382f447c787a78eb65c59c6915904384d919901bf81c74f9c9f587a17e6cfd8b752cb86be8d889e5d9fada9").into(), - hex!("99188b49dd5e0bab5987c8e68771214b59aea207a72bc7ca2c175004d232bc88609dcd35fd6117e92f3ead7ad5e3ec70").into(), - hex!("80de081dc0b475d739971db6d1e0de682cb148c19f7efc214f20540a630ee20b4ee8c0a2f1eee12dcb5c7830f6134927").into(), - hex!("930f59ec9ed8eafe03f2311dfb4653ace0a9094f8e2d9c71deb3a624783bdc8383b876f1424516b8d49a4a74ce5b82cf").into(), - hex!("8d73a5940ad76cb7085339d868b36f74a08bbc4e797128e00cf46390f74d5d2803d0d03fde4706488c6ada904ab8031a").into(), - hex!("8927ee1bb13f6fad39122526dad92b7e14c5e8e1e2097bb7be69eff5966c309daa35e1d2964c90b26214f0757b03a00d").into(), - hex!("925cf0d9847cd54c6f78df6f84c112d727eea17959fae42c9f4aba08ad95627ef717625f3547ea1423aa5d99b01972a5").into(), - hex!("82dbe10d5745d5c3ea158432894809b172d1e38eb973b29b1f4c1855e7e5acd560d85e1e835d54e0f6e64824aadc940d").into(), - hex!("a004bd3d268e1edddc95f75d92f6ce7f676c263bbecbd7e4fa8038901de5af9293f142b990a061c5d8301e2e32d91f1a").into(), - hex!("ad2e5ad2771d325f086015c0382aa72fb0e0c86e634a11cc7f17e8bc6dcc331726d96df24dc17af0d1f4d38ddda75300").into(), - hex!("a5ac75b5253a3ad9b07244b52dbe70c515f2b4389ed4395a57f961388e3df67071b47ddf443b80cfb20243f4c48fa6d9").into(), - hex!("b48dfa85a254a900f52bfce1df2fc4dbe12a309a202b34a9dfbb0c5773a499d5583c59448d39d0914da3f74a87e432da").into(), - hex!("8acc6cf8de876d2c47960dd1d2d5661e8e03ac1b9da25b087ea8563a56af6d12013221f80a46e690463f681e09e04e86").into(), - hex!("93541a455ac70f8fc724a36c83c240df42e15cf91cc97a063ba4eb65e60858bee5293ed8b9095cd18924d253229e5692").into(), - hex!("8bb7316ed1bf4418b03d6f06187dc3ab4a2afd08433c08c811659604297b7739a66a1ad2553a3d8b9c99c0b9b4639f16").into(), - hex!("a98695058daa610fdb01a5853a32e51a4aa2a717c00efaa28de92b7f104b09ecc65f7a49002edc03fbf54898112f25be").into(), - hex!("8717b652b8af056208b16101340d24c0501b05ab7b87573cbdd8c9bb0fcbb6189afd7f6fca13b00419c0c2b9f7b16928").into(), - hex!("82d4627c984868a1ddfbf0575e74ad2fc410193e947d0e127c4ebaff427793b8cd21b5a54795fa8e66104062cd1ac85d").into(), - hex!("b737c20c4bc90c32c15c54bea39ac1984ea0092946bf4bd5bab0191d2a3493a350261b815d7833260e6d71c7d417852c").into(), - hex!("b1c9091643b1d4070913b4d7dede86d50965abcf2c3c6c54505e2b8a86c4b1a0162b14aa9bcb7a288b81c9577ca7b53d").into(), - hex!("97d3b95b3fd330432f742e85891e640ec027e059dc4af69bc9f82cb85804c38055f0fa64676ba29f071022444d4f97f8").into(), - hex!("8434a926e242a2e436296ac44d2555efe1bb6a1ec3fcb66d0f596d3369d93faacbf1e2143371ea25d5ce048331446155").into(), - hex!("b0f3f671a4c191734c9ae5448c1b398db9aa847a2401c0c5303a73374d5f856e3c361ece5759ce797990b6e1929c0dd8").into(), - hex!("9609647c70b5760a095101dbb2a69e583d93cb030be046c41c0e3dd991593bc11d859ed75fae9d8c24cc335242567bd5").into(), - hex!("ab10f5e1fcdc0ec9ce29cb451583f2c35b8c5b081cbf8921c47d4a279bef3cdf105729ca39da8f46625fbfb19a7b8991").into(), - hex!("8cabb928e53da1ebf9f6076801a8b8f4954b794471286079426cd8a515dc54592e8d00bf2941811ffca9bf10beeeb1dd").into(), - hex!("80ac862c9cb6eb1a26e1c1203ed1acfb9343014ae4cf4d31ee04892e61b35efad61b1973d4a2b94a7eedebbf2acab508").into(), - hex!("b94ef693d427161a5049162d439ced6552bfcdbd0810a785ab8fcf8bd528e150ebb503158f282e2b834089ece4231951").into(), - hex!("a2bf544af1c0fa80d40c3f211d2f516a7efb47954521075b9881c3b4462fdca86d59ef864ede3dcafdfe80f91bcea6f0").into(), - hex!("84814e3e0b3175a31f846e260725e28465d5a1a5f50db51ca103e4f7936e00c52320fa72bcfc233f72a92761c351192c").into(), - hex!("a0da5c4b90bab3914a7c08ffaf0e34f52eee9a809f2b2533ae6ebdcabc357fc588c9156e0610c636bca41b755793791f").into(), - hex!("9683e43fbffec8f1cba0aae709e0e2e750d7ffd67cae04064c01f2ff5bff808caf3eefe303f0b32b9c6ff8fd1d57b214").into(), - hex!("93f2ae4f0a86a589a089e640a0c2e360eff3b3d49a3ddb85b3e24073841fbeaeb961793c362efa74b08f3077adda8c46").into(), - hex!("b6fb51741c65fc293cb49c08547177d0235ea69d1fac9f7c9f4ddf8a489d77b44649bbc63b1282a3fac3e4bb669474d5").into(), - hex!("ab38d787dfccc3c688649ba47d023aa43d060cc07fd038f17c545a120bfb9aa7ae35a96d1f45ebb2911c954f368890b4").into(), - hex!("ac4def33041cdb88b0a953e809f77667e88de9a9381ce1bb6599070928dd9d467c883b0e86985bd9ffec0b00a0075fc9").into(), - hex!("a444c033d76b72528cf52a3a9028baa0cad0421b03cc6d3cdca0e106160d1a8678d5dd088ff4b2ec646942f2d02d946c").into(), - hex!("a05876a2af8f02cd047488b9ec9ddd0dbbb018d88ceb937e6a0ee6f30bbf37d6252af157a6598838a3631c88cd087aea").into(), - hex!("b24aa2e46aef37da73c21e9ea303e53e359b5aa5bdc6a64660d49a9eccbf6b7d838c5943162762ac8a163b9892af63cd").into(), - hex!("b92259c51a4e1b420bce63fcb8895573e7d7391ec077ebc0e6ad800585aff514d2dbc79c93de60cad52403de2dd9e76b").into(), - hex!("905eba6a5dead0568b945cced882f6abbac08d9040a085b1296b3309557f1bd5f22424f037f0190c796c59f115015e39").into(), - hex!("b2b96bcd9e198290a8d76d5c77ac4b15e9e8faef138f9b79d9c2569c06f115fd6fa95a28867f79a801ea8d97e55dbb87").into(), - hex!("880672483d26105f7d718f4740cf25dc9c174d141102049a6da8281aa07bc449561bfc0c1f85b47afc1fb32fafb8a819").into(), - hex!("b07452046c08f81697565cb3861847057a02b349242a8132f09a0b407676d40e966bfc123651b96e1c13149ebbc90a77").into(), - hex!("8663860bd92c0434068a114ef523209fdac4d929d2cfbee0b4e6311a7cb179e589859cc237ae808eef6b2ca648aa6399").into(), - hex!("a3c07321dc6548afaacae0f59a677b6ede2b40e40b7b923023fafa800e7eab5760a12437212bcacfa3d44a1ed5ff8d50").into(), - hex!("ab5a7ee1dfcee88b8d143a1c9c64ccc554f7814717b329513c86dc9f5d7dcb8aa49e396ce40da149407974db9eb52c97").into(), - hex!("a32d1100629e37d05e590488117554c9760ce17b6ca8a6119b11c6901339475f5fdd762996c143521b02eded27ec0a62").into(), - hex!("87708cef1bffb54d18aba0be325c1a51f08b712713f97e47248056de5a1ede098575c43ee529d6bb70777efe581d6eae").into(), - hex!("afee9557693ada08d2dfadfaab2ae013f9bde57427723f9de30804a1e70f59553dbae1c33c9c7a3a84d9c4c06a157062").into(), - hex!("a97d46bd738ac3b045299ac62ceca2a70fb03b68a643945f9ab7f3da3cd9d8e7fad1478f0fdb0d1c45c3957e2cd2ed89").into(), - hex!("90102133ded7d75bf7a504134878ff8da705ed0da5b560d3a04054b748261543f61da234b387a5d08c95ca4c18b7f8ec").into(), - hex!("a96efcb49074f768a2caf365b8abcd1214efb7463c53549aefb73f5dc27ecb505db5244b21faa1d08ecaf92193169000").into(), - hex!("857384ef3f2e3e3707530bb3dafb84ea36022961bd8abbee16158d33c7b83622d9a342e8b77b7852fbab40a8f33d3ae1").into(), - hex!("b4ece0cd321f4883ba3494012f3603cbaf16be1df9c446e51c62ec8ec3de40605355a43964e472cf52b5d76da1a172ca").into(), - hex!("a61c7bf1d31b9e3cdd915397a0effd8f854d1bfc68318a70c87e183262a891696b1800dc9d8dcf41a17b4df2de34f37a").into(), - hex!("8e028e942c4e1ba460bd339f66a043051709be3effdce7207819d01667f0f8478567ed0ae74c50c2453e5a6ff89e29cb").into(), - hex!("973d1ab60057f776d32c4a06c97b548f64a58130b8e7eabbd0f8552f127ea72500b7171b77a8aad7e737534055b3dd09").into(), - hex!("8786a7724c6ea87a5b69862eda3053d57d218cf1af11eab498cd289705844508b27d11a7419cb5fde80f3df06e7b4946").into(), - hex!("ab37c099dbfffa630cb0bb9935226579e6256695a86bfcdce440c33755aaa42c703ebc8c3099d6e1baf9cd43356ef4f2").into(), - hex!("800d548a276b0b7e3400fc8b6896d327efa8b8b39b15e5c9ce800655dac370cad80a4c8e3d5739b2ecc1f59063b40f26").into(), - hex!("873f12398a8853eb6d253bd63353298d22fdf824fda86e59983559312b92df439a83147fcbb8bcde92749b94b64f1e11").into(), - hex!("83d492ef91017bf25b9bebae673e39e203685f0a1b8c457c909aa67ed91a95f5c7e0939f81cf0527c20100a170269167").into(), - hex!("939bb84d07ed8e4dfc08452c4e26f588529ffaafee0210472d01f9015fe09a32cc9734572b317e4cd7be3ffb0ee15671").into(), - hex!("ae3c03b4eea1462d58969e0588b113a08219955a1712f33eed8fa4702bfc05367acfc5d8d2b761026d4dd68003c543d6").into(), - hex!("a1e90a0d4a3b7f1cf2d15e25cbcdc8a453ca452668ae2df392962974bca357654c32777230bdc3e8ca1a199595b54fd3").into(), - hex!("a1bd10e11f22d26e60f3e565e2ea7feb738fd2dd43f3ca4d484c8aed73de4633635c6dacac066fdf9476ffbf7fcdee6f").into(), - hex!("87332acd0b61eb989b10f4621e3fab83122ee2d8341d2f739c7358b7989d07414777ff66ffbc9bfef28e165f758f1c7a").into(), - hex!("8482d0818304cbdf7dcaea1197b2f90165fd82d52e53960c290be6848f84967341aa35ae2d37fc1d2812a7e4cfbe1ffe").into(), - hex!("b519815430d84092a45a98052e171e9c95d55c6ed145d9a9239c9839e532a9fa432e9471dac24815cee5132f0dc65d45").into(), - hex!("9925bd836328c926e20b62e273c59ebe9df603e1661855d7fe86d1e1baf80c24bb3a4857e77f80cb542b960462f96c88").into(), - hex!("b19ee9d6b8f1a1a7fe32c9d1bd595c5b7038295313b5bb5eb7f22fb846c846df889ad210d8c78286570323a6000d50c3").into(), - hex!("83ebd070c0c8509e74ab91622cfa9625cfc0e70977c6a572223f6a5106c08fa278675cdff0b62458d8ba28cd5df8afa7").into(), - hex!("846055022f63107eb3a654cf100d5749d6d38245ae920b1e685a79b379d1b058230c7831c87a4a8b8ee5a33e540f3858").into(), - hex!("959f850365463755c6b222a508d5486e185df9d71e9226c3fa0b7e4ab3530bb037831242e0422e1d1f33adc32d07d4b1").into(), - hex!("a9105faba373bea726d7ba035b12309e873153588411b0752f840276e9521fc48086a1ee55f90985aca04c8ad34bf2fb").into(), - hex!("817c8cb60030145f20464b2bd76517b80232bf68e049a991f4d0dea19aa2e9a6e8c76cbb81e68cf6c327cbf0dcf8688b").into(), - hex!("b5ca2490284befd09c7b12cff4b89fb59798092b6abdd91b7cbf56272fea1243d298aab6315583f36153da052b90d331").into(), - hex!("80fae9b684bedc386f2fcd5e70ee508703eb0819a30c0d732adae7257169544212f03c10279741b70a418530676e49d3").into(), - hex!("b33f9f77a0ee0ea149e15be1f0f7001386b4499c897ef5505748d0bb7d6c2526d679584f30b2fc15b2605812b3b61f68").into(), - hex!("a68f7f40988b6bc52cd361e98a365407132d457a18b209376c17a2d4963e69aff068c8e29d8138a8dc76e10a3d32f839").into(), - hex!("a84f5e43c7d3b3f1a3dec2c32e27036ea5105837509c8515909ed4d425d75c057b4548e2b7c2890c4ef030efae897f16").into(), - hex!("b65d3834a5c0646ba340947b4b2a48f644476e4a4acce5332cc173bc92e6fa637aaecf0e8c667984fce29b29d45f20a0").into(), - hex!("b7f40271489f7de3739b7ae965134a880faf49b10168e6a6265136b18c09cd29c628f40b6da6fe55bc1b986e819b2e4c").into(), - hex!("86b41ecfb21e2bdf815f68572ec571f99e4f84c69055a548b99cecc588aa7b804479bae7c86d0ee28c620d8ca2d46f53").into(), - hex!("aec85de37c7d0aaed2e336d714b3564142127d96e9c0b39804d5f748851a093177abe564f6857134ca12d9c778837806").into(), - hex!("aca9ea5cfa856e484fccb8fa0494d18218e8ff66b6aee6b68114d9e728f6b2ecb85bf64c745ad9f9942c454f862273d9").into(), - hex!("a0ce0ee13e8e8161f7936b433292bf472cbe5181233a603c0b8bd9939dae79ccf43ade6a0e52e1763bc7df48c533275b").into(), - hex!("94adc6bce8bdc58d33600a495ff600a4009906c76661eda358b64e571b7f13af33c38b2e723e7634a13138b3bfce7a17").into(), - hex!("aab42293499e3290f1e2cd8a0c71a3917c81e688fd02d67fcccb14db7b4ce77960f0b8a4ee912ecc62889e13cc5c3910").into(), - hex!("b9eea51ad7732e4fb168da4070710ed9b70fedc119ef4d9622f755d51b1f0c585ee1be5a63b396ad758b04d4a33a020f").into(), - hex!("b6fc10de36bb9e2102d8eaa041c9623f5b0c78a602c999032b565e623b31b0c04a1528b6b88cdef482b5362996e13381").into(), - hex!("915cc4c5b988de4c792ae014d4949767d6924f99a2a8b362da41f945a96b57c1b5f391c85dc2560c109905355c31286c").into(), - hex!("982d97c67b55a138b2c7ec6399f7e5d8cfb123dcc0fb79c7fdc0a9dc32312c6a628b3f41afde871c136461bcd5a0bdc1").into(), - hex!("accdcfc02b9e333c8171b8d2aa97ab2e7e6119a076f89a85c9672d80eda6081e450b2c6dda94a21aad58d598f1452eb4").into(), - hex!("afd963bea6d742a857a3621dfdd01c4f2d8023718b834196a5f8f3709101543c70a71cced66c699c8b6d92cdaa7ca451").into(), - hex!("914e8888fa46ff0500cf59df94967bed10f9c59b4e6543844338b54d02e0a4424ce686682bbe1852efe9a1382cf27700").into(), - hex!("8770e794c881cfc70b54b0aa582c70f9e4af8ab402f66afea557123e48c662680086eb2cb1077c259c98aa8546c372b8").into(), - hex!("9608dd764c357488a0a37b04701a4035e82e375d030ad66e7c6c31820fc983a8e4bb7157fdd780d384590ecfd8cc4f10").into(), - hex!("a5703f504e8bec465ead12f78bc3bbaa9145081efe90f5418a1b4f23b1fb2254ee29d9f0fb65b543bbc12c42d2e5d2f9").into(), - hex!("86f07e06ae6e6d7f9bff6c859afee19632ece35d17890c999b47951dbedcda527a520627962d753db2c4655411464320").into(), - hex!("873f0372a4338b48dd0bcf12424b2cff13cbd4a1b6dcaaacefac189d0739996b2f2d329c24b1cd0390bdd18a4af4edf7").into(), - hex!("a401c06eaffa47a89ed9acdaa787ca97c2e2fbf4e2663b949efbd4d558defb50513912e1e0eb24dec358aa4891f0bc7a").into(), - hex!("9320690e04a228414568ada80f2a17bb116d51d986618e34661a34a1ba6724ab6a4598100fdf8728c81a5791eae1a1a7").into(), - hex!("a177b02776855c9166484abd303f3601afd3d40c4003020eccf65518bd1ede718f440ad66ac455f082e1bf05b2e7d6cc").into(), - hex!("819321363e39e691a8af5d5e9a8f3f89bc90504dfd763c98d6fda0fd2307a920b499f9fa05b4b47c81140ab0cc1a133e").into(), - hex!("aa7e95a722f4c3352163bab8f158e83963695ec817221cd66d50d97508e8ace3a83409ef3640d2afade12e0eba400abe").into(), - hex!("b9c3b198bc1089edb747ca092982565ee568824e8727de9524015c2868204188da0e66c4491065bf1b218abce28c56d6").into(), - hex!("b68465876a11aca4637510087c3fae5744a0cef12989c2d1f074a6b45795242be34b76d52999b1f236c8350c5b37562a").into(), - hex!("abda42f97534db9ad55e725330de07f6babce42d538b3ba86cf29627e37cc0b72cf7bfe22956e10c7245ceb8047548ec").into(), - hex!("b3648f2a8d34b0a0e2a9eb0452e3103892992159ee2288ef1bbc1b6c076d9e327f475d5797fa4ef04e433b047114704f").into(), - hex!("ae0418e8fac38085149ec5b35066f8659ebd0855bc03c80ec0c298e500a9df21293441c7cd3bb8251c79bd21773ff5d0").into(), - hex!("89403edfcc0b3280e119f68b111f369e792763a1029a0653fe4ba840c7ec3f8b480f277ed4c0f152e15485b0606b269d").into(), - hex!("b9beae9c38a04243da3973e0336b62fc507f0ff0ec2326b2b9749130cfcb18d4487eae81a1ae2f4c39ae5e61f0308402").into(), - hex!("95cd9b9a8558596779ea1b54b8866c547d2ff21a1d83cf441f317b632103b2a034ef13d9e59732110948af061b78212b").into(), - hex!("8aafdbe418874566a2257a2e01cb9e2346f654d22bfb6996393dfb49da0483eb781fb08823f8f93e229a083369f7d07f").into(), - hex!("b559c7cc513bf7c82f981cb21d5fa447a218f40ac510e2f1383d7db769a8209009d364ecbe02097dd8eeb39b551cc7b2").into(), - hex!("89edb92856086f615055e40a4a3b2f3f81267820b47b50f863e0020a1359d7b0d28b996f01ea4aa64e1d01c72a4eb02a").into(), - hex!("86d62987f7304e406d7cfe595981320a5b5d9f40d4539bbcc9df05f31c5d4d2ec8913cfefabe7ea7404a7f853eb8de5f").into(), - hex!("b5cfea1bd1f928f0f67d76991dc90ab575da26e653c18212d0d3d4e1bcc5618397eecfe761043a09c9e6d1205f514515").into(), - hex!("b3d2d7014e4b11a0725cabb64a152ad4c38c0a3e1549f379a400b575ac95a30e44115bab87e10d1686fd92adbd8e33c4").into(), - hex!("ad6974365c9925e838d8b6f53cf7411aeb569c51256bc8b604ebffa978cca215ab502967931ee03db99571fb43a1542d").into(), - hex!("8c688149d2450c049df688505de0dbb8dd13528b278d73f998bfc925910e738878908d5108c67661250a289cd282433a").into(), - hex!("aa31f8770f56cfecbb129920c88d4c3cddf43a8ac4bf630022ff52cc4a5ed5a5f374e7c073f61e803d6a2e91d2b5ecbf").into(), - hex!("aafda222364e4a24d073fb5bc40f265f8af658c876cfe777bd68c82e22fe9bec10f842991e8ef539441f3083b4425e2e").into(), - hex!("8dde4edaec779f9b1f4c3bbb2e4f027c197ea42956ab5340db8b3cbde50389b00a79d88d58676e72e20613279491276d").into(), - hex!("8db2cd9d888797f8a34830b7758d958640d2050c85b1e249d95d6b829e31ff272e6d76792c9aa36719274a1cedeaff33").into(), - hex!("b342fc8c12d2e25e4b55c36cbb27661acc20e4580a3b794c1437f64d126fbfc9d845d15d83cea6810040a892756d7ba8").into(), - hex!("870ac36e990fdbf313e66f065f591902ec68f86bc1ba31598f24474e7ca40474508c782759283af74918775a6f076989").into(), - hex!("b28fc327ad97adf7efce4339102575bb5afbdc57986ae99a6f8e9e83ebc4c114a39bd0e86c84b3cc10280c37fbb17c87").into(), - hex!("ad9061b681d8aed487b0c3f57e3a47514e4ea16d910877f762609b6c34cd8b282e70450cce9231681e133f65426a8979").into(), - hex!("8d8b03aac543f5d629cde8bcc77c2d330bcd2d3dd7c2cffb8c122949456ed37ab2668a898272285f6885c64055d222fe").into(), - hex!("b3715dd10d9cc4acf46b1787c36fab85433f26c73da44e428583544f5aec75ad3d1b927254f2b26da80d3ec39158f6f0").into(), - hex!("b8af814d88d3be63c75d6a917739e0ec87062659f0a6894dea8e437b6e6c62e72b7a2e990310c04be27d88ace72e33a8").into(), - hex!("8c2b4ad0a1849369458ede72a3507b62bf406d8b76a34c86e051f2986c10333d638fc48e6f0aad9b78498fd5873093d1").into(), - hex!("8c901d572820fae85371a8537859691a57d4962a2937c8a5accbf9b2de8d82a10fc864068646420121bb62027e3fd403").into(), - hex!("b644e17c4ad0a9e4ecc6cf68e911096fca518ef5fd3ef960345ff3b243b4f8b7f7090b2362e0c91f411cd4cc887ae4d7").into(), - hex!("a47bb11c0da7f3326bf894b9e7ed1a5889a2e6071ed882712c6f0a8fc312fbc7f3c435bd645eb8586a02509fe170e097").into(), - hex!("9038fc0943f88ca7d0b044aa0d4eac01c1a660878adc4aa359df1bbcb183b6ad1de5e4a7d17e1d4cc330c9d94b1a644c").into(), - hex!("84fde528278882a1deda7fe1487414a6c8c1f152d927232d1c8525233b25ebfa482e28d199c11a0525bc932f7c5149d2").into(), - hex!("b120b29e9beff98c8c846fc98c4d804339d59821c0cb768fc84f6bbc544acf5e790e5fdeddf55b7a75ceffc1b34caeec").into(), - hex!("a60f9c5a325be67a7b9108fbaf0a9aa4c8b4888ade4a4632be4fdcec59ba09ebb7813a2c2e2f5826a50a4b966263853f").into(), - hex!("a87dda3fae3d7cc3288215786ab79362ddceca5c72e0005555416392f9a42a1ed2bc379f7d39b1e9bea4ea222a113675").into(), - hex!("91afe5e3f9fae93bd93eb2eb8d5c3a3c37e25a8daa45d084bf509cfdf2b5bb8ac68d993dd95e178392f022656b4d9e6d").into(), - hex!("8c1188c98839363014a2dfb13758672826174ea92da528e5809d680bd586a60a9f2ccd0b49029318602ab15edd17d517").into(), - hex!("95a46d55787716b9a28253b20c905c5947b706fe1170a49fbefd54d141f7c1f406d786fdcdbad9181e9c66af9af9f99d").into(), - hex!("89383f3d5f8d197dc06c3f53744f478f953b2cca6a5b014561e7f484341098ddbe8f71bcdc40dc9862c9c037e0244b7f").into(), - hex!("adef5820dd1e6d3c57c98fac01b77f367f4ef93fbc06056c3d4893904eacbe5a05d94ebbcefbdcd54545cc83f95f942a").into(), - hex!("b6d1699d1dc1fd2cd8e21571a4bfe347dc791f7171a3b6d17444f95e5ca1d805a764d3450003b172a66d6913c40662d9").into(), - hex!("8c29e6b41b0c6828479cd3e482b10700e4e50dbfd58657def6595d14c5af11377aed7b4497d73364d76eff0e532b2c84").into(), - hex!("845e6f0615fb9108cad2b54c849b116325e383f7c7bfe2e47bca994104d7cd22f936b8669e9152191eee439bae040242").into(), - hex!("b74a65c1431aa45cea20b59013e5c18da60345b0cdbf244cce4b3523d98cd8c61c6190deb5182f2bd15754d227c1fdd8").into(), - hex!("a273d7bd1b5d060918f16af2678bf8c98530e2677ed674ba06476e2c268f527bd7f09973c409cebc081192784d03a214").into(), - hex!("aa125b2420d436c0fb36366c9bd2320b6456d47bcc08898ba5f2810b3f2ab22ced1a8040359fd1df4d0473dd4358af92").into(), - hex!("a75174c7684ffc2e716799a8b8388758585736b4943f7b2ef150853a8b02e8daf31d8ff67b98bf952470809743b4c9b0").into(), - hex!("985a204c05866c2c4a392a606133c7110f9fc4b043fd1dff210650a9153e16f281b0b3ac679da845bb3b2229f4210768").into(), - hex!("af0dc0588aa1ac62ad6f239578477beb78d0091ade4d147db76d4f22612fb1d72a2f4b414c192b617fb3729e5568f1d9").into(), - hex!("99a56b228629843176adf4ba2d9960f42d99b4353d93a6dcb881b9b12d804bb4f2a6e44801b04df323af29cdcd7888c9").into(), - hex!("ae0a36e09fdf5a523c54ad5a7a42fa6f5851d5e869650eae857d4454af8d8b2636fa5ee66dddc14097abfed77147f26a").into(), - hex!("a0d6e1c60115cc57156f5110a943634c044696285768a273470fc047271187c2d810833d777952617734dfec096ce05e").into(), - hex!("8609e0e2759ba27648ca2cd471f4c41dd864076ec1155b8445ed3ce006b18fb3192d359621a7f7c64d3f6c7132a60963").into(), - hex!("82e627001a0d9fea1d4417f216b05fd9a999f7dfc271a3b4c07b7e9e3ef9a570cdc678c7a4bb225706052469349e9363").into(), - hex!("b9bd5cdd4cfa9231052250b028359111a9f5121f65d75c6c78bcccc640b52ff034f220d9b31b9704845de8a75998cff0").into(), - hex!("ae7548136e5c228994a6589e8aa4edd58532b1f5f8a11578345103c5b54af32a1e481841ed719000bfaaa510cdd7f1ff").into(), - hex!("94ac7a82afc2c9a9638784f67d172e4797c7d68982cb66e6e3d86a1fe1722da57b6970dce2b5162e32064fdb7a0b538f").into(), - hex!("847490690db810ed99221f104af94342e4bad4a20d42635128d0609e93c2f422d2fc6feadabe9c0bf0ae6403fdd8f126").into(), - hex!("a8ab008689be6b6adff03ced875596770600274f9b6c014f4d6322d747d6027d29b7b66a43a8981a0fb01959824c61e6").into(), - hex!("b25eb5b10e2b2964fd832efba2956ff0b9b48ede05053c04cc411463dca22505e50c2700dff27f109e85d2e0e7be2862").into(), - hex!("98671ef51a3cde882fd8ee23c5c317c4885c9911cf3a3a0c2d9f9a9ec0fb39b678f984ec08518a75dc4187257c50eb8a").into(), + hex!("8e9fbd36b3cbaaefc176cf46336592e2b59a51e3035d095da9e1df9d2fb5aac5e47ad05d27784ca675442abb875a6559").into(), + hex!("b4c6164c5ea19f3da5a76a2435db598bb012ea34cc8fb6d749f1588463e5c39d29cb3d45ceae0543372246549b17deaa").into(), + hex!("a89c780da1a713e86b149d63312aa840e865dd926565f0ee9d9627d363eadadf5a4bd5f79d8039f2e2927ed7fa60209f").into(), + hex!("aeff2bd9faa0201abd7dd681ff97888c0ae71d84e71590f424facb2e37b5759f07d338dcbb695ad6ffd08d903c0f92ec").into(), + hex!("b89cfb61a59cdcb61e9f3ed76cb5cf13c907bdf6b2622e16d140743c5021d45cb6d91ee94331130b876efd984575948e").into(), + hex!("a2c889cc5195532bcb5c83d035cd6881b889ffb9d0536843d3fb6f7b1c093a927162add5ab6ca5f06e7c3ec4ca4522e5").into(), + hex!("b5966a6d047ef679a9613114149530facbfc7b4bee6ab23a60853f45de034435b624ad0126ac6c7d6a12b1be93177e0d").into(), + hex!("99249360fc064fc2778b37b107d834eecd5eae29e8f10a45d946f11fe358db065242482935224226e83f518fa6916962").into(), + hex!("8c3548aa879d974c5542e59ea43bb34db91f92c7d21eca5e3e4fb9d01364c21e8e2341eeaba1d22da67f1f455644afe6").into(), + hex!("828b95590a46cdc4756fc1a7b7d7c4031637494938521b74a3740a970ff532b88ffcb5333197088f6700925dcab5c42a").into(), + hex!("ae2e6ae80c16831c02170dd273ff6808e4379a8baf00e707d497eec6cb50b5a1f132eddf053f243765a54695ca35c443").into(), + hex!("a7bfac686f7b307d794fb1740a05cb1a6ef14b06150e64353a0b6544e7b0c5e3a7c8985d257c5bd74e411c0cc8424479").into(), + hex!("b3671a59e2d425ef0ed109932402ff7dfeec72cee39c1840cade48a13f3ff36bd0f9b3931d0651fddd214a2dcaf7bf89").into(), + hex!("b56c962ab20fae058c256e37ba4091d7a9e5d3c602e3eaa2d90df65fd5a11ab68f245a5a6e53262335c6dd4f3e0e51f6").into(), + hex!("a8be83de4b06ebd8c14bce332a1175a4c651fdddd4a58ec85bf4c68cbce83a50dfff8c26070d104556883af678693076").into(), + hex!("b4b33b7013c6af21797478b14b1dc81fb7c5661fa2471d8cb4eeaa62a62f795aa9be2cfb65ff6b957cb7f89487a587af").into(), + hex!("991a42351791da02bf6c1a9ca8248901657d6f2a95225e4827ac3171b5247cd31f9465c9ab1c2b78e268c82b61db1f36").into(), + hex!("88a38e70998cbed82ae7f9c192e06df8abdd35278efb25a1112246d46a3d3f0bddee41f5c492949f15e651ed7fdd6a15").into(), + hex!("87dcb7f13c6af7f7d102c643db0406ac7fb06fbe1fc647f436ea839e75561b27beabdd6133da332383bf22ed4f83fb9f").into(), + hex!("a441e2c51448b6b2ddb38dab213d9ae3d1fe70e91e1feb0f98590b5fb6f3c18ec0adccc221fc44ba027511c52e5fa626").into(), + hex!("ae5f4dc4266016943cbe1db6538619c430639a1179d246cb820adf8edcbe55e9f79471134d06365b0d459b280aa2282c").into(), + hex!("8165bbc59ef3b15f29379a7ef90d8b3610590c662207ea7c49267f36b5b62af3d48008d182ec3384ca7c1063bd25b284").into(), + hex!("8cdc4e6a238afc55406920620fa90f696403afc1797562b424c26e679096950e7f42b8d8327ab0d7573608056364fa4c").into(), + hex!("a1f4c958f7bd1182cd4ef88561eb534c9ea3563d149a276fc256645be0b2e86a3d642ac17261696ada39a04a866973fc").into(), + hex!("b19e5ca1ef1d4fbac5633cd29e9510116bafb3229749e0e4444caf9819fabf9c4c805b5966c02446c1eb0029b3c1293a").into(), + hex!("a4682af7e19328a145a1a5c43ad3e14648b90f664c6139eabe1a13da9b763ef23947dc3ea2054af7d0b7018f7498df51").into(), + hex!("999ae1a8f2e0cad6a0378e7e0a67c8a6ef4a824043b34e67074d05ceee93cb7b49d3c3acc961f1aab69b45f89d12180f").into(), + hex!("94a9f1686e91ec733799b569e3b0313db64f3a219b48482e2a56c21016e800d4373c2f8b876a923e0753a464e5fe4684").into(), + hex!("b4936942d807ad09cbaead9f56ca124617fd1fda2ff5cd94fffbbdf5ff2b295867acd1e41599928ae455d597ea45cfb0").into(), + hex!("a74166db86410c9722e657cdd0f4d1da86a4f83168e2bd9ac71850bbfd9471e1ed88a6476b75ae5ddb42afc62a9ac121").into(), + hex!("a97909c10241e046dc707ff9d822c385dd68be297d6b54c84fbdc18f5a1dbb3350e93496698d6304ad1d6bfd34b4a041").into(), + hex!("b6d9b775129b048a6c577656ac2de15135c2bf1a3c7c8140ce20a990274e42d7b602ebe932855c1d03373797ea0bec63").into(), + hex!("b59f975937cfc8eb510c1da0a7fff1960c46b9235550cd6decb514805439f08b8f18d88ae0373bbf50b028a08612d552").into(), + hex!("8af01facbaefb24cc4c11e13c64445600b1d716be66908964ef79e12c0eded04e1d23295444818f024e55df2aa911034").into(), + hex!("b79607bbe31f159b208a0d1b2f95cc5373631908292126b8b75fc44b22a8bcc9550de7b51ada33e5596d0f17d5f4e48a").into(), + hex!("a1a474a66940bbf6e601b6c6e63103de2d5eb76d7ad3d39dbd74149658a14e31143a9723327a73bf72eaa75dea42c3c8").into(), + hex!("ada18b62cf80098f36921cb0c2f85200fa362721c4673546f8554e2f5fc8639f2ffb2cac68e888af7ead8c660b0db13a").into(), + hex!("9198582e8aebc174dd168c6cf20836a21cbb6baeffacf9f933850d8e0fe0619ac1ebb99fa6fe902c75927531c108ee5f").into(), + hex!("b8a44b23d29cc5ae1f00d5384fd06f31b73ef1a7ffe334b59db668c924aef2cdf60c3070a44a12b52a14ba185198035f").into(), + hex!("a688064e0b3fb3baca87d711b29419a02c06e6a1dd764af31574dd84fe870c8ef614d4c2d42fc9508711dc05fe373776").into(), + hex!("b86c167a1c6738bfef1feb7eef8f553898f69a933876acf675596fc2e39f0a8c83ac37df69dffb669fcba4e3f1caab92").into(), + hex!("a32d52f3e9acea45dfe9ce6c577dea8200e68d6ca39eab5d6fd24c508d2028f533b8b04f1a4fca7965315ee5dc5e2809").into(), + hex!("8ec96bf235d5e9bf36382d79b4bd1be8a8e2b23a9f7f9e02ab6d708e96a1c12fa81eb236f02b0180a0cb9f3c1bc28cc4").into(), + hex!("a0261a76664fe2fcebe1501e18eac7bce32b947db7bccb7b746757ba51cabbc8bb385600a99b248887edeb84f82a6f49").into(), + hex!("a44313f945a1d462376e03fafe6d7a9659dd81046460f45ff8914732ed268b2430ff632aa0d368828c2076144bdc8595").into(), + hex!("a55fbee79559e1fa7b85718306185e3769a92052cceb600283d0236accc6ba2343799c1856609faeb7c685dd504384e5").into(), + hex!("8a3d4ea2eea81742fcbde7a1bea5ffda55c58b5e4618ace17773057932b7216b96ad4a117d9054de18f71b3345a0076d").into(), + hex!("aeaa0984232b1fd5607a1a67051d42df3ffe71363639e5130de243cea84c87554e6597f3f07952b7d40d19b6e18957ad").into(), + hex!("986c868f8f25db957f44a39bc209f1ff8e98e9bff52236b2473b8ba977d0b7e90d146ec86a518a581c5de796290d505d").into(), + hex!("b1cb0755c54e0619c8306636e926930605f15901c01e36822131dde1538b063d0dc485a97534ef1e12f2f0febd1092c5").into(), + hex!("93cf415d4d7ea309b85bfba7ebefc0d1ea91b8e93fa351262d9eb34b728c7a516ef0904cb2b3549db2b3b3f788b147af").into(), + hex!("97359ca81e9fa330f4c0a3b4de96ff45391c2f83247d1f73a6884bd123d34edc66a4d3f29718f5543350204488ee51f3").into(), + hex!("8348c9b229787630ce26a41e7c016adeef5dd3ec1f124081baf9db4ebc1a3f3a37b40d94183ea9eedf9a458a2e65fb41").into(), + hex!("a4c6b13c7dd27497917bc9a4c4a91b953b88c819e147087b125c93657ad082971152d384e8c512f48cfe07a69f54fd95").into(), + hex!("88008b395718646492ab944a9139b95251214c42e90720c703b19b99afc971824bb87c2a4d40202cfbb62bd2ee30c15c").into(), + hex!("946969ae721cdb08dab293a638387dca6045e230cd7c7b7237c75e123355db9b8e444089633d0977dbb6e42a729ab4ea").into(), + hex!("83435817ddeeb242c37d31877a55194f208f4cab406b10a4a0605a54a19745f3517a880dcab8a5a4422c0e19e2ea8a2f").into(), + hex!("94fd0a0f870a6ed2e6a4f53f5dff5b5adc1a6943203da6a34c73694702733c991e146f8c7108ff35d563fb67f55a106b").into(), + hex!("89bc609d5223c73afbca46a8c3cc271990a8bac5191f1ef6a2c88d7984adff00d67bcfcdb3958c259e17d5cba62beb28").into(), + hex!("b39077093900919b51e68f647d11e0f78359be69c405fde5735ce6839f739081437b899f33c6c9e6c86d4bcfed059186").into(), + hex!("a0a6f9f588e336c14b91a9c0c56085830611df85ce6e99d759c72a4dbae500b47dbe736287f6b2d65b448a2a0e6ca237").into(), + hex!("8222a17ad961ad325b819bd0625e079a471e597adb89f2170cb490c40f6b8b1a08b2e23a1abec02011452d589b183702").into(), + hex!("8b77ca7fa195450ab3399f88341a9d323e8b9b7b9b2ca30985d97ebb287e1f9b7e0279f22ab3a2dad682d7906f6c8d59").into(), + hex!("b6b8389382d3336bc5ffdc752bc699a6bb0057dda7879901c7633787a2b412fb7852fc896ce95cd09a9b98c76bef1b1b").into(), + hex!("970a20613047ad84b61ede90efc41a91ef7259a5fa79ba23964ea907fba1fd88d2710b69fe5bcb0d75ed9fb68d02e557").into(), + hex!("8843dcb71117b6044b1c7eccb5010d0a2f93775a98909bf23c1773ac9eb1c0f43aba26dad08ea7823da593c38a30598a").into(), + hex!("b5b147bf651ef9696ed3ebcfc3ce226b2748a4c4e7cbfbf12b3ff5f1f0b2ee1372477e1d7d8aef8d9ce3ec602a63d01d").into(), + hex!("95433edd328aa9223f521daf6d78ab272fb83150bac78ef6639cbc032de8834049d4992af0828946eca69f359987584d").into(), + hex!("b2f4d2154ac750245e966f62b92022a136ed0313964ddf534ff3e9b4456cf58bfe429ac83b718bb38db5a4fbafab23ab").into(), + hex!("b6b1f2a3a99496dab156c6159b8c98990501894b5b0cf200c792bc462263cb0aaac570f5a785aecf367a0531ac2a87e2").into(), + hex!("9985e3ae265653082f068b8ac4c09d10b2543f920a19911cddf18ac53a7f921da86f11836f51f2adfb26c7bf4ad51efe").into(), + hex!("90c31f4985c7481e5939766dd080f6ee01ac7a4fedb9954b9d1fa8fa1cb0e6e7185a1e31d8503542f1d409ed2f550e88").into(), + hex!("830736923cdcbf7de3ae650768482845ed9b45c4dc9928d66481c76ead9b27427a96989389c8583a153851ab957d67a9").into(), + hex!("82312631f5b301fd3ecd8b0a6e83b130b6e997a5a1e6255e883c590efa00b0ac3bee45c15308efe824aa665c8d7a365b").into(), + hex!("b8ed7b3c092f7bb05aca8cc4c2041161426908e8db349cdd2064e95044f9e7649cd569039e0ef0a94e006094113d0e22").into(), + hex!("b1d6e5344b74a67699cda807ad4883369a77d79335cb8eded6e0ad9b64c8661b7ddb47ce4308ff69f947fc173f496ac0").into(), + hex!("922f0a2f84e476e6fc00c196eb913ebfaa6b205fa8ce8c8453330a58956872eb2e4ec0087b398eb51819ea2d0aae6b21").into(), + hex!("8c729483a3d2ea34337d9c6260944da7e2ea8646de66d39617924681189c79672b0ccdb63525cb4635e3cce1d8f72f13").into(), + hex!("a00af936fe87caf17f5b365f59d019f8438a62b8f174510d863da59097986011a9e76319d4125ceb64f1d83defd822c4").into(), + hex!("96d33c3832bf0af5900a20c067bd45dbf3f0ecdc086eb065afea6c44f117eaf9ae8841848578d2915452e61bad014803").into(), + hex!("8a16c15a161a1e898bf06a23f62a9ec042c5b9e875cbd54d62e11be181647cf09e6a0bc65fd62017ae150525c16ee746").into(), + hex!("b4a0443c452085bb77b5790be42005178dec8f9085e2f1b963d55de6978cb608b7ebb42e4a84f24350c768c2e78d22c4").into(), + hex!("9168aa07b4e29c67723f4b87a025fbe6876f13c69505520b4dd6b387f16530a886bfae5e5304539564debabc059589fc").into(), + hex!("9504db9c5ece4ac0b703ccf751503665746bd580f11106df3c8a903ae7a5c9b0520dd16c89671967e2aa12775af4f67a").into(), + hex!("a776127d4e2e46c7dee8559ac56b266e7eaaa26eb8db0a7f4df0c66fa1564a349f414c9091d1e4c3e7ba96938916c769").into(), + hex!("a85785ed5832dfa8c9a5dd9d20523591f04536712c19a38c2c1496ce9c8787cf37964d739f83d9979db5574ed524d557").into(), + hex!("a4ba9a3312c2c253394891714719d2cb369eea993353b07f9a6efe3ecbd245f08d69f3e1302d6ee312e743c05ae85cf0").into(), + hex!("8329604134885c08173b14b7c68b74ceceb3694a0a3f7997f566ba94bb3fb2ad3f78ab3d02c496858bfc95655f072e7f").into(), + hex!("8e3f5485c98cc317653375ceb44636054a3202045bea6e9f6faac128e115de7a658a49a6432858db7b4b14fccbb93f7c").into(), + hex!("a706c82514d19152bc4097f8602f792a4917f5cb409c42dd42a5e4f2ebd1bec8318019934ed6d19cb43123293bf4ec98").into(), + hex!("ae14d5f32cb99bf3eb0d844157f12b836963be0d6f91b776f973a66701924c1ad9c3496540db4292580e6be871486486").into(), + hex!("a45ee325452d4bb2c60ef5be60b7d601158ca1cfeef0734727562b94ef8f72190005567e2007e8940f8cc538838f1147").into(), + hex!("b8f1fcdabf33ba011c86487a082b19fb146de932a469b19518cda2ac046c319059382cb8ab3715f8025573ab53c5cdd6").into(), + hex!("a613f3dd6c8361893be08f816c640cdea4d57d3207704774eeea8818edf102cba7ff7b06c4c5d0fcf0873b09f72d1ef4").into(), + hex!("aaeab877b1d16a4db6e47a8a864e073c4742e0a84e46ae8dea1a0eed0d2cc9f23adce9e0c8d88464ec0c059df99a9583").into(), + hex!("8fed26ca2cc519a44ae38398d856c3f75d1ea6cd02dd36dab004188f3ef2167cd67d279580f37176dd70c1a0ab08d72c").into(), + hex!("ae18905c02f96e110f40d3bd99ab26bf28e0af939c6945966fd5e3ff440e54bcee56d667a0a21d8326f88e5c22e42506").into(), + hex!("97d803614adb6571f4ea11833d0d9ca8221e7fc99a960c637d4990a72727ed2713da874bf156dbaa70bd4c2f668681fa").into(), + hex!("aa86c3bf79ebf46e1cee54f517b7bdced4c7a96d3ab27405e7d68dba92ee6fc7fc91a107f3cca85096f0d2581cb4039e").into(), + hex!("b75cdcde1702b5bd6be180dc8ea26e5534da77b1c7bf711c8447a565a63d073474f0270d78dcec78ecf5baaea1f75d1b").into(), + hex!("a36e810e50d283e8ef625cf684c1fd333a0373e5b0a9d81ba40cabb76299af93c536285c5d7239e86ec56905245ed2b8").into(), + hex!("a16b6b41e5c31901f3c0fc2a7dd8c084fb508947314c4bf4b6fb338d95ff2cf49fdc5de1d6b9acddb1b096b835df6ad0").into(), + hex!("8b580da99256b1d0d7a90dc46a98ce5132fb3928d416f2df5ed1769544692482ec8f2ad5f57871041d8c78d00c949a0f").into(), + hex!("945dc91cffe575f06b4b01fdcd580da57403469a21db6ffaa77ae06d31b8a2aa9957e26db1bf89554611f51f10c8f73e").into(), + hex!("8c55c4000195fd1155ea608f586a327cccd1221036ffd29eb9903f8f28009083203f18480b35cf82e0390a5ffef4bfb9").into(), + hex!("87cec982094c85f6c1e402b74b52f7c0495ab4a2d3f2309734aa0bd2bfdbc88b8bdd9556664015c7d9fe2f138dd7c807").into(), + hex!("8fc576e4f9057d82e2fd2270a787c596bce5fedbdb9f6d612c2caeb1a778450d8c1f6e86dd011a45f3fe7f201e520438").into(), + hex!("a43eb1acf0de695d478a661a71128ce9c58923e3adfb62728a2e9f185c9f46877db645398546a300b75f2c849f5ab14c").into(), + hex!("b57be020fd23d3fcd6057997099fdd648dae32cb750e8d058b62a5e902ee5ca27771d762020cba2985884ffcfded3500").into(), + hex!("ad3ad1089c8232280e9fa2f6c314ae57758cfbc3a0663ad9517e35b74b19e49345e03d1d33d0d7b69d736501ec5b3f4e").into(), + hex!("aed7faac2e65c10b52d7b3009eef010a624c7f57a5c76c55afd310345707bc8959ad619101b9c1ee4bde44152697c537").into(), + hex!("a6b177c7f945cde42c5389f7258689aefe1b6ee0b243f9901c6e60ef1bebbea9bc297689cda0c93aac9b28c7d70d0022").into(), + hex!("b079f925c29da333461adc949ff4daf19d0500f516d95e3a4c3dc2e2f5ce26ba0f08b2473c03b6974146b239532deade").into(), + hex!("8c573c73d603c8ed73ac3eedacd8ffef4c18425699e30d46be2dbbeb3590380b0fb713daf3ff3cf7544da502dcf35cfe").into(), + hex!("a39331c8acd40377f020611ac9f3a758832e0a644a5cca318c01e654696fc607e299b744c0cc2ecee2bca755c9aa3581").into(), + hex!("8e71e261664d5a6094ee912fa7e3e866ebb5c4c610062fb5fd733359d0e5a5d806a3370155ec3b04e83cf7a2d7c4a0d0").into(), + hex!("ab048af1200dfb67b4fb6bc8bbcd8344547e57942f7397c06988c9c42cce53784a0282fc13bc878635a3317b8f306a81").into(), + hex!("b32fc2da89d3a3541a61338e6b0c5a7f477a23bbb9a7c63b1087f36c49b6d9a42d4720708af496d82c56e1e6836f5cb4").into(), + hex!("97d0e8f961033e4aaf96a75f585d16eca691dd05f4a5477e8d3a0fd97d02555d67b29d314b5d150dc0de3b72810338fa").into(), + hex!("8223bb67c99eda58237a765c8fb426871a1a9e02e6e91d956b16e57b8dbc30c0edeb76abb30ecb2f4139a19922a4c62a").into(), + hex!("8d9ec5c0575500e433a4bc66d196d404b8619ea38b0dcaa036e1c1453eb23c6949509243531ce59318c22db6e33ee1ef").into(), + hex!("933ac0e3e6acc7a238fb5495835a591db77c39e27f4034dfaea20bce7c072ff6bb6f59a9823a07a76a431905afa2dbbc").into(), + hex!("99f3cab4e8005fdb6bb44900a4f166ef0c2c48dad85c0a127c4d854bca4ad32a2954a586734ee0e57f3317e5b81923cc").into(), + hex!("8f01dc4011ea394a9f7a73b7f246bb00472632fe715314525f1db2cc6158b22dad22d1371e7d0b2d5e72cc408f07cb25").into(), + hex!("96e702adba7420e819338f6f8740946289bca6f24a5f14a5bdc727d1cd66bb7d2a573cdec8ef1333ca39685c33f6e7b0").into(), + hex!("890ab24865a2652a8fb96ced381530192d072cad275c19539cd74e03c001321216a0999ba83c8f3a162bed003dcbaae1").into(), + hex!("96e2f1ed5f78c0b018cb388447bb85b33da331a5a306ce4e216d1070beb7c3900f979ef128e85180c56958c0d729ecdc").into(), + hex!("8ef642d5a1fa4b32fd69f7f57886d1d9447ddd9a8425a03f15633cd688e41054d5243ad6f352a5a3fea2be2f3cb7bede").into(), + hex!("84a3177be656623fe280f91e2acddba52c068cf8a37bd79b9b4186ef199bad65f52cf3e47b581f1964c9987f088fabd2").into(), + hex!("8b913725eb48feaaed46b2e3ddc0cc414aeb433dfa584155e2eaf29020f6f1fa0e801b85bee4bd28831b5cc66944f411").into(), + hex!("88d802c75d422a713c19a600cfc9cd843ca41e35722e21a0614c3195ea84752337ee30991d860fa75a57ce3f614e0a50").into(), + hex!("b43cf4b09d02b20073903bf152f569a43864095622a472656d8a96efebfe3a20dca86871268ffc528a194bd951662d71").into(), + hex!("ac1c65ef79ad0e56184bcdf0680dde5547bd01b95d7e9c3c71671c71683709cdf7fb988440c3bfcb847c26f198b94f81").into(), + hex!("abebe453b3f2430a9287d0d5fc043f7ee434b33feac6b7dab58d5deed7568e0730d59f94b1883e3d43f3c2934d3f40c8").into(), + hex!("84e0acddddd0c202eaabfca7cbf88774ae374e841899942a2353064f132c6205ee378277b2703744a8bea9bc16449537").into(), + hex!("a69865f8a3f66ff4e548ce29a212041bcacdc85410b8467f0515842062b3204fb1b7616e45fb5f46a5619808fb390dbb").into(), + hex!("a55b426b402e9b27fadf87b27cabe5375c6941b22597dea75586eb9dcb699d925db77250b1d755512aefbd4eab0a2e4d").into(), + hex!("8047da13f072c9e848d33a0f397ecf3e783e7dd507ded7a4de25327fe89c183c8dd1da3d419b48f53d93537bc2c1a8e3").into(), + hex!("94a9345e464b9b28798c608115438f1eaaa60a56abad028729dddea3c856f7f871031b4f100626f8bb7a06d88f7cc6c8").into(), + hex!("aac8cc93a4bf5b383080738021fc56cf732988622fe0d493540545b19a6a54cdfe9f8cd2d2dcbd572bdde0d1f8cbb101").into(), + hex!("80f24fae3c8d202e8072092342f8b046dc9edfa1234c86e9f06cdd7fd2a1dc0f81ad69886a8c219f53a94b9a75cf6b78").into(), + hex!("88ac9c1d5c036f14566203d8e18421cdd21b2305cbd20f9857e4edd09e002ba0bb5c89b039cba417b353c6f2f63c50de").into(), + hex!("a45c8ac231d0ddca06f1bf03eeed331e9b524ecafa74642e4c4591cead603d4228cbb0701af58770100964fc880ff85f").into(), + hex!("88767dcda5fc82e5ee515639992868790ad56d2a4fdf1bd1ba1c5be51b381c149fc9db23b93488b54adc89fd4c48dcf9").into(), + hex!("b23e34136c22ac73157c7c5cc8a9491b0b5bc968c95a9c104b402cad9de598e323ada4cc527555157cbecadf48faf87e").into(), + hex!("99910638bfe8b9974a1bb7efed279de750deb046bc21a9655da4ea81a1aa807f2b76aa2a64d773b1b23af283ba3878f0").into(), + hex!("a05869387ea3b4c8f7403d85ec788499a993482538e0e2078d016f00d67571d1342187ae088c788dea518bdf295da88d").into(), + hex!("a7dd1735f178d53908e29db85ba6166640da8c8bc6f717e0da9bf74c547bb98a512266cf737937201cbf6d14bd9420ca").into(), + hex!("87f5b096a1263b51df28417fb423604879b18c4d0a8a48630f70e0f95226bd51a252d8be362df801680344330857fb5c").into(), + hex!("b1a5a549e27b8256c388465be3017dd123a7d257fdb49b2bb409c6430b6056cb8125bf88b5f196bc9e02567a6728c7e8").into(), + hex!("b70862d190351d6bec9c618057e407b43864a0dcf860b31ab6617f75e1ea02de49ff338a45af53783cbf10400c878a32").into(), + hex!("b27a654ece8541b9bf9c6ae0047969ebb69c4687a43030b1c412991dfaf349e2d3caeb6b7ae3d72ff0e2d758a04510fc").into(), + hex!("81368aaa4489c992a6ef3b55df26ece993958df2e40f04a95ca514fda56c2fb98f11d61faedd31860b89e89eab965f0d").into(), + hex!("94e14e03de977732b7c7faa60ec8180e77233a43d513a37c443be4fa0bac64308d6a1929de075b5d51efaa9bbd6855f7").into(), + hex!("b2e26d7b979f93e8dd55eea5a0f4985bb254128963a939ca07fbc33bf83ad7796e9426660b2f35088d7aa5fa0cda2ec2").into(), + hex!("850aee846e93c5204c1906a2782da71c0ff9e2d1962a778dac77561846e6f9290ab10daf72f189df0a57c1548bd4e6cb").into(), + hex!("aabcd7f870c299cabe4dad1857b3b6cc3b9fde2b525e9d8ec0fc1f497cd199108971173e61cdd5937c45758cbf7b9403").into(), + hex!("ac069d7ff2633fc73bb0b7607d9c27305a4e15c189c8da396d6685798c12ef179bb44cffeeb7435667fb03a799eee5cc").into(), + hex!("99e3eb82b955b2411d1b81d946e5ef6b9c6957ae0e368f4a9c279a0541c3a46e289fbff526a1f9db4aa21b92d13bc9e9").into(), + hex!("b5bc3dd1e05a66a1d775ae0ad159df19c7188f2c73a8553525855ab34617c7f080e217732003e09b29a5b36b12ba564e").into(), + hex!("aa631a69aa4a9c14de2c49fde83453633d17bb258a2b7ada723bc8e71ef22c617ebdf8ba64c72675440b35d419d0f836").into(), + hex!("8f42bb48587cafbb3936adc495e82981d7fd81d8c0233a4e4d44f9df72f8439a9a0228d6cf9d156ea608caffab8d9eaa").into(), + hex!("94e079215b8d187d546f33d5384673215ee65c70d3bd0778f67c11665af5fb025b4302518a0db6266996c136ee90d4e8").into(), + hex!("b3dcb504b50dc58ee7f2e2f78ca884d5fc081b570d1177b884c92bd34272ececf2a9319cb1cfb9df011d4db3ad266e42").into(), + hex!("a5e5b55940e379e6c0fe7c6ac9ab86f3836f261942e3933087f1e1deecd280af9afd95d1bfb384976d5947d5069531e9").into(), + hex!("b1a36c3a0a79836817a2890ac53c6768ed3965bf5d1663e2df69b1bba60910e84dcd4f917991812b305367786edfa288").into(), + hex!("a8d07cbfbbf31d113b80d3a1f82ec7c29c4d78007efb66b5592255acebbd8e1b0c8b927a866c79211d5d4994648153ca").into(), + hex!("acad1228fd1ffbc118ada45a27f33ea02a09455d0c295510da693d741ca3b5725af41b99967ea6d429f604736a4fac81").into(), + hex!("b201ad414928e315aa00dc60b89c7a15464d5e97c30b551a462d02c35e327d2ef3244a98a402f9e055a2f9af6e970733").into(), + hex!("861689f35fb72780dc0be92c140dec07857290495baf3137bd2e83ace2f268f205ffc58edfb0e09f323ea5f14d0ce10d").into(), + hex!("89138730c80c30dea01abfebbed79bbe6016b4924193d9c2e8bfaeef30616bcd92f0eb24d5345bfb005bcfea989fd8d3").into(), + hex!("b78092afc3f16397d2eaeb5bdd7fc6c01ef516a71102124febc0cb443f4446c18037ae75c7c1d0c8177454b092922ace").into(), + hex!("a739cb664cdefe7a2f38333fff13bacaca129d718a043fae1a1b7c4251a77319b44589429dcb9ad113f24e11d3b75024").into(), + hex!("879996d4bed3d3235c0f73ac8f3f612eecb6aef6756896920e0229f5deb1d91feff95734e6b4143ba89badb5cc1f0cf2").into(), + hex!("a213d854a0496d74526b3c37a48d6f610452b44202424a419acf206df1cf76f7357ff5c0899e45adb565535bb09c29c1").into(), + hex!("8afa04d66a3e8a2759ff088395cd98597883b3ca6d8811703f5fc74b822ce4e56e1dddeea2c099fb3e0f6648f990f1e9").into(), + hex!("8a2e7ca192972af2b77660b07aa612811fff94c951532e3fb6829e8031355363f4aeed0f9e02b845f00cc9ad4b744c4c").into(), + hex!("8f0757fa7ab1eabf429802c3811caad65833e763029c3aaaa43ce921abeb277d7dfd06e0e58d36e494871ab9bb090668").into(), + hex!("91c0c0b0564fd95db51c73637fad622e6769206bfa03e41474a4e68369d10de7da5d1bd2b5d226f0564cc1ee8c3e9074").into(), + hex!("82b35466d835a6f13080628ce407cfe495cbeee26a5168de9e595a122ae3757f2eb0a64a71ff1ef6ef26c8cc97ec1f52").into(), + hex!("80d11c7a711fd2dbfedc76fe018fca09295d5a3146df92496ba01063e5e098198cd9c52d3802e6cd033f64b3c651b67e").into(), + hex!("8607de2cda6838c70f262dadb21409649900c27a5bf3505ce2166ef6f616f4b7119aa3e3f3c62c1a508662d7d68e8f0e").into(), + hex!("a1c14cbb653115b6225f53e3e6ef8e25f87cf47315b25dea5e658493121ca22733d3fd2781920dfa3a04271d58970749").into(), + hex!("aa876cfb3d572bc1f84a5579dfe8df82a9177b441492382e8ef6528e28e46ce59fce9a82d42c1c2000b28cff06596d18").into(), + hex!("8742ee128452ee98f21360f903c0a57e600d622d4ac793f32d6732f5fc315f757bac89b0f39a4ddcf4b8668cd02f3e78").into(), + hex!("a2e04418db55c0d9163a1bc242e6d43230a943ead121bf8a5f50c109e4ecf0fd99e5b126a4fe2ae9b0a248e613b54f7e").into(), + hex!("841b7c0ab57c2cfb1a180a9b0a2875a7675624f0e5c779f01f3f92a1ea547cd1164485f54bc433d71c7b054a6fdfff15").into(), + hex!("9855f3506dabfea5a133ad49557c3c9e1c7b6965215cd940bce4bfa90e98d9c62999feb29da0af8768b99f5f82c64489").into(), + hex!("a65939fb29f1d913e36be1f877c8b9a3549ec17313c4354b1834cf7ca9ae220af26a72cdfdbc59567bcd7e4152d90930").into(), + hex!("b64edc36e0bcd48cb350350fce955609ae51f5bd197cb7d42b04a2ec7f8dbf236b2a3b23a6e0778d57796433f0e6e9df").into(), + hex!("9379a72a722c1a5c8399acf72ebadb7ab1c5a2e18137cd3850b211dfef907850399b6151ae7bdb590a6eb04387ce0c31").into(), + hex!("b621023f0d3c731f49a48378c3709a0c051fa1e3f8788d27169a76dc35d46cd6095b32d7e91794c35f4af8d75f950411").into(), + hex!("a82421a53687a444a065ff1e11c439cb7342a3edf496f2ccc04f56fc6630bcd79ccce1437479a6e7d6dce918d3d45181").into(), + hex!("857fb59242e6687e940fc114df3c06af5a89d85c762140b1e4b0f8cbcae9d604f435377d7a2d153a65e0dec099e3e8f3").into(), + hex!("95e6a571cbd7c7a58c1c599cb4c837c9f31757a6ee4ed6740e9d55c350baa847ce6d081023b43b397a3798c6843baf13").into(), + hex!("adc1e1f8523fc6e3d683dc0ca15ebdbf471de635f25fa7be6fde9907bd3fad130baafd7d21b43fa04738d4c19448d788").into(), + hex!("85f8ff5b661f9e529421f7e5f831db1919ba3170a59673546db695c3af8a82cb1ca352e07e6c801ef9fe6f501d5896ad").into(), + hex!("937b374871e35266c2815e4d0ad72dc2b6c756e840ec36fdb90a71ecdd4afe13f6064ef36b9d1590a39a7be2156fd728").into(), + hex!("ad4aa9b451187905652222dedfe6135111ce4eeebcca74ecc74f3464a07831754eb0072abfb96adc23d0c5c33a1d9f16").into(), + hex!("815bc7c9c7c84396bd0de5c71b78f2be5fddbbca3f600f341a21533ae6dcfef8bb94f4340ec2a90f40ab091efe4cc6e7").into(), + hex!("90bef1fc273005610cd79161686b25d88ed2ff2abe18f16a4054fa05dbcbaa339825616c117f55ab26d12bdf2e414f70").into(), + hex!("b96e51c2d2bd0fd78c4d3b9873d217eb76642c329a9ef293010fcadb45ef2f9ee3a9c34b0365e344d33c464c08a0f51c").into(), + hex!("94c4048c3fe7dfe736458ee16566027290f93b1f052c3cfaf28f5c33c32af6b9cc960d86181d54361dcc10aca9f81a58").into(), + hex!("aeaad402961126722aa5033c6bc7735d4cddf35ededaa08073ab1a8412e5d1d06e95c58c7a95409edf1566ae904d795d").into(), + hex!("93d019b814d00d5eb6e7545e6480da089fa48ba34f0a961c704db12e34a144818c306cdc4f31320e542c75eb0f1ca96a").into(), + hex!("a3c21f7864512c38a58f02c0c83993ce6294329b074b801404e4f941d21e4e7e5eaeccd41da8ac423c967b7230b2a505").into(), + hex!("80c26a2aff26da9d8d739496b5a63da6d8d35544c71b7b05b41ce4cbda89e6d32e85fb1e38a215aa01dc64cb43e089e0").into(), + hex!("8c5e66d7668ab7e0de06ebab4a4ffd13f24e4458610e64a972a1e1f15356f6e745cf36b8cde658d03817f2749616fe84").into(), + hex!("a1260c9a6727d6d4a4c147e0c7ba91c5e2a47b5a08a07a3ba0eaf9b50360b6919495b4aca5f85e8fb2e4ef1c307286c2").into(), + hex!("9150fbf49242afc6ab7f865d4a92e7013eabab432b341710232e0fd971eb2b214a3da5b82617a8b7defacbe060538ea6").into(), + hex!("ab44ddafebcba5a0fc1002f3bedf595f3245ae07c9184d640154968e4993d85087efa8a173a670d07eba1c00d3ed1c5f").into(), + hex!("91580bd78343a09b62e31bdef63dfa9e0c874d7b39eb8a4300388ab053f262e118f790392f73d4fcf7714b521690d94a").into(), + hex!("ad4b8eb477ff8e573a911a1a4c1ba027088828cde7907e193ccc4b853aea74c66d19ea99c3779f6ce4d505ad83f2174e").into(), + hex!("a5791ba6dd8534607100f405b2f104c987336d5c47a544ed571d0babc6dd88a634296773faacfc3fdc13a5f7ab0f0cc6").into(), + hex!("ada0d1c948bd8f66442cb4b9cdc3a5368ab6c585cd8be766b468864a8fbd60535e454943731d4121ca134743d05221d8").into(), + hex!("a83556f376d8cc4a26b53223b11426da96bdad5351c2fd451ea053346b334eafef9773e3486928b9d407d3e13d5dcdd0").into(), + hex!("83be01b65302a31c5ba09c8329f683904943cc8017cc8975272d7d284b6a15a3313e27887e4de9110f64445581747ec9").into(), + hex!("8acd831b27588a99743c5d4f61e6f0610faa530d6259f187aeade29f1c9d5956f1c01a5faed8be8924fe1e8d9de03571").into(), + hex!("b17e88d1fc760f3d6633f5b48411b7237e276e2fca621d3db4619da62993bdeb3c12cfe7d130a92e4d3a14693d1b87eb").into(), + hex!("b769850bf9b77a1958d5eb932f99807cb695eedafd476d99131e3d7340cb845a33cb2cc7b640a0f3b14901b506802ff8").into(), + hex!("89e7eb7cc852326b6e18cf5c720c4e44c474d254de9e912d22510aa4cc1952b5e5c40b46a4907be375b89bd57d9f1152").into(), + hex!("af7ec9a4b836709701fb497f69dbcd0d94bf986fb6894f48c67014bc8b0ca947da71722d87de0371923f5bf2ec82ec64").into(), + hex!("8d3ff45719a7fc5254e91c710d956a16b8e8435fc4c8f68d1a47672335246bba9627d7058510d25417b7eed5ece5c110").into(), + hex!("a99a7b987f7050c230ab1adfa50a30b4f3782cd31467ff9c2a749182a1974a36a6a375ed5b0909d1e627b32ce0245ef5").into(), + hex!("a0bea35f339b54d82e345204fd4b75d41af3bd08d33b223211e496ef7fcdd8e327dc5a9ecb6fcb7de134b3eaa43d30f5").into(), + hex!("9419df6b2bd022fb6c79566f932c37828ca7a5a1a9efb64f470d7ec06e0d6b0b0147cba88814581a0773c80cf3d21033").into(), + hex!("948b0cd553cafa57de03279b83fa4f28cdbd0ec4e2219e25fad53c9d3d28c619ede568ad6e095a155d117caadfa87551").into(), + hex!("b21383b264f67c8c66011a79e20a4d739d1f8fc258562e6351eb1e1c5b83e42090f1525886ff4b65875868ae17a8faa1").into(), + hex!("aca93939c30eeac8fc83c82ff6ba3549ff38121115a60b7fc94b7d64e1f36f65e932bd8f3bbf2bcba986c9309861fcfa").into(), + hex!("a728507043b7e86c0bf19cbd81a45e1ac98d2edcea4c7faa3381df13f6352232b711b03829e3eddb7770213866dde7ff").into(), + hex!("ae0bafa42eece82975171e94b14e7063a09bbcd44cea6b7da4b820cd5d984be4c00a2e9e5137b0d34603e1ac914f889b").into(), + hex!("b63cf4b55c4a62c50c356cc2721ae5a89244ba9aef2c9f5c93762837fb14197479435f593947c8943ac77e6a2ade0208").into(), + hex!("acb5cdbe2cc7c44ad3980f9ba74b0a97f36add3fbb4e9b513c62157c14812aa73fac68be8c30170c39d1aee626f5a1b8").into(), + hex!("b14ddfe1c42321feb8ffd76ac041814f3d690fc16ff47b23ffcc247e8722d50ae001b6df4e1af6cd7c67c8799c8a1907").into(), + hex!("abe60d6024a9d6874df7e59b4bbd7e1e55da22adba1d16320fbfa2b68e8db995997ce6f81f8809e96c40f548ba005787").into(), + hex!("a23307e2ee6d96561452294a9265cf0eb1d6f86b30c7ec48066cbbe889eb7f0d64819225293496db709a1fd60dde7e5f").into(), + hex!("8bbd00e149a9fd5eaca24581821c3dca114e008c3e92a36db536944f6b5e5e983628f155c2319cba9a8a2a26d3885add").into(), + hex!("954fcbe0655b82bfc15679237d98c3759a49ffd0eb7f5da1827711814b92e0a4be2c0b7a96fc16ee3e31099c993ce6ef").into(), + hex!("a9bb0a14061ab4de136605e94899a41c3585ed190b2a97f529e911f02ff389652049616b408aaaea81d38f08a8f6c533").into(), + hex!("b58fa12cd0b69ac2e5c50b543bb15abcc3a0c96cc9cebfff34c4f7dc83bb5ece69d881348860385456eb6198ecc640ad").into(), + hex!("b73597c5ffd3a812e8a553bd3ad2216282fe7c1203120624b86cacb8a7421ea6807e29fac3383cfd61d632db8e3af5d8").into(), + hex!("ad153b873be0eaa71ad3b0191067874e085164f8428b89c7d2e01af0802169a9afa1775ca0f9491350db9e6c7c6581e9").into(), + hex!("8a7fcbfc564fd1af76df52ac5802a7342aff25d745307d2b9cf29c4470273686d9877b4588754af0e1bbbbe0310c3fdb").into(), + hex!("84553c8b77c7e5c81bfb1413cfcda7f8fd95c78c011c19189784be6a5e7352248b3b30cf5c80d9262de6c35ae6d4f1a5").into(), + hex!("8866da76cc8ca6522c3d41c950ea7fd67d448e1d567ecfd0cb916912d597b754807f7489f5e3bea7b4110cc8088ded24").into(), + hex!("84adaf9a79d5c3bc8dc7e669ccc5d4964254d0fc32bc535e54c5e4a4f45aa3c409c11eadd4fb21f4c831329087adef06").into(), + hex!("a77ce1ee4f8feed6ffa0c5cb8fb7fe0f95a03117e746b56b5e8178d27a1582804e84a86aac1cbab53aadffd9f84c0bd4").into(), + hex!("863321bf40995482cff032854ad5017bd885baaa6ec4ef47ab6bc713640b1e258eb40797ba049fe677937e3ff7a2ba2b").into(), + hex!("a46fb6fad471bb923cc38748253f887b53153ccad475240bf7244c1f9f568ade931b0522911348d64460021639bd831a").into(), + hex!("86604e383195be9c40ab728db426af87698d0e34157edaecc357544037d66d40e558cbfef7b005f8db3c9faf541f2c6d").into(), + hex!("abb7d323687c1d0ecfe89d411d9a81d05d009b84e652af437cee40e89bd2657641cbacf28120fe93deb0a1d3b410fbd4").into(), + hex!("a8d2488d99e04b79057739e6e0522b38a0f68a21bc190696c38d96f0e58a9395e3b9011e54d2cf7e8fd0b380e753f2ea").into(), + hex!("a36fd6a64f64f40ece0babcca8926dfc005cb1d90e4adcaa9c01ff3bff8d73cc0f95bdcb4f09d7e3b5d761ad5c3c065a").into(), + hex!("9699c0c5b1695416470c302f3097e93b94004f42369be26afdf04aad49bed67851d50f14c44efc0a90e311ecb27b3387").into(), + hex!("929e6ba1338579c1cbe76f1b075c0fd9725adfa97ab8b821aeee75133a874426414fbfb5cde7f7f8b74fbd8b27bbf7db").into(), + hex!("ae874a087a61c3ba4bdc2a582cdeace6d321f81683636440943dd860c783344d4133196197a108f6f473bb1e75c597ae").into(), + hex!("95bb2da076a9fc25e96affc7e4adf71496dd5802d7443cb5a77e3d52ef544aaf939c0884169df547000b3afc55cc208d").into(), + hex!("b0b63d1993f601c8aa96448183ff560f291903e649192e2e34e796bb66a31f9d0edd0f03ba4f1d299fcfb1e931abbf39").into(), + hex!("84cc92f8897d0bc0efee72d62ec3a8c07b7c72e00913860623982bba412307c2c42069ed90dd996bc56ffd0573b607f4").into(), + hex!("8ae9804b99addebafd3672785d4402a583c97821087589b7a129961b6131fb18c2fa60d606cef4f636b6cbe46b5d6415").into(), + hex!("8f4c85506e99d383b103217077c70571ad8b9046d039174df6d9f1902f8b85143754969bcec37519a1340c79046f1c32").into(), + hex!("81a5a0214a381d72657e1142a781fa8db0d849e1e012babe4c912a1edebc5dbfc265bc7fbfdf8b6ccbefb55eb0fcbf86").into(), + hex!("82c0e11c9016d95501a97e551b8b926fa317f02fb6764cdf0981796e6e23cbf13e48d46bacc875681900fe8c1741cd27").into(), + hex!("a00912f7bf9abb33f1624dbeb5a960ed32addb4d6bbf9770b6d82d514eabdc339f751e41c8f4461e560141b53f086f8c").into(), + hex!("8d905bcf245556e52587f92957459a41b9974b5d8b8d2baf2d8a98edcac2a77fc8b1eb70024e1e28d5c7a190d9f2a77c").into(), + hex!("b8e19d883289d97b0174cebb92d12a8c6ab16e4a8f0db9d7b67ccb9bdf97f070352e6b24c2decd89e7894099445d8b96").into(), + hex!("89cee93ceec6e742aff71ff60085f04e9550ef5568012b4ef0aceec9928c677f9711ea553499db812bf80eb5df021396").into(), + hex!("89d58564c0215295070329974e51e528ee4d9cb197b089755a86451098bc2f347be8be5b0cc06240315f75222ba2e9a7").into(), + hex!("a312cf33dd49ba6488ee13200193f06a5801407a15fc79956f977586a27a4b2d4cebf0da22f6c1100ce2a0d08730a383").into(), + hex!("acb541c487eb8fb4034ca6208f542c5adec863f1346dfd50fcc0ba1c6866e43f0071c8cbdd62ce6a2498e16e80855fff").into(), + hex!("98022eb774377f49b90f41439cc6703fa152d1d38c0e0c78eed49cbc54670369cb2b7acbbc37dac6617e57e527e41b83").into(), + hex!("8f00d44e73473d7b96a686d1d3b0848095d0514b70128c22ccc4141219dc3f5d2ddc3345cc506ce0e747ba358289bcc6").into(), + hex!("911e37896367a3e8603eaf995480bbb62229a3758a608c4822410e46de45a1048ee6f67c2039aba9fc95281ba5476623").into(), + hex!("80a349a605d2968fbe362e40672b33eface969c975ef75a8fe82ee7ace1d0b5034b7af8667650e813876a8a7484414c8").into(), + hex!("8b00779d873c6976d8b01afc94734fcf943c1819ab1c46e512e0c43469cd08b93158caea1cde84d13a48f27407048748").into(), + hex!("99030a66c4afac7e3753abb669cdf576cf96e21b1d698135148ba133e2d8fe97b4875d770e6246597461958224f653c7").into(), + hex!("8766f592d757c09f617090eb8f226016073a992990e16fd64a705c0c3104b202d36de18ccadcdb3dac5d68afc2495b4c").into(), + hex!("961cce69a7a39c20500c96332d2ce4cdeb3d844082edd527fd1694cf499b30bd33f06da66047d3849b49f4c2ccc8bcf3").into(), + hex!("8bd5dee639c3ef32712931295cc5bd0a8820192aafd35d1f1f9a24130bf208b7cc3f2ae99d6fce02dcac4c8225564d5f").into(), + hex!("a89ba310a62330e7396ae361da7a74a596e4a8be02496c8f4b3c860ac5c3cacdfcf4790d00b2ffa75fa900db2bdb15fe").into(), + hex!("89bebf6f59151404989f282a567c378f2f5a04d85225e23e22e0963da27673f3c7e8990dfb526a1133a988811cd03f45").into(), + hex!("81e9ec6ed189c12ca8d4fe32e21c60834d7938f739545c7dd76303ce347b69beba9eb14ab780c00cfe3804c5756417ba").into(), + hex!("8bbbd7b584948e34852a26d18b9dbb46f2974fb68bc8317ba5a168094a74bbe2304e1dc438777ccf92117831f7986c84").into(), + hex!("8ffbf94991bddefde2bf0ccb115b00d7b19a6a448f093816b9db0c65a43a27519a52ac7b88e6e37a7f33d384d42b05e7").into(), + hex!("b62267be83a54451ace1b8e2b54994990d2e1d619e040c2075cf1906c25089dcbc08ed8c2f2f8f62953b822f163324fd").into(), + hex!("af6d55c342e0e7f0bc3ec547ebb4688a884b59410aca90ad6d8730b4fd3543952fe2476e2db871618d12901fbbd2b91b").into(), + hex!("9027b69f6e5d550acb459f8b4b9e3f05cf291c104594cd244b224eeb8cac419800ebfd5255d87e0dde31bba662e20134").into(), + hex!("8bd160918bfd8049878826f443fa416fe32bd018262b1b4802e015ffb0049197c34d730c5ecba951a93986cca1e23825").into(), + hex!("b82f2bf2bea66697c4b5ed6d340ba74bbe0dce84b2d23904270f3500507318ccca0dbc967a69c4379bd12766708dcbd8").into(), + hex!("b4d00a38be54fe5ba5984af648c9092b133f21b22e56ea106442421c03c26d282b81d31ef8d22ebf92c0c26f86d27512").into(), + hex!("857d95d8aab25f91e7cbe0ea70a3159723566192c1d6dc0e68c2b19565a865a0daeceb4b1c733f75b0dc9cbfe246d870").into(), + hex!("b222a1f3f2d05912987902a861796f43cde8124f7dc398170beb76b6434e7095a8e2d5de54b2692490cb0c325cef8956").into(), + hex!("b016f69dc65c3e72e77d43334863db2c364f3697c552d4bc0730f45cc32fab5f60a5dc0f9f2f6df409fe3e2ba3f2f3a2").into(), + hex!("931b966d70e048570c463bfe7ce7decaea3ad80d0540ca079ddb10958398ea27df85de2fb2b7c238d0763d6293d34b4c").into(), + hex!("aaa3cacaf65a90a6a8e8fcbb98b673160e5f410b28b08a8733444cd71de9e807e00b146ae35fff05160a786eba6793c7").into(), + hex!("8effa24ae2c3cc12aef32e737faf7985c03e2ccd984cdf740f31aac7a93ac295be7fafa3a4d47812d9e0fa5bc2b3472c").into(), + hex!("ae8f1044330885e22c376ba50926ca10177799628b1c3f6b731113126ace5faa7756ca80fda0c535ddc77d051632266e").into(), + hex!("8a6613706dce5417736438d9bc779e29646a0b12fb1c5b5e118aeffbe72d37ce71ef78d3da4f2cc8c1f3bb47f8721cd8").into(), + hex!("8a435b4d265a01f7de575ee8893105de8be608a370c2f1870b7b097bf3635abbdfaf164ac1c704a6c9b31d7baf48028a").into(), + hex!("ab842c0851dc81e247a42806ff83a2e23b86147d884cfc828cbd1f3abc7fee929657bb49a2910975be746f97d0bb7c7b").into(), + hex!("81966af3ed4bba12f6895bcc1e2d4af8a0b313f45446f4f2e966494460f77015d2c9e65eaf396653f8f55e50413e7986").into(), + hex!("b61357419b1d65649e79ccef51d68d1e7c746d77c7f32692b6ff315d9dacefdee2a527816ac3118e5c80e00212725c87").into(), + hex!("b3a0c1e36006ab666e4d4e98c78df5630abcc76e86b3c13c342efbb64c2f669d12a98e797429871c12a7171f7a751422").into(), + hex!("93601527015bc30178505d37cea121f19145e366be178e42c9ea7380ae34053c45938a3b4d8ef852ff8701764bf74a52").into(), + hex!("998a446e7b4dbd7a7a2055f437859dd3ddb44c52d3dad9250f085d797c821ed91a17dd13d00f532c5f0f2321c5b3eb9e").into(), + hex!("af35c5f4bb11a87ee3f626007cacfee4ca892851459cb9cb2e127e92c9c274f9082c905165758976f9c7bbaeb984acf6").into(), + hex!("a0df73b065667fa0f6a4894aba39b3e4aac620fb1a8a3be96c94423231917c3a7d75f04383b40cd802909d9cf018b0d1").into(), + hex!("85c9c5a5302b706af5af436c07d1a1a952ee1cf4a0cccf002f514473fcf85d05bc4c23b5da2d6d0b5d0aa503f7e41a65").into(), + hex!("abd1ffa853de61d8b26e6eb6c7eba5636967c155233a6d73fdddd361379ec51a74c242715b6ad0033a6343157aee7ebb").into(), + hex!("ae45b130af61f3e76012da75b19d46a786e0c21ca7c6b5bde193b2203d6d8b7b8afad25a198e8c920c69954d3d6bdc14").into(), + hex!("93729120899ef573f6f276a1ba861a400a35efff7a2074400bb6b5df818e3fc1f353cd5a8e4ce122a2bbd8f5b30126dc").into(), + hex!("b34615b2cf8912c51c02264008e0cd78b79c87b87d56db810d899490bc438d446f734ca958c7c291aff68e3211ec8c5c").into(), + hex!("a1ca372d158fd7eee15091582c6c1b9ac9854959677ee25e5786a94cf8c1d15b64f0019aef20331d9675e1f1ce41fd6c").into(), + hex!("a4bd66cf90f38233b579b8698f5655f077bdb1d626e1d36ceebc67cf7ab8ee8e129cbdc307895bf0fb6e34a4aeeffc68").into(), + hex!("ae06f6db3a3ea3a21193f6c6231db42d18fa3aa06a8295741bab35589dcb1d51256838dca01356d580e8c423c45ddbe9").into(), + hex!("b70b5f0cf21cb98c70996a9eb6e4b3562732505299149bbebef821477ff406dba3979a2526b9969213b9ba75e35de3f8").into(), + hex!("95cf5980f21a58f4604ffb99c8651752f724faacaa216f8c7cbe400774deda53f26aaa15fc6415e936f52ce13cec6ecb").into(), + hex!("933c0e5bbb358f5f83cf9e60c67ea8fdcc0b7a203fe5b07131e3bd69295c507880a1e542ab2a6a8d182866f7c6b14a8e").into(), + hex!("a8baa60ce583afcf85e4756dbb0a4871b330ee70f7872c3e36ac4d43f2587fbbdfa2a13162ceb7efdf897bb96fd2d97f").into(), + hex!("a127b3828c422ff51a067d482fb67074d45fd0a86bea5066c7f6dfa83f4b82b4584646518e898ff725cf5de055c6b236").into(), + hex!("871ef5a7f50e5ae528eb16bc30ceb64b97d111896d34fb4a65c93c8d0498eb7032033eb663f7b169a8af4b96e7acbe21").into(), + hex!("80d0bb10037029f0d8f8c9b9b46f0d0ff32b2198af44a4f84c8c0ace60f2b39f8f8d284308769c6075e9425d6229905b").into(), + hex!("b882ecbb78c758c951fe53b434af25b594e602dd783787f09ed077b79f7dd7851fed769a1593f5a5b938ea2171987d3c").into(), + hex!("ad41cb47b16077f73cbbc157527a17c936efa78a59d1f36e3c0dad67cd19fdc60cb772556018029611aa46643084f024").into(), + hex!("82ad3ad7a706ec19b39b0c8cf75d061ea3a1966dab04643f5b9d711e6651b45f0cd22ce5048cb51e4e118b305bdf231b").into(), + hex!("8286a4970b8db361abd04e5d197849dd335b7074f9c3fb91dfd19b7f43d2a3ae9e114b0cb6342463986d32d262c34d79").into(), + hex!("a844f14ffc4c99989a6c666dcdcc135c2fda96914220b1c565215d5c2c3102f5413b7edf9b25882a02a19aa78c2bc545").into(), + hex!("8e758f3b03fab7f5d0993e78674efe3f9cc211e268c12d23911fc01ae7a4c8f879a393e3fcde0c05c10106a59b59ab72").into(), + hex!("a973caa021aca6f0470460b84df9324ed894a441435a53c4f0c48fed4359242ee71fb3a0e4cf438839ed838f37e5c02e").into(), + hex!("ae17c713f10747282798487f02d25d2d8e7459ed436d90a895617afb9299ee81994ed68ef87ecdc0660b7565c323f0e8").into(), + hex!("978e68aa5f44daf9cfb9220147ff509ffde89d121d08d982a0fabae9f07cb3145c2312ad200f2f0dc051820fc54d07c0").into(), + hex!("844e58a9e35ce1005fd5785f56fdc9b3f7e8e073f48fa40da19a5e9e84aca00b8743c5407920cb554e926873092015c8").into(), + hex!("b296da231b6ca9d5535432c81f7d0c20a71cbd32d357740d1543e1e3910ea5d32b005938f9273af96e401637180f4606").into(), + hex!("8aee25d881e7ba99fa6aa2fc65ebd44aa498d31ecffc595ac8cab010f6cfdaca308f56e616ae51d7e2c2e15864eda0bc").into(), + hex!("a04298e32052d7f91096285c73d67cfb3f3f5463abb3d7caf3108d8d77aedf9896c359986ae598bf9602dc90e6eb3178").into(), + hex!("8c336e463dd98ecccefc55fa366ac70a2fcaf60acba2f2171490642a6f616a1c6b72601bfc3533a5f49ba02dd1e39fa1").into(), + hex!("b00b383ef5d68f0939c0538c7564614401283c6923dab4db4c72a05a88e05bb576ac374eda61c024345227bf45161e05").into(), + hex!("9273a1a6c9cbbc8d5a46498b7658f6125e955cbf19f0461d1372ea9de200688e4f7376b23b132b41cfd672fb42ec48b1").into(), + hex!("a7f04c0377207a6bb5d96e2e6cb9f7696d5dba2acc3dcd6021ecdb3d121a558999b2b3d92497f72f28f39a551b2fbfcb").into(), + hex!("8d530cf98af85dbd0bb7b1f2fdc24d499b19a941ef431bc7f37ca9328a4f6ceb0660eb87edbb1a5d868d3141fe6c51f5").into(), + hex!("ae88acd7fddf35c72c3ad1c507f8dc185546d8acdd92d70f00991f50afd67809167ad3171c7e45976456fca033f0a95b").into(), + hex!("8df71ffbc265a4bf475ac7ebdd5eba137f4c3b585075ea8957757661b3f11e7a92888094e85c8863ed53d91df45e37a7").into(), + hex!("917737cb24287f30c899dd88853ee3b9be54ea707ef38f1545ef9e436865be1399fd2de4d2c04e3fa5b4a3205f4305ac").into(), + hex!("837e57594b1b71fd9f25f27967b721df500e3d7c72f22e90f4315e10fabbef027ec1db0dd9863b817071fe3c9413a5af").into(), + hex!("94b9c2155509b2189883d2237cd37c9ed19c3a22203e9e2b045184aed072e406e93eb7b5c3fbfb85eeca4c5e630e4ed7").into(), + hex!("b022c75923080450ffe5ecb8e01972785628ec2027b6bf3dc2b09c92ba8ba55222965767c21a240705ed5af6e9d92695").into(), + hex!("b993e15339e28a472b3c98bec723ddeb7728822571ef1fb1c2a1607a4023f37d663b615c7855426170d9ad8f6a971617").into(), + hex!("b34db4df6a97056021b088c53cfa7cedc8e585f907a67d1ee8412a50d84e5e3d347011fb99d5d71b111c88f5efd44610").into(), + hex!("b582bbdd7e0d2ccabe94e6d193d1b8dcad1932d1e96ae8e1a295cc05b381646f682f1f66cb90ddcfcd7735b335ea0242").into(), + hex!("b289c068f7c988a69173d347361047211c302abfafbac1d87259388b5197274f5ee90d56228093a42eec32039e490868").into(), + hex!("88e84114e8e536051ef5197ad181f96ce13fcd5627f18964bf4bb2f461c6638033ba363800326e494e43aeee94c62125").into(), + hex!("80d16c3e8717274533ff3b764984479b3bc709f11ef5129644dfcbb5d8bdedc7a8cb2e539a4524bb0fd4d977ffd25fb0").into(), + hex!("9405d059e30017152eca6d6d86366a7a5570501d78c3869d638a2b8a0bdc8c5bce9f0b46764e78680e2fd41697af9d52").into(), + hex!("ae23483a1d25f8b9a5adea9527560cce5552994b3964ffde2fdda0ce7b6156e1d76e698d7314b0820976776baee37b63").into(), + hex!("8d8395fa4ff7ad0ae3be3d3c446cab058890cf7a07d0a2825e22396cc938cf2d7a986745be5e3c1758c5ca0dc29c0ea3").into(), + hex!("8c5899cfb437a72d99085d8abf54eeb345d7da59ef93978b0cd9207853dc491451939f4b1a7bf317c87504ce949713b2").into(), + hex!("816ca0740bce43365bb20e41c3d0c88cad587e4c743b2c0cac9dc966aa8de220da347d65392a9b750a2001499027e3c5").into(), + hex!("b3d23c55cec1d18bedd276d1454f93ad28c72d921dd6600d8102710770f52b79ee8cf445f6781c2ca095c9a25d41489f").into(), + hex!("95d541d6196c1221dfa5ff213dc3e658649a3cd4afc8e738631fc7b6914bf0dca74f41cf382fab364dcb0d2d6ed489ae").into(), + hex!("a1ab2fd361b973027f6ee6a9f8f2c081cb5d7199d69e36c280c7f9c3e99b1cfc994ad7f68ac0cd78c61bb419251fa14e").into(), + hex!("ad36ebc0cf82369457b665dfb2f8444fd2add0b49658cef2c800ab0297bade2c0249bb124f3d321536933128c1149c92").into(), + hex!("8f917e000d7688a0f508777b8db7c0ace39677c4458d7e50d8c9dc59d32faba4abdedfce3af26cf3d04c020e526ab597").into(), + hex!("aa994238e432c51896efdfa240f75fe40f1b1a7b624ff0aba66a35f827b9bf1197de3cdc0bbd9d0147304061ced0325f").into(), + hex!("943da065ec673dd41351270747e40c1f5a8dbd7ba259c501349ed754ffb91c56747a78c392cb4b78a796d748044798d7").into(), + hex!("b0c45ed1457710daa48edf2e61ba59988a8257ddf902318c6bb00be7a4ad8235b46180f7353d9f0c0f747a4cf219d1fc").into(), + hex!("81b56da0943d2940fc8041a51c74dd03f6dcd8a705ef2ec3b685395e313224861f29de31205d45e944e437179f19398d").into(), + hex!("aadd5eb1be98f3fc7e93925e46062353576ef2ee81421fe3f6850701728b8f74637d66cbcd344364565b0893d8bdcc9f").into(), + hex!("a5dd3dc1e172c899f4ed17fbdb842bea7d7f3f0d6b284af9749e25acbfbb2f9c1afb1848490bb22da9ddfeef30232323").into(), + hex!("84ba149e940db1663271eb16e920442bfeb035fc601a7389f85c78ce7bf27b13b5c1a5625d8b45dbbf199caf2d753bf9").into(), + hex!("b5634eb31a68f45a2aa17e8eae7752d8a58673fcc9efad34118b0f3db7415edfdc27166e6d809406da0bd26a0ae1371c").into(), + hex!("a2ad4aa94a40f1c159c7588ebdd77b80edbcfd95e867ec6991f711d39b4dc911cfb6da6075db23bc090218976e9ffa38").into(), + hex!("8de6002f3e789b014254b32161b5595257eb01ace67a8cd9657235e2d04f7ffce6ae0d059488bd9dc070c32b5b7b3fb3").into(), + hex!("a5f659b41f35fe6a9f43d1f72c803da876ee4aa5b879fbe5d5e93be38dcd5f10716122d83afd003b79b8120d83358884").into(), + hex!("a64e6b71dc6ab9eeb17d50e1d2516c5ae63680b50a6077fd870780aebffca70a8b7f8627e23731b79b3866813a20af0d").into(), + hex!("b0003260e70f86eeba286d3d9f6d73bf15f084e7240d9aeee38a1173ea5c47fd9a9637384204001873732e6a407edadf").into(), + hex!("8d4df6703cc9f1d0760c67ae6b20928ffeb6b13d67bc406b8a534ecb07d6ef415a106ed992b50267677f7d114f9d69c3").into(), + hex!("8cb982f382ac327918387c16c73de1ec5ff979923f1110b9660836ddc2f5f742aaf970700f7b27fb2fdacb126d341353").into(), + hex!("b6988aa5e4043e278c01c83a9774175b1188bc2d78b96817a7fb406f86aa4395b7eb666267e819a5a0615803f840171c").into(), + hex!("b69c70007de643e3fbaf7b557bcaaacb67288ef6ff616c9c89dee0cedd33a76396a90cb44207225568870c7c5601438c").into(), + hex!("971102768c0dba73925cfff2053b1cd8fa88f5c21aeba2cf3a78ac853818bb4a85cff714134879e5c7d7c7994cff20a7").into(), + hex!("b00b8d49b1f1fc0e792e257b0c3c33ab554fe231aaa6366f5aac11ff35051ae23cd2a5c6b9eecb3ad00e840c78d6a587").into(), + hex!("a34bf3b6d9659f1a89e40e3b35afe741a670a3a9305278a52d479535f4b5973b23b10ccdfa194cb2937f150beca3535f").into(), + hex!("a84c4fd757d86613a4bfe72cc9d7864c2c236b9463e365441360686e19f7f772ebb6c07a24c680462ffb1f3939c870d9").into(), + hex!("b3c34a2470e32395bd9c8789905166ba77b7b7d27cb504b8647dfb4fa6d65884afb2f120d83afd876b4a00cb104347a5").into(), + hex!("b9d18f57a669686eb8ec08555972e54505b7d487dfea7105afc76333138d5f934b9b5f9a3a7896481782fad5328bdbda").into(), + hex!("a23f65babfef6a2442833441200291028ebf56031d7154a4d7d0fa18acd4b7bd78dc34b85924c3073eb5be7733ac10f5").into(), + hex!("80948f3e12ffccd88605cd4d67abb83014c35d8d1a3254f6c546aa7197f810cdd06eb49b99f424187df218c8e8d7254e").into(), + hex!("b24ac23a86e23a16f4f04ed683ebaa51ccc6d2d038674e36d00a14fb71d46c433373a8a0bb75a0afd3c2f9605dd4867f").into(), + hex!("b002aef96f1702f4e3c92b00aa2976b57b77ed97a4d64619c6db676b286c6e633eca63fb232cec0d533a803660c20147").into(), + hex!("9867492f550c1f12276a201717bb4c420bffe904d55008655f929368b664e0293c1dabe9b5a5a71ad884a12686c1d9de").into(), + hex!("96b702733a7ef38b23e45999a04bacebe414a01bb41792cd9aff566fc23610d02e069c85c6fd4173846a40657a958e78").into(), + hex!("8e588db21f84245d034d7427055996f109133b9b3aa095472b879bd180052657da20a48513c1f625c339be90a64878e8").into(), + hex!("b6821bb1a130460ed1936d34cc189980d8fae8c5debc5149d47e90aad69ed3b143a3a00de5959e21ada73a06b3e8c9d1").into(), + hex!("a751ae06c6d699b5593f5928910e1ef3634dedd460ccd3f23d74f5f61a3950392aa66149ae366c048c6c7ece968c2d9c").into(), + hex!("86835cbe686b81fe7e096af5ac8c24f7cfffe2ce2b993626a606e42f6356c0d7c3d4ea19d110aa1a7b7f7ec5e68808f1").into(), + hex!("93719cea4911ce7e436f7b3ea77b9cfb83a1db903cb38f1de3b04d0a69a0f06bbc4f9acd3b313d46113009a917dd5996").into(), + hex!("b0d240c09c137a742d77edf11a7257030ef8b1a785b810de104fb24b22535cf0d62bc54f544b027d532f16b43a2df7e9").into(), + hex!("9376f46ab931f5c58b1be49c529ace24fade089af1af43b339721321a273169c5bb668250b2c2b0aa16aa522e6675bdd").into(), + hex!("82636e68d0d59d20dafd7486176b62ca2d5dd0275c8fff552fbb974565ef2406ff56cff5c43a5b9e383e0b09737de446").into(), + hex!("8f300fd7f29640aeb759d09735f9ac36d1035248c35ff38a165d2d931058268a055971b4fd4dd9d467960180cd255dba").into(), + hex!("a7d5f4e2b01dccd9cd7cbf566b5ab604efdaf9b682bb4ecae1b7801c2f93425350620e91ec807b0a110971c316e68cc1").into(), + hex!("8952700221cb45e3ab933ec20978d9c9c7b873784299b86d0c2d9998bb6b1d1efc1ee3bcd00c5148b2fd9473838ce067").into(), + hex!("b787e77d194e4dfb89968f4e289e97195c2674adba0a3e7d5582cefacdedf93a0e5f27d9d144aab68aaba878fd640414").into(), + hex!("8466c67bed3fbc30e46639de92c422f06bc80df658340a47299ad7798cae412c976fa6ae6bc0a32ce655b93b08cbeaf5").into(), + hex!("ab5d78cf76e16fcfc0491886fc1c95a492ccc67fd31060eb183b89bf59ed6e2d349324f9734c504e74c360272a22f369").into(), + hex!("a4f9f8539f9f89dc5a2c8296af591277c2d308275234729dee23e35e3d541919d1aa9a260780899615e2a895ad8fe703").into(), + hex!("94ed2cf23c5d28497b506515597ab71120f4ca42f7ebc5a4e87b798353eb70590923eaaf163bc550bf312bd6bb2c0b05").into(), + hex!("a78f064aa69402af33f1c9c1bcf04634384ad8528aaf8d28ce1d1a04804bdf93a8b49baddd6870eedf642e566d091af7").into(), + hex!("86796909d2dd3010e8d46c3d99a3c0efcbd4e986e581ef5be4c7810ed8b92268bbdac1dbf1b24d6805df6642f53f0b58").into(), + hex!("a6b555b50ec3b60e9768f407b84c5fd8a055150c17f78f2d5a3b0daa13f2c692e5041184bfc8919280c230c57adc9ddd").into(), + hex!("b4f9b0a0242ded4dc0a4903f16d270f21f2e15668b3abd45f79e1b465bf50074d232f905c6de6f2727a0a9ef039f7681").into(), + hex!("930b7dd8666a35358c6a0a42c600dbe8ad5d9682dfc641474fbd8fba90ddaac7d3ed5f5395f297dd571051ac2d603333").into(), + hex!("abba3bdcee368688a8e53d56627b915148fcab59717174fe8136c85bc24e8d15046da09b31c0c7c9a5bac1016bbfafb5").into(), + hex!("ac199e71110e15ebfb3e58b8ac14f1de8ebd3e0894f273f84783ef3fa4fd16ce6bfa5d41421e884e258fe8e2dce68075").into(), + hex!("a53eaed94fe550c07375ff5ed9706d69563bdba724a4022cf7c639737c97683f036400dcb87268184a9877eb116bd479").into(), + hex!("86e8269c1b368228438de5aa4065ab9d2888de7599b00d5382ebba8fb0600cf357de27e20edaa50127e213c7f6be1f6f").into(), + hex!("8f8d9b9b03b178d370a9e918dd54264f83c4ed20824be79427cbc973a9acf3d74637e5c35080192bb67e64390299c19a").into(), + hex!("a230cbc17aa669c2a9b02e736d20519d93a6fa1b6ed452e065fa78a0fb4b3a0f55fcbc5e719db6417353ef0798f70b43").into(), + hex!("b4e28c30e57cd33fdeb257cee66389365f4a1b9847f94e8b0552c65adff5719e51d50ec8bba36a71ec24641ce4fc6338").into(), + hex!("91799f066e16f9a07a419d3e425c959052f8ad1aee0e2f613d3b023829fb1946c81b16e8b733ed03ca924d03481bafcb").into(), + hex!("8ad935420f026b166233ad387c58857eafdd2fcd4efe55ce1bce9ffd668b8997555927fcec88b04de795129a10263d1e").into(), + hex!("a098f20bf1ae2510f1955c586c7115a29c64bd22a086a2f2a7ff5e08349bf24086504a1e5e1fa82b3aa73a097bcd948f").into(), + hex!("909a3d2e7bb5538bd89c446aa53f1f05a1ec17c88d793a310866cdda6e5d836d53fbb80afbf8baa8aa49db3836c912e8").into(), + hex!("89e64879667f34f1127cfacbd9a3337fa28c0227bac5c5ac907d6ad9c3a853472f4f7cf093e3b735968229398bc7c94b").into(), + hex!("b6ea32c4d640f9b7de841575a00003c1b25d0a845eb54b065129c271790bf602cc39761316c4e9dfc1644ae3ff4b05e1").into(), + hex!("80ef23a1cf6f50f96d5b4645bc79ed4c958f1394da9e5cda0cdaca3815ac8435a8d3a690ed19665b7cd1bef8bf7b0366").into(), + hex!("8b7346d1f30de7e50e3d3b32b441ba5681335d25ae6025623e1469466addc5515415a29ecfed987e07bd6a85ec1eabbc").into(), + hex!("99277ae52f7f2f193549739a704aa2f756c2ddff68b9848040ccacc675fa12d62c9fc1318daecba514089537a4e7b83a").into(), + hex!("94d392e29a3a1b8ce63c52288fdcd3f95f80bdd2a600626e2ce3517162e69b9c0eb36bae6786701ba12e23a33b8f90b4").into(), + hex!("8f270be40047911a4cd5997668bd6d62c90780882451c544ea4bdebe061a9e61bafa1d8bb8af62e0ce4fd73611a7f34d").into(), + hex!("a841f7229fd0490a853523edbd12a5dc6772bd607afd0516c582a813a10fd74d19f480d02b3e7b7b6256896620905976").into(), + hex!("aaf65a2e4e6a3d903ccb51a063d64688590a3ae54c7df3c5e8820d88533a6f10b81b130ab476c9f16c660a81f66dd3bf").into(), + hex!("b3683ebb70696339844ccac03925ec85c8dc06959608527a1744c23a67a805e71b5a91610fc6fbe0f667d054b4087e37").into(), + hex!("b042a5614245184e5a4620cd3a67c51811fcc0a0dff63ac06dc8030f01d8343ff0bd39ab3cdc3c09e4f3c1503ed35e62").into(), + hex!("8a343ff96dfae2c2e62558db3cc424b3c055e2cf84b53f63bf49c95d98ad0b372517df7afdb189007b7db725a3fbd567").into(), + hex!("a3a81a2b37160a371ceee3d07194a70e58041a3e6f75f47c4d8e2c619cae3f44b2de5703e3b80fbae9778e284927170a").into(), + hex!("b9554f94b7c611c2b3f63df5ac0f920d1eaff7b424bc8e857b94c354aa1d3c02a4348510099750e0af3e16dcd0f9a245").into(), + hex!("8678aae32f5bfb9dc249a39eb5d0638bd45d48d2b5b7be32b5e1c2be7b8d29d7198a15e2c24fa7813f060309f2493843").into(), + hex!("85f020a228f8952986c979028dbf2c2e8e59191970ea5e4cff6e6bb46251138d9edd90a211ccd53fd395db8addfb6d71").into(), + hex!("8b0801e8ea30467063d68caa5d3315809b3f21c7429f256fc2a10f7e173f0e1d1bbcf59e025b9e44238a53ef1b8318d9").into(), + hex!("a4d3fbad305853d8057c09bb10fdea9234ff90d51ad0c21342248895d77ead5a8c104c554e6008677e396b55d4efdea5").into(), + hex!("a7f12f870c5a3e2332f10cc2db7dc26ce58a94ff60ebc28f3ae06e820e6514d80c5133563225011213e53f51f748413e").into(), + hex!("a94ed25fba32b4302fff40e2c55e06b6fa4b9820635beb0b43df61010ab5cdaf944199bc73c4827214ae1f57bd75e70a").into(), + hex!("8607e973bc67d217ea67104eb538fcaabdcefcaa7da981ae0322916f7a74229b47f18820458823e7ef160f69f5363dbe").into(), + hex!("a83206fcc995ca57583c5952bef2027503308472bd712c536050217a391bf0fa9617d956ff6c913c2566cbc515cb291a").into(), + hex!("b9110bd697c294a0905503490d17d5536ac1782514bcbdd6f67e8fbb75c0922b39cb7f742d28cbf5356e4f1885b060c2").into(), + hex!("96e1d2b723a458f6b8cd4a8b2a83f33fc7931901cac1fe2169ffbf7c1ac8b4d8547165af3dc61c2b37ab88d3e81f940b").into(), + hex!("92cddef13af28962b7e281d5c0552ee5135b7a401944c9ab31d617b072cf00365e24dd87f86f6618b202d51c25f63fd6").into(), + hex!("a751e27a646ac1f3c828cb88585aeae6899d0940252973329b0589b05714bdc1cd271bf745d482f670f4ccbcd9a60d98").into(), + hex!("861fc00a2edf468353c6012a89ab7cddeaf964ee387e5eac48037eddc536df3d097c69a689f09bdad189384719d50e0e").into(), + hex!("a7dda298ac153aaa6a59785ed7b6900362b1220588a29b44764cc45834859bba0f5b9f8f17bba97fb49fa2c7ed4eb65f").into(), + hex!("a6b679d47e1ea1469e5dc14e1eba97ba2a0f2cec0a9a0983ca086f917298c93af45de60765aa2cb3759ed62c9eb5e4dc").into(), + hex!("b95b1f4472f8f69ee010d36db46c268c59cbd13864c63ce9e6a4755ad00c2db04c951e312b88060e8411018cf655e76a").into(), + hex!("935883b9eca730ef868329a67fe99ed5363b0384e7e6f97147d4c80a76d9b2d8ae6783e80d103149a8a3fbfd51f9f6be").into(), + hex!("ace980d1e3c76dcf78bbb87f3ca9bd0bba7897fcf9e24b27e00fa22855b1b4ac224137361ef6817c94fcc81fc3d3a3de").into(), + hex!("a614b6f113d74d4dd6dea66125b11195212031fd7d3da825b24739e5107cae653fb89c34527b399c43340064a9744a6e").into(), + hex!("83c27783856f9af7491ec9fd34be730600afa59484cae9d3981685cadb869dbd05555a07b93db7d0f361c9ae8e0bfe73").into(), + hex!("850f1389e21bec1c8785d17316a09af9355d32b75d02d9ad72791cfc5a411595a367ba9eb641c5b7acd6be1ee21579ea").into(), + hex!("b810405c7415c49bce0f7893aecde90da33b71684668877c5d6cdbe82161f9cd7eaa2d68597140e39fff8b9cd67424e5").into(), + hex!("a5923930d34526d70e083f4633de4766f04df901ca3adba4a462d03423b609d9813b78a2fcaa2d770a5abc27c260c39e").into(), + hex!("a6ec439bff50a4bef8d0cd47c52e92cf00846ca3fe97cf88e5b6d7800ea22d0ebcac49d9ecd123d4c156642f8bb4389f").into(), + hex!("97b7d3fbd11886976291a24e9e7d6f4974345e06024121eaf57097057c103b6f548d1f523416cd6b465e8109aa0be911").into(), + hex!("b45f04e0d4c17df2815a6fea2b04fd7cc2cbb8e6789084e224db3c1d00db1c6f1d325a63df25ee4a9a992553dab420b2").into(), + hex!("a91dc563b48b4cc210119ff55bec2957e8be50aa25928147d0434a9ea4088e98ba1f17c2050e713d2891a3c741ea6c6c").into(), + hex!("a12256c39f3b17c0540d2d3442b732b2485ae9da240a1ef47782549dc7e84f7a9c9240ff59a73fad228a3c01fe953169").into(), + hex!("aebc98b50533d844fe3149735750c10eab861e765aa7820e3d54fb66089ce15409206bb58d3aae5ef22a29ac5207c702").into(), + hex!("b023d0e4fc2eba4c60cedae9d2ffa79cdcd5c79279fa41baa94f536c17d746a6aa76e8fe203fb1678da126c4343eed8b").into(), + hex!("a673262367bde5d1775961c7d9aa26d9859c59600536130f9adc8f99f81f0106d2eab2c5ac3912476affcab3821fecdd").into(), + hex!("8008298954370c0c3026fd71fb48fc619caa394c9ea17273284a903b07de1d385336fad69c8ab6fe6692774d5fabcfc1").into(), + hex!("a98a824454bc0fba41a6543ba11ec6879c979e97c87e3f7f3a228ba995e33bcae9378740f925800b81d3627f2af36c51").into(), + hex!("a29c667540db41eb7ce06d74ad91c7ddeb3e1f019a028b8ed4ee705d8d079d6f7d36f1b64fd4b9b807f0dc1ab3d65d2d").into(), + hex!("86c32be8a7155f26696c1e541096ab43b3836315490a4bdad867b973ebfa8ac414e4074819b9639348a048bd6fc4bdee").into(), + hex!("a0de748319bb0c53c03f172c9aebc4f7538dfce6ffdd362d24ffdd111448277a8a705832e94f65c61aa635a5f40b6f0b").into(), + hex!("970de7621ef90cb3921f747ce1cf9d389f322cebc286c339395714a6d40167fe26e04e1fc3116d3b7bea1c99bfedf0fb").into(), + hex!("841ae6b0bdd22718fd917ca4a871d39cf6811b9a460b99422fb324235b2c51b460e48159d7e1bc1778de3513b7ab1f29").into(), + hex!("86764a78587892407b311892c4c4e70890bd757d3f72a832257f411646e9298eb4f042ec1c929cc6ffcf539dda90fe7e").into(), + hex!("b33008c5025d35243e91b6749e7d7934bd8334e5f58e88db907715435a28f02d018b09127fb0302d1ee68d7f97391040").into(), + hex!("b5ea29ebc8107525894d9872ac88b4c9662fd18d87316565a8b013529b478f17f6c1c0ddf6482db6ede54d27c0e80782").into(), + hex!("9576def9e5dd8673d3dec2090536672d44368b78b2c2f70dd9e36a9d0e5889cd9e2a47b77ebda94388ac75679257b829").into(), + hex!("823dd44b4635bf095786e47f836c4af02d4dea848bc1cd823876266341d56496e09bec8612413c302fb34c3383a55e0e").into(), + hex!("b6a32b13f8b1339b0591b9db343696aab77a0c2ff181d2069ff39581da8904499d619c26e6e44209b7791c3aa2fb7aa2").into(), + hex!("b9b3262a97049e236e29afc4a7c6d2e2253f437e013b90bd0882d35d46d7a67e1344b3dc822fcae27717a9887d842a81").into(), + hex!("8a94e08cda133175049eb2cddae936b16c477db54a749b8d3378233034f56fdea99520755ec8eb355b738af61138d9a2").into(), + hex!("a55933f63c4cce4d99d8df4fe6dc9d9a3054379ed2560bb2a9147f9e456925ab29f7b1f14321ab2501d67dd759f5ef36").into(), + hex!("8b5a713fb50a2aa0671f1405876b0a829a5c1f7c9915906bcad26de7e2011f8eb2e2b7a1cbf94c19685edf8b364f242d").into(), + hex!("97cd2419d4aaabe457b1efa6d2e557a0c4d8725e57e33018626fb31395ed78555b79cf90da49975360a497049004b20c").into(), + hex!("90d640d0c949a73543b476e0b634d442c0bbe0f4d3f1f4f99d19fd8d37d3b99c4bb3c5c08ee77c24f0af6dc7c29ce658").into(), + hex!("8f65263c9ac0026d9a536360c8b01b40243cc27a7896fada367372ba82ffcf2c758bba9f92c96fdd66956b25d7162903").into(), + hex!("ac50c7c4b3201f2c98e812e83452ded2e2dfbeb4c1910b873978c4b5b443b34dde042b13cb4943759cefe1a546bd8197").into(), + hex!("a07a157ebb964282729ab09205f5a2df132b5a0103233dca67dd55215b84e66423c576c6e0b055bf85c6a27025fe1aba").into(), + hex!("b89462ff76b35af9a1f23bbeb7f3b6e2f72f4d96aaa30fcce820573654895c76d813f27dea9251c96ea9e3f1726da99e").into(), + hex!("a81866a83434f91d464a93a50c4906224f3108777f731a1d363d16f769795be8ffd23c25f0e051d8c43a55b665c15bda").into(), + hex!("a974e15a6315d56d612f5e8d70171b01baba976ae1602265cdb74e1f5cf3a48c94e8b90bf1d343f3f56f8f9ece604ecb").into(), + hex!("97ad199e4ba05c97c5aa90cc6e63ed86f78fbea35b9f56f5107df643efe40647d1ac7e50cf6e1de8b4ede8e2225e090c").into(), + hex!("a67c3822c0e5902355fe053c3c41765146018dd90de0df89c6ae230826056e91cad2a28f06859b8ea899486ddbdbe6fa").into(), + hex!("a5dd8329edde8fdb8f82fb71637c7a4d1e13c51ab2b24cc98b80952575e821fe31c3e7de5a566f8a98e0243cebc6d1d5").into(), + hex!("b7070e8349dbd4359414c0d909de10a472c4a7fc4827804b3e1980b1cd8f468d21d4c6163c234c05f05534e423f6199b").into(), + hex!("a1acc31ccbb89ba6ba5be3ffc26ef83a28c3b0f76be71f87ef618f9f8171c8afdbc5f05c521c67171ea9fde1bad7a9dc").into(), + hex!("a86d620245d119b34f55c6145a65937e5ed5281803675e120d8c2de05eabc08f85eb8d8c877aebf535663518c4fe2f88").into(), + hex!("885317798c5b49430d50d5c5eb527540b0b704794d88d510b2511e9fea2de299d8f2cf2ae2e96196a9c0925ab1f30da1").into(), + hex!("8a5c37ad34f1867fc9fdd3303ffb86fb0d98ce27fd6739078949c070b44081349368302d7c910fd3d886165b5fbd3304").into(), + hex!("a1935e801664a3f51c22e616d25fbecb3f3be76b936e4d2dc28a4bbe79d002ddf01b94cdf9e18d07f2e2c4bccdfd76a9").into(), + hex!("b3d13a611ada38fb6c802e6f7e09d03703e9e7bf82424ded2774d6493dc0c7d8965e7839ff4d3f9fe00a1e8fb20bf13c").into(), + hex!("84f6edb320cf92e147ba3ba8b2470c57dd107b80ea8083219d3c91b77fba7b20b6774ae7ace26924c02c9a2247842bcc").into(), + hex!("86546f16627c3b875790b604aeb19c925f6d32db27c2ebf405df0324095fab1f8b748fd94b6c2b5a2dfeaf748a565b3f").into(), + hex!("b95563cebc351d8237e5f9b8ab984976e84ebf7e16c62102629cbda06c86b013c6a973d007d72a870883408b8343fd1f").into(), + hex!("8d5eff4d3238446be0f805b8f387fd57f298dfcadba88a0d87234bbede46d0ef833beb0f2ede7a51fa84a808393757b4").into(), + hex!("862179dd50e7a0fa7906248c0f3671d8d3b25504e30276da74a36edfebc8c92a04abc9dc3cba8c1b34005beb06cceca3").into(), hex!("b12bf5775e3f9ae29da6b127ffe2892d5dec12f9c1bc21426c225220cb0d5fca5c6376afb5bf5f112f79c6563694007d").into(), - hex!("b6f7e7ac8c94d870e72e5d4eb1d1ea3d947a8574abf16484015dab642ed91bb5d56bf58342eb39a470fa3a1a161190a1").into(), - hex!("b0297dc840b6b69cf2c07dd0ebac2f18d142f0c8198c2f589a6f15488c5011f0268b5f6028ebc6dbbb0b667cdf715014").into(), - hex!("970d73226780ae209519a2e47f305a2ab5d090e13861881bdb91a9f9c0aa35a0ab51e0a3e998874c6fab2e713e77e60f").into(), - hex!("acfb66f9daba7c2223e32e6915948f4de24de855e4a3367a31d2309587385a0d7c7b524eae32aa1c3cf8ad57638d6d97").into(), - hex!("944a93fe62b6e01200c84c7fb3c0ee4d80e0646d1d7682bceaa59fa41795b82e0cfd7c1bfa1b97bc80bb0aa78f0a9df5").into(), - hex!("9441f4c9af620e9194040c849261cff206533babeef75c11ab60a1f88527ae7333a09761a45e1b1cb3d75b508383ff06").into(), - hex!("b95e08fd0a2a4550d10888565445dea0596bd63fbce372d98317e082fd83f118b97685c649e8f3efb109c17aea1839ab").into(), - hex!("a5ce7c83328df7f489c9917f745aef821cf08f7739537e21ea200aaa9c8be24420a8dd956dbcd2c932c18b9afdcd7282").into(), - hex!("ae3f4c31f68613b0b8d5ec60fe2c0f0c2dd7bf6584ff781d626aa599a80d7f69babdebbcc3e6490fe00010eb3f079336").into(), - hex!("979313ea19cd7a9da1a9e1f328a4135ac05c428fb486dc0eaeb164cda4b67f19a422dd0e90a97e31ca3f7da918d7aaa9").into(), - hex!("91c6c6fbf9f9f4a89a04058ae1a933f9cf231a3e7afd884be6a718471bfc2e5758e6c2db96a7a373fa56f5d74c35c4a7").into(), - hex!("b3adf0092e6c4e42b348cf4192939f2bb52969c049493ce9805f1b7951ba2f3f63a2e9055e1336981968effba23a78d3").into(), - hex!("a707fd4e878a4d8e9ea0ae4ec5d3af0d5e768dfa5e3e5fda8994732f59e3ea93ab1c092b3c95cc4805eec9982c9ab67e").into(), - hex!("b11b6f94c2aa360ca83812f9043f2cb6572bd8e1fbbad6aa9500e70500e73d18e3ee192d38e1aac0e2915a320d0b190b").into(), - hex!("85ee7d5973f325d102df61862664cb8e3476d6173a1348b2e1e4f08e1230b7842538de9b42d5b0cfc098afd7ae8ba710").into(), - hex!("8df67a2af99057141129b76af2d1c8ff2404ef4e262384e68621866a347da42009f2d65056758d1fb9ea4e8553132abc").into(), - hex!("886b02ba14bb4d5e718330b2b74c620f9ac8792dc241664bb5a131eb827c90abfaeba0eaa387a0d3927c603e33a2b7e9").into(), - hex!("ab750c374526a0ac480a7f794df525aa019f2049d0534b84f8bd1eb245afa3724c7c4d0f4284b0d0e274b1fea048fb89").into(), - hex!("adb4675d29647e0125b552e1745dc4f1133e03328772a02feaf192381eca65cd32cc65785ef0c76d8b11ededa54faa05").into(), - hex!("a857288945a122c6aff92d3d6bca148d7393e24b0e12618e2671d776f5a7caac987aa94170c417141fe256c702d1ad76").into(), - hex!("8413c90c0bc9c3727e8055131196dd3867163734abddcea3f1c534acd9368a62b9a0745f593c83817ee9621177175399").into(), - hex!("a40eda15d40d1082fedc3db89c85b1d67de30d1c69bc3348411eb21019db0912c2dd33bd01cb4a88c4e67ad41c39bbc8").into(), - hex!("aef299b0fdcd4ba504e57b09d54409257e569877f772d8e88ffee26589509ee0bc524c4184ed091ed878f168cf8750b3").into(), - hex!("922410f5e3e90269fe3acd0c21f0010c37e3c34e942a60edccb9bdeb850a0d26474cb9b1e3e7fdee82b9fa97be5b1943").into(), + hex!("957cd40aa0864b86bc64420a184988be4489c0f0a3363f39571e71a7443ac6815a1b8ce4862c736be8441108dd78101b").into(), + hex!("8f31cdb655b66e1f8ad877639f71524aa78c09acc24aa493bd6f6be383c295f51a6e70f2573081cf87cd41ef55f5428d").into(), + hex!("a8f304c1f2faa78683d409dbb0c11e26583fdfe845f2557e378c56acc9baaa88cce25442733edcdd0da70f3e5557e53b").into(), ], - aggregate_pubkey: hex!("87370927748b4ac40aff18cd8c41b59c866d1905166db636d36413ecc70ab50d51975078b911e0bd9fa0e2f58bf84e5e").into(), + aggregate_pubkey: hex!("870e9dfe2c909b7116a9a4180da4fb6ac4865f9304adc4c36dde6f82338c43352b58dfb494e6095bfade1dbf86e7f939").into(), }, next_sync_committee_branch: vec![ - hex!("dfd70ab62da82d888ec7d97433c2fa91cd3b246fce9dd356e3ac913b46ef03df").into(), - hex!("6a1ab1550d1e2fe719dd0bbe20a2a6d73a1585a07b9cebd8e96ae62eb63f3642").into(), - hex!("8f680de2951f65cdbcb56c6ab2bd24fe9b54f600198cdd7a61f3a190f754cee3").into(), - hex!("e85d156d5f1b594bafca2e2868de7ef5c9bed9dfa54c2a11b7e1ef21a65cd2b8").into(), - hex!("435a46971418d6ffde98f7fa565879a7b7b05c8e550f7d27d281dd9aa3bacbb5").into(), + hex!("d138fae7ec85d4d5ebd8d7375b3f39f4bf0d05439e6920a44bcc977e62ee0dfa").into(), + hex!("a6baa91932e6f9d9fec678e9fd75a140c8e74bd87f11d37093839826b95ceeec").into(), + hex!("926c0348ccc4c44119ca84e50911ac22078ab704b0784ebc593155da5c5adb53").into(), + hex!("c4a04575645ebf0cf5b3317a092e595adf49dd93669424c2a5efef700ed082a1").into(), + hex!("81a062566009887529ffc6350f713cd2aa30460c13173fe9ffcdbde71fd69f8b").into(), ], }), finalized_header: BeaconHeader{ - slot: 5681631, - proposer_index: 5402, - parent_root: hex!("ac0d4a57f559d610746ba73cedcdd284f6890a92e3b6b06efa4f163fe0e91bd5").into(), - state_root: hex!("4ceb613f5f7b4492f45d3ce6b7589f148dc1b784e042d758a8e9bb5253366020").into(), - body_root: hex!("664723fd7e0dadecd7eb3a50dd9c45cb324be5bcfffd843b91b2b0dbeb7d3138").into(), + slot: 5808479, + proposer_index: 218610, + parent_root: hex!("ac0c3b35e7e21d11d0563f98fb16bbfb0460aef2ee5fe39ea209aed66694601e").into(), + state_root: hex!("c66e3a4f1718ce82f35c898e8df8080c540aca493a535a2f6170a13b550faef3").into(), + body_root: hex!("207806f82ac8c5bdb6793dc61f31ce91dd06a7fe3a143d29b6579975c64d1d9c").into(), }, finality_branch: vec![ - hex!("8fb5020000000000000000000000000000000000000000000000000000000000").into(), - hex!("66e3accbde2497c209c5f77c748204ab6ee6536cda422e649f91009c469b7b57").into(), - hex!("ad3d19220d9f924e50076392b8a4492d2f23c94af6e47d1526ddfd79f0c9aaa5").into(), - hex!("8f680de2951f65cdbcb56c6ab2bd24fe9b54f600198cdd7a61f3a190f754cee3").into(), - hex!("e85d156d5f1b594bafca2e2868de7ef5c9bed9dfa54c2a11b7e1ef21a65cd2b8").into(), - hex!("435a46971418d6ffde98f7fa565879a7b7b05c8e550f7d27d281dd9aa3bacbb5").into(), + hex!("0bc5020000000000000000000000000000000000000000000000000000000000").into(), + hex!("8c04962a994aadff4d3042da73e167e666323757db5b0234a497c7ddba058ded").into(), + hex!("95901d6dae3edaab0f29f2c6155edbc4eb3980b6816339a464fb51b91fafdb7a").into(), + hex!("926c0348ccc4c44119ca84e50911ac22078ab704b0784ebc593155da5c5adb53").into(), + hex!("c4a04575645ebf0cf5b3317a092e595adf49dd93669424c2a5efef700ed082a1").into(), + hex!("81a062566009887529ffc6350f713cd2aa30460c13173fe9ffcdbde71fd69f8b").into(), ], - block_roots_root: hex!("9c5333d55a30f16bbfac3a95d266348ef7cf656b376ab3c78f7da07df269e922").into(), + block_roots_root: hex!("93a5736680a9dfe23df1f8a6098c0671c583dae469847e25da3532b3649ae11b").into(), block_roots_branch: vec![ - hex!("dc7d7e9e5d6b9e127f3b219b32f585c9add3729b291320304d01dacae075a924").into(), - hex!("1dfb32a95d3b68833e2ce14a808d2247da992ab52fa6302429c0466564c05fdd").into(), - hex!("f3815941f1f40b16c287090cfbfdb40ccc05faf4f2de5b4960bc4f9b223cc9c5").into(), - hex!("aaa336d8dadb6bed0dde8acd21009c87070855e052b20af29f289546c3dca8de").into(), - hex!("65cda39a94c329d0a8191fcb19e1f41b9e8053a30049938014e3b0be771228ca").into(), + hex!("31a647639bd26edd8e3976b4475933d18d7d238210881f57570b7b4030133da0").into(), + hex!("0a3392c5febec2f099f93c5465c68f4f1630927d0326ad84c8d0b318364dcd82").into(), + hex!("986071ec073d43597d67a6595f7f6fc807ef1042c6821fda41ff80aa2717536f").into(), + hex!("732f545955de627e65c46201f053569dceab609948147690136bc64e060f38b4").into(), + hex!("2e7c74db495877af1e95da27113e89757ea475e8d672d319e655810ec64d4ba2").into(), ], }) } pub fn make_finalized_header_update() -> Box { - Box::new(Update{ + Box::new(Update { attested_header: BeaconHeader { - slot: 5681698, - proposer_index: 414341, - parent_root: hex!("fbdd96632860cc305d76d0aba45741d832ed470638cd3f89b58e8ee13ada6a32").into(), - state_root: hex!("f115c6a23b2160b778b52b35cca0b2c516fc4b8f1114ea54417d5fd39fa83718").into(), - body_root: hex!("65ecc4e6555a84abe699bff4d2b1434deff05d01c0a51069acae49f5a9d34f73").into(), + slot: 5809441, + proposer_index: 169069, + parent_root: hex!("a4d2fbf3ee62f32589738f386559a1e2358f4f54aff5f7eaea61144d3d9c00d1").into(), + state_root: hex!("4aad4183bc21fc96c90f8e043049f8c1d5ed205c6880c89cd99f2e080ef85138").into(), + body_root: hex!("406c96c6adad01df901df3625cbd622f1d541249b05c768ccc4db5643d973141").into(), }, sync_aggregate: SyncAggregate{ - sync_committee_bits: hex!("edfcffcffdfeedfcfdffddefedfca6fcfff4ffffd77b3ff3fdff7fbfdbffffd77febfbfbfffa7bfffffffdfa7addbeefbfeff3ffe97ff7ef39fff6d5fd7fbffd").into(), - sync_committee_signature: hex!("b2656cb3408d51ec4ea948c73a35d56bcb287b067ff9e5d520f7a7206ff8d995e30eea0bc84bd76aadeb84a1cbcd3a3a03b9dfc62368b3d6f90845de9a4688265d9c1d01986d6d6cc1c4566063bd2e211111db163141083f1536adebf30daafb").into(), + sync_committee_bits: hex!("7fabbff6fcdefbebaefffff9e37dfffebff57f7bf3e3efbcfef1f7f987551dd176f3b3ff7bfa3fedff5fdf7f7afff5ff777bef5f9f7fe65f97fffe7dfdfffbdd").into(), + sync_committee_signature: hex!("84dc756c452ec9a3ba01cc98d03cf5471b871e9f3f77ddfe72ddf6d5d318ec3de9e5c1508e47ed362300cd45a144655a076d50073c24a67591b0454d2a4632bc01e97eab80f937a8288131a31ab76f400ba9c26a19df176c7e67b724f70407c3").into(), }, - signature_slot: 5681700, + signature_slot: 5809445, next_sync_committee_update: None, finalized_header: BeaconHeader { - slot: 5681631, - proposer_index: 5402, - parent_root: hex!("ac0d4a57f559d610746ba73cedcdd284f6890a92e3b6b06efa4f163fe0e91bd5").into(), - state_root: hex!("4ceb613f5f7b4492f45d3ce6b7589f148dc1b784e042d758a8e9bb5253366020").into(), - body_root: hex!("664723fd7e0dadecd7eb3a50dd9c45cb324be5bcfffd843b91b2b0dbeb7d3138").into(), + slot: 5809375, + proposer_index: 170923, + parent_root: hex!("87fed31787712fa6e802b9f296c1eb0b0ac5bc77f6945d4478c4d25bd7160d1a").into(), + state_root: hex!("246ac89e1854bada03be1da64081954e008238de219088609ddf45efc8000346").into(), + body_root: hex!("ffe0fdbdc2bf57bebdd084fce3820a13801095d236a2fb8f3a64c9d7cf94f8b9").into(), }, finality_branch: vec![ - hex!("8fb5020000000000000000000000000000000000000000000000000000000000").into(), - hex!("66e3accbde2497c209c5f77c748204ab6ee6536cda422e649f91009c469b7b57").into(), - hex!("ad3d19220d9f924e50076392b8a4492d2f23c94af6e47d1526ddfd79f0c9aaa5").into(), - hex!("8f680de2951f65cdbcb56c6ab2bd24fe9b54f600198cdd7a61f3a190f754cee3").into(), - hex!("e85d156d5f1b594bafca2e2868de7ef5c9bed9dfa54c2a11b7e1ef21a65cd2b8").into(), - hex!("435a46971418d6ffde98f7fa565879a7b7b05c8e550f7d27d281dd9aa3bacbb5").into(), + hex!("27c5020000000000000000000000000000000000000000000000000000000000").into(), + hex!("8c04962a994aadff4d3042da73e167e666323757db5b0234a497c7ddba058ded").into(), + hex!("95901d6dae3edaab0f29f2c6155edbc4eb3980b6816339a464fb51b91fafdb7a").into(), + hex!("34e68ed57efdf18c5d2f455e77fa8b2a5be95bb827bdf7f7f6648103688d84b7").into(), + hex!("fc1d45f882aa66020a92c55da663ab9758581a020eb7336173fe84ef861bbdf9").into(), + hex!("7d1745c42ec44d4b2493a55dafdb770f6d38eb4a7ad68ae0264949cb7432e4a7").into(), ], - block_roots_root: hex!("9c5333d55a30f16bbfac3a95d266348ef7cf656b376ab3c78f7da07df269e922").into(), + block_roots_root: hex!("9e5aeee5467301f3a44d1ab664cebd198519423e73e2118ad046d9bae217f497").into(), block_roots_branch: vec![ - hex!("dc7d7e9e5d6b9e127f3b219b32f585c9add3729b291320304d01dacae075a924").into(), - hex!("1dfb32a95d3b68833e2ce14a808d2247da992ab52fa6302429c0466564c05fdd").into(), - hex!("f3815941f1f40b16c287090cfbfdb40ccc05faf4f2de5b4960bc4f9b223cc9c5").into(), - hex!("aaa336d8dadb6bed0dde8acd21009c87070855e052b20af29f289546c3dca8de").into(), - hex!("65cda39a94c329d0a8191fcb19e1f41b9e8053a30049938014e3b0be771228ca").into(), + hex!("ef671e41918c36e23a3673407050b420366022886dcce1b707622de97a695121").into(), + hex!("707cb79caeaf310c10ce1c177312e48b2331164c8327d2635203148c4d974f09").into(), + hex!("1fd802c27384482fdaacfa7406072f6f96ff5428f003af748068d1965cc36981").into(), + hex!("8a31cc13bddabda4f79d948e5e3d70806f638b61d89c87b40aa7131af43c18a8").into(), + hex!("70eb43218a3a6f619f1d0dc7f173fc9c3323fa7e3824ae6cd79af2f7d19634ad").into(), ] }) } pub fn make_execution_header_update() -> Box { - Box::new(ExecutionHeaderUpdate{ - header: BeaconHeader{ - slot: 5681629, - proposer_index: 229899, - parent_root: hex!("853da970276ee3f23dbc1cc242918c3dac7ac9a3f36695bb4f4cbef58ca63aee").into(), - state_root: hex!("abe248d13384c49cc49158ad76ccc3dc9f44b92b3831b0c23ef8443f21469956").into(), - body_root: hex!("c817bc4cbaf335c120d7da7469fd7d25f9becaab4f1b14b1f11e2db019a3f9c1").into(), + Box::new(ExecutionHeaderUpdate { + header: BeaconHeader { + slot: 5809374, + proposer_index: 130336, + parent_root: hex!("2bb54c61560a80d1cfb0528e8ea207dfb9d55ab49238523e21609a9ee3b8a9b5").into(), + state_root: hex!("0116ea76f5c36373dfc8e039811eba86c8e8e16cfe9f0614376559b6585741a7").into(), + body_root: hex!("9a10b47e30bc11fc2ee1e21943a8382d727444f646f09664192236458b555ffe").into(), }, ancestry_proof: Some(AncestryProof { header_branch: vec![ - hex!("853da970276ee3f23dbc1cc242918c3dac7ac9a3f36695bb4f4cbef58ca63aee").into(), - hex!("896b7092f8c89fd0e450e11e3857aac0d098642bee75a08810909035c3eaf768").into(), - hex!("2b1cc9e97aea1f6cd78e6c9958ef4513f0b29c1d676afe536c1a9bd2e824b90d").into(), - hex!("a556e4eb496ffd0749cf02b4dc3240c226d0fae98f908ca8c3f902b76d4cf684").into(), - hex!("3d882552c248ef7f7b3448c41de73b5b1e927cfcec2ded96b64dc44941f3c506").into(), - hex!("d5d9cc20872b07869a2d889da2bad50ec93bc46034ba430d048e75141791fbd0").into(), - hex!("826e25917c12bddcaa3d42a4e593ccf759d9f84f9f360e3b348fb164eb3778f3").into(), - hex!("22c1cf7ff53ed489f352984efdb654e96864fbaa4117ccdbaa1abb0451b85531").into(), - hex!("9b074f7113daa0680d746e49faf281c6c10c16739e4f20409def6a892fdb0f7c").into(), - hex!("20d9fbb55ba67a75f50ee6c2d9768046e86638184f60f90261e81d80e055911e").into(), - hex!("0f88dc7de422539dd8c0f75f42a89fdf982277a8fcd97c4e38d9c3a249ca5341").into(), - hex!("67890592c29105ca87e4026dfaa2097f3273865e19c003ef88da8509f9937727").into(), - hex!("f9cc665d8e7cd09b82666459885ba06f0025a9946e7a44bd20a4f5c65d1124d8").into(), + hex!("eca009f3262f75b055e6c919e2c0a2c017f017e581a825a2618a2a76926a264e").into(), + hex!("a647371a5590630186dd47b9b8571f27e39a77b4aac1f763fabefe104bf94985").into(), + hex!("9a414690540e4c87ff5171b619b3ab6ff1115c21f247196989f5a0a9085b59a1").into(), + hex!("1bf7ae16fcde0833c6e97a83b72aef31a0b5ca055b87f86602b9b4aa193f557c").into(), + hex!("588d993d05b59bf3352f0f5ebb4cd3ec97ca3e41800da675996741e8fca374c0").into(), + hex!("fdfc6280944bb0a18c9cd0afa9f4a255719a4650233f19de478399276f198c92").into(), + hex!("1d96235b47c604f029b9ab7eb913b13b3c0c2df7f79e3301341b1ec38ea44e4c").into(), + hex!("3ee3af17ce8f5a4946d30b6bce7d6e7580b3981cd2af92246401e2326224f6d1").into(), + hex!("b53b5450e070adf02f4bb9d7c65dd131d07ae2218340eec95ac8aa5e5cdd82aa").into(), + hex!("4d7c09715a1f25574afa1dc3dd7bb44e4c1a723b9360c893b8510f675f85227a").into(), + hex!("38c159fc38dedc1e4f399a3f773ab4376fc40b126634b40d172d5daa6602cf94").into(), + hex!("9faac6fa44ed19fcf530f77b7090dd50dd17aeedabe763931ab7567276025a75").into(), + hex!("c6549c1b0f0027ac373164437e7010b955fbae1a0e78485408ec33ca906beb2d").into(), ], - finalized_block_root: hex!("ac2862731df85bc8d92a849c5558d03989f3c3a5f60a294d0bbcdc3f656b79f9").into(), + finalized_block_root: hex!("f6e721e4e65d9565091a557705285ec6db0a3a3072317317719ec8ad563859a3").into(), }), execution_header: ExecutionPayloadHeader { - parent_hash: hex!("2aa951084480c89fe28676a456340da7d8ea19ea22c6c99c5c434a75a5ad6c97").into(), - fee_recipient: hex!("d23d393167e391e62d464cd5ef09e52ed58bc889").into(), - state_root: hex!("fc6a31a155d47da181cbb1119036cdfe43fe3b3ed23f5c1ce0ff94c397d4688f").into(), - receipts_root: hex!("6691c529ac81fd85f13ae931366890613246fcc6d2eb82aa42f3efe7b24a0ded").into(), - logs_bloom: hex!("a5278c420188643c20120e00950d0ccc100e294060a01000098b4633c9118a0345631781028a83c41060c01a012440c541240013c62e26a2161a960ec6272244133650329c7880055819204f10a8132cf7850010d9ae31c0c058d180ea80443584000109066214559c4133a48098a88030385a40405841f829207bb2041012435708ace0f074802a2253a8648a50005600088cc12090878f2007814c1c4a4118561c500639600201500831a76106021820500b23324c03a1878219a6a168024397354473190304aa0282a1410f5f642c2cfa10900c984659288738800d56f103b01a122160240324b301492060406070921932141aa152414202401a4264c023").into(), - prev_randao: hex!("41187319bb1d6fbf5a89d0c496b53d61e6f120f455ffa1c2f6fe876e77679187").into(), - block_number: 9039325, + parent_hash: hex!("6d51d7c94763813ffefa234097a51c6fd7009424d2991695f7bd6203157c86f9").into(), + fee_recipient: hex!("000095e79eac4d76aab57cb2c1f091d553b36ca0").into(), + state_root: hex!("fe9f753520a7b5c0263bbf4fdba728f69e9cf861ce1883aa13de5da30ff75d74").into(), + receipts_root: hex!("cf6ab47d8fc336155b18abfa2d965aae57d9d35a2fcf5cfc992b8dcd136958cb").into(), + logs_bloom: hex!("8427414fce71480d7e70cdbac68dd6f77608c05cf349c34c87ad3256e8dde9e3f9c52131945876c03b6e83ea5970536428283a180eb40efcc5fd834ce424f0dbf622dbba6cfda7945cc1f93a1b6e7ae448c598b4f45f7cfa933fe9808d835cb86e8a38261a031448e262f8e4f2dc4c3254c460e5faae4b518438c1330012154a1ba33ab7d85c8acaa9c47dc582fd003a771c9b09aa16c34d4f0c01fbb3f8c0a28e11d2eafb4e73b75a18e182eac7c021706832a9a785836d31f651efacf88a329334e5b3def3bf1871573dc3553f415f298a9457f7837a31302937a4178be1339cdbb83af329ae7e88d8ab6cba62f018be139896ecbc7ac11ef24b0b4ae343e9").into(), + prev_randao: hex!("5a76eff974d26bf74dc3003fac473ab4abc541be26bd61f124a1818a70ea0b3e").into(), + block_number: 9143323, gas_limit: 30000000, - gas_used: 29994294, - timestamp: 1684687548, - extra_data: hex!("d883010b05846765746888676f312e32302e32856c696e7578").into(), - base_fee_per_gas: U256::from(127704682809 as u64), - block_hash: hex!("2082e9cf74d183978a1850e4bfc8cc750a58239eebd097a0ce559fbdf4b62d47").into(), - transactions_root: hex!("f2c352faff4bbbaa0e1078901dd132516f22ed559d86052db71f2ea22d2ffd81").into(), - withdrawals_root: hex!("70c222fdaa61849344a15a876a025dbd2668c9b18ce55ba2802f205c62606bea").into(), + gas_used: 28165724, + timestamp: 1686220488, + extra_data: hex!("").into(), + base_fee_per_gas: U256::from(2267 as u64), + block_hash: hex!("e4a67cdb1512f29ad9b331e7a37cf8e376222eafa58e72cee7771ad582cc0610").into(), + transactions_root: hex!("bd7eaeb676c14c37bbf0b6f3db2ce021a04a41dbf002f6c7df3bb61639ac7287").into(), + withdrawals_root: hex!("8647d3ecaaf62e1d087c5ab54a23f1d64f477b7ddd16fff458847181d89fc432").into(), }, execution_branch: vec![ - hex!("90b15bba3f35f2fccd355c278ca7eaed56c9292002cfd9b831a2f62834e4c9f1").into(), + hex!("795608ac1294bcc663127b8428513ba4a5ffe952ff72f8322dca23628f13d716").into(), hex!("336488033fe5f3ef4ccc12af07b9370b92e553e35ecb4a337a1b1c0e4afe1e0e").into(), hex!("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71").into(), - hex!("32c98b4a8e477162a04c003bc23eab1ba7281fae01f9d7b6e5b7afa784a0e9f8").into(), + hex!("2a8f5c65655edeb2800f248f2e14044fc651061d0c00c8e8b627cb21ba421fb4").into(), ], }) } diff --git a/parachain/pallets/ethereum-beacon-client/src/benchmarking/util.rs b/parachain/pallets/ethereum-beacon-client/src/benchmarking/util.rs index 88c82f8b191dd..cc122f3dc12d1 100644 --- a/parachain/pallets/ethereum-beacon-client/src/benchmarking/util.rs +++ b/parachain/pallets/ethereum-beacon-client/src/benchmarking/util.rs @@ -13,7 +13,7 @@ pub fn participant_pubkeys( let current_sync_committee = >::get(); let pubkeys = EthereumBeaconClient::::find_pubkeys( &sync_committee_bits, - ¤t_sync_committee.pubkeys.as_ref(), + (*current_sync_committee.pubkeys).as_ref(), true, ); Ok(pubkeys) @@ -25,7 +25,7 @@ pub fn absent_pubkeys(update: &Update) -> Result>::get(); let pubkeys = EthereumBeaconClient::::find_pubkeys( &sync_committee_bits, - ¤t_sync_committee.pubkeys.as_ref(), + (*current_sync_committee.pubkeys).as_ref(), false, ); Ok(pubkeys) diff --git a/parachain/pallets/ethereum-beacon-client/src/lib.rs b/parachain/pallets/ethereum-beacon-client/src/lib.rs index b804c71d8481d..bc0722f412e19 100644 --- a/parachain/pallets/ethereum-beacon-client/src/lib.rs +++ b/parachain/pallets/ethereum-beacon-client/src/lib.rs @@ -89,11 +89,8 @@ pub mod pallet { #[pallet::error] #[cfg_attr(test, derive(PartialEq))] pub enum Error { - AncientHeader, SkippedSyncCommitteePeriod, - SyncCommitteeMissing, NotRelevant, - Unknown, NotBootstrapped, SyncCommitteeParticipantsNotSupermajority, InvalidHeaderMerkleProof, @@ -101,35 +98,16 @@ pub mod pallet { InvalidExecutionHeaderProof, InvalidAncestryMerkleProof, InvalidBlockRootsRootMerkleProof, - InvalidHash, - InvalidSyncCommitteeBits, - SignatureVerificationFailed, - NoBranchExpected, HeaderNotFinalized, MissingHeader, - MissingFinalityHeader, InvalidProof, - InvalidBlockRootAtSlot, DecodeFailed, BlockBodyHashTreeRootFailed, - BlockRootsHashTreeRootFailed, HeaderHashTreeRootFailed, SyncCommitteeHashTreeRootFailed, SigningRootHashTreeRootFailed, ForkDataHashTreeRootFailed, - ExecutionHeaderNotLatest, - UnexpectedHeaderSlotPosition, ExpectedFinalizedHeaderNotStored, - BridgeBlocked, - InvalidSyncCommitteeUpdateWithGap, - InvalidSyncCommitteeUpdateWithDuplication, - InvalidSignatureSlot, - InvalidAttestedHeaderSlot, - DuplicateFinalizedHeaderUpdate, - InvalidFinalizedPeriodUpdate, - ExecutionHeaderAlreadyImported, - FinalizedBeaconHeaderSlotsExceeded, - ExecutionHeaderMappingFailed, BLSPreparePublicKeysFailed, BLSVerificationFailed(BlsError), InvalidUpdateSlot, @@ -295,12 +273,10 @@ pub mod pallet { // that happens just return error so to pause processing FinalizedHeader until // ExecutionHeader catch up fn cross_check_execution_state() -> DispatchResult { - let latest_finalized_state: CompactBeaconState = - match Self::finalized_beacon_state(Self::latest_finalized_block_root()) { - Some(finalized_beacon_state) => finalized_beacon_state, - None => return Err(Error::::NotBootstrapped.into()), - }; - let latest_execution_state: ExecutionHeaderState = Self::latest_execution_state(); + let latest_finalized_state = + FinalizedBeaconState::::get(LatestFinalizedBlockRoot::::get()) + .ok_or(Error::::NotBootstrapped)?; + let latest_execution_state = Self::latest_execution_state(); let max_latency = config::EPOCHS_PER_SYNC_COMMITTEE_PERIOD * config::SLOTS_PER_EPOCH; ensure!( latest_execution_state.beacon_slot == 0 || @@ -326,11 +302,9 @@ pub mod pallet { ); // Retrieve latest finalized state - let latest_finalized_state: CompactBeaconState = - match Self::finalized_beacon_state(Self::latest_finalized_block_root()) { - Some(finalized_beacon_state) => finalized_beacon_state, - None => return Err(Error::::NotBootstrapped.into()), - }; + let latest_finalized_state = + FinalizedBeaconState::::get(LatestFinalizedBlockRoot::::get()) + .ok_or(Error::::NotBootstrapped)?; let store_period = compute_period(latest_finalized_state.slot); let signature_period = compute_period(update.signature_slot); @@ -417,7 +391,8 @@ pub mod pallet { } else { >::get() }; - let absent_pubkeys = Self::find_pubkeys(&participation, &sync_committee.pubkeys, false); + let absent_pubkeys = + Self::find_pubkeys(&participation, (*sync_committee.pubkeys).as_ref(), false); let signing_root = Self::signing_root( &update.attested_header, Self::validators_root(), @@ -439,11 +414,9 @@ pub mod pallet { // reference and strict follows https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/light-client/sync-protocol.md#apply_light_client_update fn apply_update(update: &Update) -> DispatchResult { - let latest_finalized_state: CompactBeaconState = - match Self::finalized_beacon_state(Self::latest_finalized_block_root()) { - Some(finalized_beacon_state) => finalized_beacon_state, - None => return Err(Error::::NotBootstrapped.into()), - }; + let latest_finalized_state = + FinalizedBeaconState::::get(LatestFinalizedBlockRoot::::get()) + .ok_or(Error::::NotBootstrapped)?; if let Some(next_sync_committee_update) = &update.next_sync_committee_update { let store_period = compute_period(latest_finalized_state.slot); let update_finalized_period = compute_period(update.finalized_header.slot); @@ -490,11 +463,9 @@ pub mod pallet { pub(crate) fn process_execution_header_update( update: &ExecutionHeaderUpdate, ) -> DispatchResult { - let latest_finalized_state: CompactBeaconState = - match Self::finalized_beacon_state(Self::latest_finalized_block_root()) { - Some(finalized_beacon_state) => finalized_beacon_state, - None => return Err(Error::::NotBootstrapped.into()), - }; + let latest_finalized_state = + FinalizedBeaconState::::get(LatestFinalizedBlockRoot::::get()) + .ok_or(Error::::NotBootstrapped)?; ensure!( update.header.slot <= latest_finalized_state.slot, Error::::HeaderNotFinalized diff --git a/parachain/pallets/ethereum-beacon-client/src/mock.rs b/parachain/pallets/ethereum-beacon-client/src/mock.rs index eaebca96f9a3c..52b865b99d6c8 100644 --- a/parachain/pallets/ethereum-beacon-client/src/mock.rs +++ b/parachain/pallets/ethereum-beacon-client/src/mock.rs @@ -133,6 +133,16 @@ pub mod minimal { ) -> primitives::Update<{ config::SYNC_COMMITTEE_SIZE }, { config::SYNC_COMMITTEE_BITS_SIZE }> { load_fixture("finalized-header-update.minimal.json").unwrap() } + + pub fn load_next_sync_committee_update_fixture( + ) -> primitives::Update<{ config::SYNC_COMMITTEE_SIZE }, { config::SYNC_COMMITTEE_BITS_SIZE }> { + load_fixture("next-sync-committee-update.minimal.json").unwrap() + } + + pub fn load_next_finalized_header_update_fixture( + ) -> primitives::Update<{ config::SYNC_COMMITTEE_SIZE }, { config::SYNC_COMMITTEE_BITS_SIZE }> { + load_fixture("next-finalized-header-update.minimal.json").unwrap() + } } #[cfg(feature = "beacon-spec-mainnet")] diff --git a/parachain/pallets/ethereum-beacon-client/src/tests.rs b/parachain/pallets/ethereum-beacon-client/src/tests.rs index f59918fdec043..24484528bfd9e 100644 --- a/parachain/pallets/ethereum-beacon-client/src/tests.rs +++ b/parachain/pallets/ethereum-beacon-client/src/tests.rs @@ -1,12 +1,12 @@ use crate::{ - mock::minimal::*, pallet::ExecutionHeaders, sync_committee_sum, verify_merkle_branch, - BeaconHeader, CompactBeaconState, Error, FinalizedBeaconState, LatestFinalizedBlockRoot, - NextSyncCommittee, + functions::compute_period, mock::minimal::*, pallet::ExecutionHeaders, sync_committee_sum, + verify_merkle_branch, BeaconHeader, CompactBeaconState, Error, FinalizedBeaconState, + LatestFinalizedBlockRoot, NextSyncCommittee, }; use frame_support::{assert_err, assert_ok}; use hex_literal::hex; -use primitives::CompactExecutionHeader; +use primitives::{CompactExecutionHeader, NextSyncCommitteeUpdate}; use rand::{thread_rng, Rng}; use sp_core::H256; @@ -305,9 +305,12 @@ fn process_initial_checkpoint() { } #[test] -fn submit_update() { +fn submit_update_in_current_period() { let checkpoint = load_checkpoint_update_fixture(); let update = load_finalized_header_update_fixture(); + let initial_period = compute_period(checkpoint.header.slot); + let update_period = compute_period(update.finalized_header.slot); + assert_eq!(initial_period, update_period); new_tester().execute_with(|| { assert_ok!(EthereumBeaconClient::process_checkpoint_update(&checkpoint)); @@ -318,9 +321,12 @@ fn submit_update() { } #[test] -fn submit_update_with_sync_committee() { +fn submit_update_with_sync_committee_in_current_period() { let checkpoint = load_checkpoint_update_fixture(); let update = load_sync_committee_update_fixture(); + let init_period = compute_period(checkpoint.header.slot); + let update_period = compute_period(update.finalized_header.slot); + assert_eq!(init_period, update_period); new_tester().execute_with(|| { assert_ok!(EthereumBeaconClient::process_checkpoint_update(&checkpoint)); @@ -330,6 +336,49 @@ fn submit_update_with_sync_committee() { }); } +#[test] +fn submit_update_in_next_period() { + let checkpoint = load_checkpoint_update_fixture(); + let sync_committee_update = load_sync_committee_update_fixture(); + let update = load_next_finalized_header_update_fixture(); + let sync_committee_period = compute_period(sync_committee_update.finalized_header.slot); + let next_sync_committee_period = compute_period(update.finalized_header.slot); + assert_eq!(sync_committee_period + 1, next_sync_committee_period); + + new_tester().execute_with(|| { + assert_ok!(EthereumBeaconClient::process_checkpoint_update(&checkpoint)); + assert_ok!(EthereumBeaconClient::submit( + RuntimeOrigin::signed(1), + sync_committee_update.clone() + )); + assert_ok!(EthereumBeaconClient::submit(RuntimeOrigin::signed(1), update.clone())); + let block_root: H256 = update.finalized_header.clone().hash_tree_root().unwrap(); + assert!(>::contains_key(block_root)); + }); +} + +#[test] +fn submit_update_with_sync_committee_in_next_period() { + let checkpoint = load_checkpoint_update_fixture(); + let update = load_sync_committee_update_fixture(); + let next_update = load_next_sync_committee_update_fixture(); + let update_period = compute_period(update.finalized_header.slot); + let next_update_period = compute_period(next_update.finalized_header.slot); + assert_eq!(update_period + 1, next_update_period); + + new_tester().execute_with(|| { + assert_ok!(EthereumBeaconClient::process_checkpoint_update(&checkpoint)); + assert!(!>::exists()); + assert_ok!(EthereumBeaconClient::submit(RuntimeOrigin::signed(1), update.clone())); + assert!(>::exists()); + assert_ok!(EthereumBeaconClient::submit(RuntimeOrigin::signed(1), next_update.clone())); + let last_finalized_state = + FinalizedBeaconState::::get(LatestFinalizedBlockRoot::::get()).unwrap(); + let last_synced_period = compute_period(last_finalized_state.slot); + assert_eq!(last_synced_period, next_update_period); + }); +} + #[test] fn submit_update_with_sync_committee_invalid_signature_slot() { let checkpoint = load_checkpoint_update_fixture(); @@ -342,12 +391,90 @@ fn submit_update_with_sync_committee_invalid_signature_slot() { update.signature_slot = update.attested_header.slot; assert_err!( - EthereumBeaconClient::submit(RuntimeOrigin::signed(1), update.clone(),), + EthereumBeaconClient::submit(RuntimeOrigin::signed(1), update.clone()), Error::::InvalidUpdateSlot ); }); } +#[test] +fn submit_update_with_skipped_sync_committee_period() { + let checkpoint = load_checkpoint_update_fixture(); + let finalized_update = load_next_finalized_header_update_fixture(); + let checkpoint_period = compute_period(checkpoint.header.slot); + let next_sync_committee_period = compute_period(finalized_update.finalized_header.slot); + assert_eq!(checkpoint_period + 1, next_sync_committee_period); + + new_tester().execute_with(|| { + assert_ok!(EthereumBeaconClient::process_checkpoint_update(&checkpoint)); + assert_err!( + EthereumBeaconClient::submit(RuntimeOrigin::signed(1), finalized_update.clone()), + Error::::SkippedSyncCommitteePeriod + ); + }); +} + +#[test] +fn submit_irrelevant_update() { + let checkpoint = load_checkpoint_update_fixture(); + let mut update = load_next_finalized_header_update_fixture(); + + new_tester().execute_with(|| { + assert_ok!(EthereumBeaconClient::process_checkpoint_update(&checkpoint)); + + // makes an invalid update where the attested_header slot value should be greater than the + // checkpoint slot value + update.finalized_header.slot = checkpoint.header.slot; + update.attested_header.slot = checkpoint.header.slot; + update.signature_slot = checkpoint.header.slot + 1; + + assert_err!( + EthereumBeaconClient::submit(RuntimeOrigin::signed(1), update.clone()), + Error::::NotRelevant + ); + }); +} + +#[test] +fn submit_update_with_missing_bootstrap() { + let update = load_next_finalized_header_update_fixture(); + + new_tester().execute_with(|| { + assert_err!( + EthereumBeaconClient::submit(RuntimeOrigin::signed(1), update.clone()), + Error::::NotBootstrapped + ); + }); +} + +#[test] +fn submit_update_with_invalid_sync_committee_update() { + let checkpoint = load_checkpoint_update_fixture(); + let update = load_sync_committee_update_fixture(); + let mut next_update = load_next_sync_committee_update_fixture(); + + new_tester().execute_with(|| { + assert_ok!(EthereumBeaconClient::process_checkpoint_update(&checkpoint)); + + assert_ok!(EthereumBeaconClient::submit(RuntimeOrigin::signed(1), update.clone())); + + // makes update with invalid next_sync_committee + >::mutate(>::get(), |x| { + let prev = x.unwrap(); + *x = Some(CompactBeaconState { slot: next_update.attested_header.slot, ..prev }); + }); + next_update.attested_header.slot = next_update.attested_header.slot + 1; + next_update.signature_slot = next_update.attested_header.slot + 1; + let next_sync_committee = NextSyncCommitteeUpdate::default(); + next_update.next_sync_committee_update = Some(next_sync_committee); + + assert_err!( + EthereumBeaconClient::submit(RuntimeOrigin::signed(1), next_update.clone()), + Error::::InvalidSyncCommitteeUpdate + ); + }); +} + #[test] fn submit_execution_header_update() { let checkpoint = load_checkpoint_update_fixture(); @@ -388,35 +515,3 @@ fn submit_execution_header_not_finalized() { ); }); } - -// #[test] -// fn submit_execution_header_duplicate() { -// let initial_sync = get_initial_sync::(); -// let update = get_header_update(); - -// new_tester().execute_with(|| { -// assert_ok!(EthereumBeaconClient::process_checkpoint_update(&initial_sync)); - -// LatestFinalizedHeader::::set(FinalizedHeaderState { -// beacon_block_root: H256::default(), -// beacon_slot: update.header.slot, -// }); - -// let sync_committee_prepared: SyncCommitteePrepared = -// (&initial_sync.current_sync_committee).try_into().unwrap(); -// >::set(sync_committee_prepared); - -// LatestExecutionHeader::::set(ExecutionHeaderState { -// beacon_block_root: Default::default(), -// beacon_slot: 0, -// block_hash: Default::default(), -// // initialize with the same block_number in execution_payload of the next update -// block_number: update.execution_header.block_number, -// }); - -// assert_err!( -// EthereumBeaconClient::submit_execution_header(RuntimeOrigin::signed(1), update), -// Error::::InvalidExecutionHeaderUpdate -// ); -// }); -// } diff --git a/parachain/pallets/ethereum-beacon-client/src/weights.rs b/parachain/pallets/ethereum-beacon-client/src/weights.rs index 9e4161eadabea..cb0dcce0541e0 100644 --- a/parachain/pallets/ethereum-beacon-client/src/weights.rs +++ b/parachain/pallets/ethereum-beacon-client/src/weights.rs @@ -41,24 +41,28 @@ pub trait WeightInfo { // For backwards compatibility and tests impl WeightInfo for () { - fn submit_with_sync_committee() -> Weight { - Weight::from_parts(175_039_777_000 as u64, 0) - .saturating_add(RocksDbWeight::get().reads(4)) - .saturating_add(RocksDbWeight::get().writes(2)) + fn force_checkpoint() -> Weight { + Weight::from_parts(97_263_571_000 as u64, 0) + .saturating_add(Weight::from_parts(0, 3501)) + .saturating_add(RocksDbWeight::get().reads(2)) + .saturating_add(RocksDbWeight::get().writes(9)) } fn submit() -> Weight { - Weight::from_parts(171_871_518_000 as u64, 0) - .saturating_add(RocksDbWeight::get().reads(3)) - .saturating_add(RocksDbWeight::get().writes(1)) + Weight::from_parts(26_051_019_000 as u64, 0) + .saturating_add(Weight::from_parts(0, 93857)) + .saturating_add(RocksDbWeight::get().reads(8)) + .saturating_add(RocksDbWeight::get().writes(4)) } - fn submit_execution_header() -> Weight { - Weight::from_parts(166_011_885_000 as u64, 0) - .saturating_add(RocksDbWeight::get().reads(3)) + fn submit_with_sync_committee() -> Weight { + Weight::from_parts(122_461_312_000 as u64, 0) + .saturating_add(Weight::from_parts(0, 93857)) + .saturating_add(RocksDbWeight::get().reads(6)) .saturating_add(RocksDbWeight::get().writes(1)) } - fn force_checkpoint() -> Weight { - Weight::from_parts(175_039_777_000 as u64, 0) - .saturating_add(RocksDbWeight::get().reads(4)) - .saturating_add(RocksDbWeight::get().writes(2)) + fn submit_execution_header() -> Weight { + Weight::from_parts(113_158_000 as u64, 0) + .saturating_add(Weight::from_parts(0, 3537)) + .saturating_add(RocksDbWeight::get().reads(5)) + .saturating_add(RocksDbWeight::get().writes(4)) } } diff --git a/parachain/pallets/ethereum-beacon-client/tests/fixtures/execution-header-update.minimal.json b/parachain/pallets/ethereum-beacon-client/tests/fixtures/execution-header-update.minimal.json index 22f5027de9ffc..3e17c14f4adbf 100644 --- a/parachain/pallets/ethereum-beacon-client/tests/fixtures/execution-header-update.minimal.json +++ b/parachain/pallets/ethereum-beacon-client/tests/fixtures/execution-header-update.minimal.json @@ -1,43 +1,43 @@ { "header": { - "slot": 1958, - "proposer_index": 3, - "parent_root": "0xb75e9fed83f906d6f65c7876d4d84b4dc89f80ea76307818f5edce0a4d9ae33f", - "state_root": "0x6b3a06edf780bdc961cac73dcabf9bb7b590f975dbb1a8f1253526e468d01092", - "body_root": "0x527c414da4216a7511aed420262bd03ca44c028abbd4bc958703a8e7d1e2eb33" + "slot": 3622, + "proposer_index": 7, + "parent_root": "0x254c9215f6cce83e21b9776afb482181639602d3cb58cf99452a6a4a4f603930", + "state_root": "0xea98df6d30817d63f3e54ea118e2b1ba8675753c72dec1661c503d4eb43f9bdd", + "body_root": "0x765a0616a31d38e0ca2d10f6e8b234dd3d07e16aa929bcbc4de775c93f1972fd" }, "ancestry_proof": { "header_branch": [ - "0x527322358e749994e039ca5096fa2420ddd3b2bac4024263ce987880704ff72f", - "0x712230a3741e8db3abdac5923880bc369da2df20f4cd0d611bc94a296b28f31b", - "0x0a989956a91610d08156a2699191f2b693065503edc6bf0f840a48869bddfe5f", - "0x13260b010b5e56f1616d520100e1c19e5f49ace6dcc9340076a4ce528dd0567f", - "0x88019b84c6f1804b74befab1d961f049d4d78930ecb82c4b7e1497e5781b1829", - "0x246816e327ff093b69c9ebff273891fe97808150925e54eaf9cbbe0296130867" + "0x7690506882ac8c5f01d00f3ade06439259a3a0261ef5d61ec44920678b4104e6", + "0xf01aa0fdd7c9ef7b1affb7854fe8cbcc5c70643ee5b83e032faa702a0675a8cb", + "0x273a7b300b75ffa2c765af50680aa836299264f2107f38010278822313181801", + "0x30fe73a3bae6a31af32656ab759a4b67d27a213e01012b96cc4fedd0f2e77c75", + "0x7246cb3a35f13a1f0bbf907887985bb5382c45f2aa1699dbca48a0a82d5330af", + "0x5e7270e88a22dd4a905b2e76da2c8c358baeddd34de6c64a71bb1c80070ab717" ], - "finalized_block_root": "0xdc6a19f612db836ceb7a74ae01f22195cf0a8f59f1639889357ebed10122322f" + "finalized_block_root": "0xa6fdc5df11c1759d11c9f0353a666715e5677e9ffd7d414e44cff0970553f1c9" }, "execution_header": { - "parent_hash": "0xb1c4e18cab6563c91ca95b4dfdc5bdd290ee91e6405ebaf84b2e56084d2e020a", + "parent_hash": "0x6c9657f1267ad6040ea017ff6d02b55c4ba25cb092b8326d321dd98d01d1ee64", "fee_recipient": "0x0000000000000000000000000000000000000000", - "state_root": "0xd60c16531e2502c722fc72b98a02cf16b3c03e4c578907d9fe3f739c9cc034a6", + "state_root": "0x01f975f7cdff9b0a8844304aa59062fe18af0fef4636539312dfe20d238600ba", "receipts_root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "logs_bloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "prev_randao": "0x13957be6ca3492009870c99e29ef35414b767b8b93308f5b97a8de0b5dfe096c", - "block_number": 1958, + "prev_randao": "0xcdfcab74bc26b3f4311afdc72d2d21d33a4b045187a01fa208a9d687a6d1d25c", + "block_number": 3622, "gas_limit": 30000000, "gas_used": 0, - "timestamp": 1684834391, + "timestamp": 1685722543, "extra_data": "0xd983010b02846765746888676f312e31392e358664617277696e", "base_fee_per_gas": 7, - "block_hash": "0xea42355d2efbe506bbc75820ebd5c25f159e7798c4e563db02804a1b31bd5fb4", + "block_hash": "0x38c80e0e26cb80730df627d32f50266bd0fe32fb12b7606300ad81aa2b4033db", "transactions_root": "0x7ffe241ea60187fdb0187bfa22de35d1f9bed7ab061d9401fd47e34a54fbede1", "withdrawals_root": "0x28ba1834a3a7b657460ce79fa3a1d909ab8828fd557659d4d0554a9bdbc0ec30" }, "execution_branch": [ - "0x3164bb58fe37334324ddf1331d48be24bc2fdf905d2a620af9c6acf6795c2e4d", + "0x005b8d55b34b4323bfd4773c28b09eb53bc87959e65411ccd23728c7e42d5ff2", "0x336488033fe5f3ef4ccc12af07b9370b92e553e35ecb4a337a1b1c0e4afe1e0e", "0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71", - "0x5637f80c5bc8a396886de7983a98e1886c6e9a4273d6df8e08e8d4700304233a" + "0x7061330dada1ba1c602ba98f647a441885460ed0db00483fea1282385dfab84b" ] } \ No newline at end of file diff --git a/parachain/pallets/ethereum-beacon-client/tests/fixtures/finalized-header-update.minimal.json b/parachain/pallets/ethereum-beacon-client/tests/fixtures/finalized-header-update.minimal.json index 1dac2faea9271..c6473529b10c6 100644 --- a/parachain/pallets/ethereum-beacon-client/tests/fixtures/finalized-header-update.minimal.json +++ b/parachain/pallets/ethereum-beacon-client/tests/fixtures/finalized-header-update.minimal.json @@ -1,38 +1,38 @@ { "attested_header": { - "slot": 1976, - "proposer_index": 1, - "parent_root": "0xaf13bfec79a82123674b4a3eabf20a7d7dec0d345474c6536c11f5eadf431fa8", - "state_root": "0xaa2393793eefbc32177703faa31d56fff3ea8305777e79f0e405119ad96859c8", - "body_root": "0xa685bab5b7e01c4ca37a30811b2b241cc0872d3a56d46bf0f8f665b8c6563717" + "slot": 3640, + "proposer_index": 5, + "parent_root": "0xf062fcec9c3379a08e6add37a834b1e39af395fc343973e44957ecebbf2ecddd", + "state_root": "0xb1581cb62fe376e305e02f26463153f5dfb804d8df97ef40fc315c1bc30731ba", + "body_root": "0x98461abcc6d130b7bcb9430292c8a269ea9f01082685347e2968d892f716067c" }, "sync_aggregate": { "sync_committee_bits": "0xffffffff", - "sync_committee_signature": "0xa68452b9fed95e5f3508b0950c711b833f2b8bb946e0ee8cee78ea18e0109a12e09937cf31f60badeacb0c90a0794a8a055c949a9fe7a4e35d7f5b97996cd4b5acc26f1b0453a176bae82d52b4d7958c907cdb2b4323c4196d84aa6df4fa4cbe" + "sync_committee_signature": "0x925c6e4b67890a7e28a7ca19853f88247e92014b9d233ac9058efd4f3827f0055db308debe17596e635b93727b5a851e1366ca801f30b03fdec722f45011504702a27646488b5ab5e3428fe7b4d4a50132f374612f66e45d68db27c568f96f08" }, - "signature_slot": 1977, + "signature_slot": 3641, "next_sync_committee_update": null, "finalized_header": { - "slot": 1960, - "proposer_index": 0, - "parent_root": "0x527322358e749994e039ca5096fa2420ddd3b2bac4024263ce987880704ff72f", - "state_root": "0xd304e3c9abff7145a6a0a43a137b0709e8cfe4b48f41e543b22bd7f3b9a6a4a6", - "body_root": "0xb71fc12b3562324bef8f5f03f0859322de9e405be5d087cd6f5a6d54f0cd8191" + "slot": 3624, + "proposer_index": 7, + "parent_root": "0x7690506882ac8c5f01d00f3ade06439259a3a0261ef5d61ec44920678b4104e6", + "state_root": "0x3726ebb8d9973977a71a8389caf5fc5830eeb8cd4fdfbbc7b0c4e6ca3e6a4090", + "body_root": "0x0f9a3f0fa5a4ffaf7c10504c86f23e7d554366ffd069fe958a160b253c3fd409" }, "finality_branch": [ - "0xf500000000000000000000000000000000000000000000000000000000000000", + "0xc501000000000000000000000000000000000000000000000000000000000000", "0x10c726fac935bf9657cc7476d3cfa7bedec5983dcfb59e8a7df6d0a619e108d7", - "0x3353bf88b2d4edaeccc727b121320a92ca2f9109db77222dd1541af853c0ef0b", - "0x021d919160eca38644c01667a81ca9dbc27c2ef991536d765e7245e4b60579ee", - "0x3143bbf84ab726ffa19d68c44377c3e2887faca1fa376eb05882e14fb4cb57a7", - "0x0afa21640307c373c9ee5b88871361dd8008fdcbf37cdc10e7783f2011f8788a" + "0x83c3d5360d254f4a44be712c1f433e88e810b6d1e0e789e90bada9e36126b857", + "0x97245fa01a89a6d7b4542cd731fef699f58b2bbaabdd6f641334c9e9eeae3a20", + "0xc3d19c773f66ab94bc2106d5e75a3205398dd6e94b6f8a5716f347741eb9fc5a", + "0x9e5040e56d765c1add56779a716be7497be27cba37f866cd8d34418d55e48715" ], - "block_roots_root": "0x885012d3a58a93144a0e8abf24cda14b232903fdab607d922fdd6383e79b5608", + "block_roots_root": "0x29a54625749fa25f9e36df14a3baa335c58246bba2f8c7eb8b1ec2e4908e2fd0", "block_roots_branch": [ - "0xf1bd13594630cce362b7e0e54fceea4990a6f165ac9a684f21a9580113b111a4", - "0xdae54a0b5d68b2589f3397cad29476e3a2f927d832840338941a89c6b1f4cf92", - "0x22c4cbd096b94e8dc4ad5b658592748fa4c42cb141eaa80ed73caf6bfa7ed096", - "0x845b0c6b7d5020b8d9ce40a85e56cdb290c3a70462469e4584fc4ad8dff7c20e", - "0xd42efcd8ee09b69e172ef578cc521a9d461b0db0e19417b49f3cebeaa7462aec" + "0x53616f9298818a8423c98adc47c92aaf82f0c5c911dc4ee5f88ba6d3022341c1", + "0x5d2f1c4bce6f63f26cbe3fbf480281c04a6b14bea74350a88ee945354ecbd79d", + "0x8333eefc7eaa4d10091e2014b3aae2bf6bd2d10c22c67100e189f8ab6caab261", + "0x3edfa69130bc193dec47c27a5903f03d5262b75899b69c0e95ac1816a664a3e7", + "0x5e046000f85aede8d4c28140b27778488d4ad21b1e16e345055d07ee53f2711b" ] } \ No newline at end of file diff --git a/parachain/pallets/ethereum-beacon-client/tests/fixtures/initial-checkpoint.minimal.json b/parachain/pallets/ethereum-beacon-client/tests/fixtures/initial-checkpoint.minimal.json index 9d91c214c6cf2..a7e48f459019e 100644 --- a/parachain/pallets/ethereum-beacon-client/tests/fixtures/initial-checkpoint.minimal.json +++ b/parachain/pallets/ethereum-beacon-client/tests/fixtures/initial-checkpoint.minimal.json @@ -1,62 +1,62 @@ { "header": { - "slot": 1952, + "slot": 3616, "proposer_index": 7, - "parent_root": "0x268fbb101c4f72e658b8a50f1c52a38dbd88237586701d5707c1f8c50fbb75df", - "state_root": "0xfaf5c75b4855d834136a58c7e9c0f520b5b9732bcfbcbb63a9854dc6e5a28e3c", - "body_root": "0xba63b5a8f72c37b394463e73b60f687eb42cf05a76469bde530eedd439d6f8bd" + "parent_root": "0x6c5e8c7b32b7bfbb250fa8fd7bc348d7325fb2bfc869e4c506af6802fcad87f4", + "state_root": "0x3e467e3429a1ae36572fe3fe1c953381242e950254cf97c7527a8cea8aa6c9de", + "body_root": "0x7da749680d2b0b4f779047fcfe7d0c13d247f6d23478817fe9c6fbe07993adb2" }, "current_sync_committee": { "pubkeys": [ - "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", - "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", - "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", - "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", - "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", - "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", - "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", - "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", - "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", - "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", - "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", + "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", + "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", - "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", + "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", - "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", + "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", + "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", + "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", + "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", + "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", + "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", - "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", + "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", - "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", + "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", - "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", - "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b" + "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c" ], "aggregate_pubkey": "0x8fe11476a05750c52618deb79918e2e674f56dfbf12dbce55ae4386d108e8a1e83c6326f5957e2ef19137582ce270dc6" }, "current_sync_committee_branch": [ - "0x236cd3e3485f47aa219a2bda3268997fecf07bc49a695ee2d45a09d53d444f36", - "0xad4dff98ece63b89f7e7c86c70398338f6413428c77fc2b8b8d8b7b0bee13b6e", - "0xdd031bc508ed64129e6c90f0b7e683137a4d3aaebec551cdb0eb5300d2c26493", - "0xec75110e7633a16014f9cf010b8ebd8a38a62a5a918ecf525294878d4db11076", - "0x7080b9ec05041112d1011983ffcfcd9ea61c5d42c5f277708915f3d4e62f39c9" + "0x46af3f54acbea439b63aa5bb699c8f25ff584b23912366788f7c8e95011ce324", + "0x41dcb71ec3b3940399118d28e09fdc58a8e33b818b8c5cbb933c59929504ca08", + "0xfa53febb29348e3493a50c0e7c6d35796bf69c54dfc6f42f7600612789d0ed6d", + "0x5e7ea1693066b604fc60d4657b43e7a4aafd3f4f54d9a740d2abe765e92d8385", + "0x16c9bca64a82e80c23817bfec345d088e0adc3865e392965c1244f97979f816a" ], "validators_root": "0x270d43e74ce340de4bca2b1936beca0f4f5408d9e78aec4850920baf659d5b69", - "block_roots_root": "0xad57df970af8b114fcea3953b2e3567febdbe26cbe926c429d0d4072911c8190", + "block_roots_root": "0x00f6bbdeac1e1a922a9bf0e78720c0bffe558d8195e8ede8cb72bbd295f242f2", "block_roots_branch": [ - "0x73928b6d3df8e41ae8c833cb2c80e8531170a91f173f7d7942a436fd774aff44", - "0x8fbe632d1ad214d034abe9a02cefd890e4907059140b0bd62fe28d2fffad4ef7", - "0x07e1a838576d1a524981f456b32c92336d4c491c18f1a3614e8b3541f5cc8a3e", - "0xa10c459ba710ff1aab462bda967bbd5317b76886e7670084d699db29d7b5b00e", - "0xe842119dd231b36858052e7df8322a04e928420de8347fa9f5ac383296e958bd" + "0x7a61086fb9e53ab4dd87243d6288c51793696168a73773277630da5b20bf6091", + "0x60733905cdc5dd65d05161bb3138eecc47d6d6057ab36b0d36cf5a3200484143", + "0x86d7de634ae45de5b3cbbc562dd976de7d06a3d96f83147413536e6b108c7a39", + "0x0ada571c9e0da6fce8dd13e6d9ce173768521ac32e0af456634556176789fa6e", + "0x2341538fd0aafbc1ff0f513545e5dcd4b8905dc9e00d6173480c18a4e8086ebc" ] } \ No newline at end of file diff --git a/parachain/pallets/ethereum-beacon-client/tests/fixtures/next-finalized-header-update.minimal.json b/parachain/pallets/ethereum-beacon-client/tests/fixtures/next-finalized-header-update.minimal.json new file mode 100755 index 0000000000000..8f1ddc827c1f4 --- /dev/null +++ b/parachain/pallets/ethereum-beacon-client/tests/fixtures/next-finalized-header-update.minimal.json @@ -0,0 +1,38 @@ +{ + "attested_header": { + "slot": 3696, + "proposer_index": 1, + "parent_root": "0x04a63c5dfb726c31a32a72c1c426ff89e21363223d7096486b629f1d58abe5d8", + "state_root": "0xbe20e69420cbf9400224ec5edeb0843776a2ccf945e9a3ba9311ae812cad1e30", + "body_root": "0x1d2acd1748f1c58096d1edc8badd3a1d7e1dc3c33bcb9229e4c03f3a84efeadb" + }, + "sync_aggregate": { + "sync_committee_bits": "0xffffffff", + "sync_committee_signature": "0xafa79bc0f3c731ab1eb6aeafc582a7dd1c100ea471df3af6ff485b58661b3ef8077264dea0b60df9aec2d3ca8ddab6770fc9d061462e5a6dc718146085425f863d00921c42413805cb5b4c5175f36f2087cfed740bb7d57e8d5b48352643cd5b" + }, + "signature_slot": 3697, + "next_sync_committee_update": null, + "finalized_header": { + "slot": 3680, + "proposer_index": 7, + "parent_root": "0x4d8f4fc47ad3eb045bd20cae13af6df02f96a3f8d7c8a285190ba10cfe2b84cf", + "state_root": "0xd498766d77277fe16a6a4609ab3ac3a6e9887d162d8dfffdfc9cc4ae833e4127", + "body_root": "0x9ba73bc9a4907cac0b887550e2b01a63dcc70473753ffcc243d33394cc64b4c0" + }, + "finality_branch": [ + "0xcc01000000000000000000000000000000000000000000000000000000000000", + "0x10c726fac935bf9657cc7476d3cfa7bedec5983dcfb59e8a7df6d0a619e108d7", + "0x142061c4bc3673bf774cb8c7b6085057bd0ca85672b43afa2d9581b0b6a44e54", + "0x48b8cd8ca9d9563e30c1cca2a854cd7f75eb4cb013d10809b3138a72d94ea0c5", + "0x9b39523d05013ac7cbb9f43e5d6f9dc033b12aa1d6d6edd994ddc4f5efe7be9d", + "0x066c9aa26107bc8cb28bc73e518da6cc865ec1d67516b6ca24663b6b7ae3cb21" + ], + "block_roots_root": "0xb15aa2483811d8c5616cb93710f4fcb809d97443caac9de163f943a30f385db6", + "block_roots_branch": [ + "0xf7a43ad317417daa4c2a1e93c54895895a824ef1e43320eb44eab16673da5a61", + "0xe4b8d640660f765c2ef4dc886025dc8e54c6e70b66192582f42837ed5e9d8d41", + "0x841f113dc81e76419b6cdec8b0cf2fc20f9381492ed3c79e9b49179b4d3eacbc", + "0xeb5fdc4d8b5282b653ecbc9caa93bcfe482f6d6a32cbb0d9eb011bef947579bb", + "0x1f328cc5640efb191ae6aa86223b1aa9d083b26ac3e1fa3c071327bb09dc5727" + ] +} \ No newline at end of file diff --git a/parachain/pallets/ethereum-beacon-client/tests/fixtures/next-sync-committee-update.minimal.json b/parachain/pallets/ethereum-beacon-client/tests/fixtures/next-sync-committee-update.minimal.json new file mode 100755 index 0000000000000..8f1c8b9ce21cd --- /dev/null +++ b/parachain/pallets/ethereum-beacon-client/tests/fixtures/next-sync-committee-update.minimal.json @@ -0,0 +1,83 @@ +{ + "attested_header": { + "slot": 3664, + "proposer_index": 4, + "parent_root": "0x15ac23a0c16bfa81e8595621118040c3e6cbddd4b09bae6fb39ba5fefd0258e8", + "state_root": "0x6fb81aa3827e7d580bb05b4df2686c9a49508bde2f8342fd75be609a23dd8362", + "body_root": "0x9906a1ae8065d268f8acb7f1b3119408d2f7f8e6e0764370c16ea3d15134981f" + }, + "sync_aggregate": { + "sync_committee_bits": "0xffffffff", + "sync_committee_signature": "0xa9b5584ec9290a4ac6c5616639d031f9ab1064d63b4889f1da52f6f4d66b645fca48bbe2fe8484adb0c05c647edd694d0340cf684b8ccf8e34c6d8cf447cfcfdcb856f5abdcfd85ada5a4a04d4c8f6f40c6e99308893c3941485a436d6c8e5f7" + }, + "signature_slot": 3665, + "next_sync_committee_update": { + "next_sync_committee": { + "pubkeys": [ + "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", + "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", + "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", + "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", + "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", + "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", + "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", + "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", + "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", + "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", + "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", + "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", + "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", + "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", + "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", + "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", + "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", + "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", + "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", + "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373" + ], + "aggregate_pubkey": "0x8fe11476a05750c52618deb79918e2e674f56dfbf12dbce55ae4386d108e8a1e83c6326f5957e2ef19137582ce270dc6" + }, + "next_sync_committee_branch": [ + "0x46af3f54acbea439b63aa5bb699c8f25ff584b23912366788f7c8e95011ce324", + "0x5b118fe110ee4a1b0cf9823bc189fb38eb55a7b49adbdafcf466ec7cd4b7fd68", + "0xc2f12fb91a61abedb47f62a98258960edca21f31494cdf59b47a1c721e3e98f8", + "0x16fdfd5e6b591b3140a76efa4593a9c4d105b9e5c62d6f44edbd24790657be50", + "0xc8175ab66690cc94c0a24452754addd62a06948de5db9814e813437a130de452" + ] + }, + "finalized_header": { + "slot": 3648, + "proposer_index": 1, + "parent_root": "0x991ee98a70e8f90bdd61d0f5554e53d37473e75e16af171f6d88f27d20223dae", + "state_root": "0x59b04d660ac772005a13a7dc1d5f99bb0d0292f3c422f04f7365198d70dd30de", + "body_root": "0x5151f035e146258e7327ad9cf1df13f8ddec7a7842c19993cf739358717b5565" + }, + "finality_branch": [ + "0xc801000000000000000000000000000000000000000000000000000000000000", + "0x10c726fac935bf9657cc7476d3cfa7bedec5983dcfb59e8a7df6d0a619e108d7", + "0x142061c4bc3673bf774cb8c7b6085057bd0ca85672b43afa2d9581b0b6a44e54", + "0xc2f12fb91a61abedb47f62a98258960edca21f31494cdf59b47a1c721e3e98f8", + "0x16fdfd5e6b591b3140a76efa4593a9c4d105b9e5c62d6f44edbd24790657be50", + "0xc8175ab66690cc94c0a24452754addd62a06948de5db9814e813437a130de452" + ], + "block_roots_root": "0xe6e2adaaad45363d7112945ef670e21c66bcb3276dc450962ade1e8950230380", + "block_roots_branch": [ + "0x386ede102258966d4c23031c5a02de2af8180d475c4c1716b07fb5b9f142a817", + "0x35e6c89bc38d993a1957f8a9fb1fbeab7420688091ba2cd7ee7b19b7e187f7d6", + "0x99249309825cafef7e694c09c4fdf95eb4b1e8743d3b23f6959d9980ad2d69b0", + "0x5e028d1d905db6430f0ce4aafbc78f442047ec3a132b4e69557fdf804a4cfbf3", + "0xd34afeab37851937920243683a1c926c41c626aacb145718fce755782d4996dd" + ] +} \ No newline at end of file diff --git a/parachain/pallets/ethereum-beacon-client/tests/fixtures/sync-committee-update.minimal.json b/parachain/pallets/ethereum-beacon-client/tests/fixtures/sync-committee-update.minimal.json index 9974c808f5a08..a962a0c87c4c5 100644 --- a/parachain/pallets/ethereum-beacon-client/tests/fixtures/sync-committee-update.minimal.json +++ b/parachain/pallets/ethereum-beacon-client/tests/fixtures/sync-committee-update.minimal.json @@ -1,83 +1,83 @@ { "attested_header": { - "slot": 1936, - "proposer_index": 1, - "parent_root": "0x6ffe05278a869643e1b3bccf5e0e69a39cc96cd28673a3bfb3c6561c9859883b", - "state_root": "0xe3d7a597cb12d039f5655a773c8e0d43c93018651e0d2b113d9c6dbadffd9e1f", - "body_root": "0x14ac5afcfb0e6e3de426c9af82798aae7dcc5d688aef3b912e7ed5e45d8d968b" + "slot": 3600, + "proposer_index": 7, + "parent_root": "0xdf60c2d58beccd89678b9267c689e9ba1cf1d58ce5114ad5c16e8341459cfd75", + "state_root": "0x023f14c7a38ef4d6ec19b522edfb427c6b70c6ffbd8610ca802dd1491c92c852", + "body_root": "0x0f78a1c45e42711efc5fb7b7f6238be1bee9273f7c44ff6892d815858bb77e25" }, "sync_aggregate": { "sync_committee_bits": "0xffffffff", - "sync_committee_signature": "0xaa75e1a14ab57da29bd50ffa26a6d5665065594332fb04e79fe7e3945d40da5207797ce4e3fb5d125e3918c6e8387342028a7f94142582aefdfede5eb71d3f0395c48439c2019287a53e26ddccdcdd0c5cade4f1342fcfac5e5692701ab46a90" + "sync_committee_signature": "0xa4dd8f0991de88ca6f81476f72f48cdb67b9414ad7bf6bba37f627c5ec84dd2c2ebc12cddd5d2e7c927276cee2d3d144158b4c067db3e9911fe52fe1875b14c93f90e4eb57bf5e8f0e6e6effe22f9ba076f30207e0ec683354961ae8e9779556" }, - "signature_slot": 1937, + "signature_slot": 3601, "next_sync_committee_update": { "next_sync_committee": { "pubkeys": [ + "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", + "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", + "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", - "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", - "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", - "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", - "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", - "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", - "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", - "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", - "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", - "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34", "0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b", - "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", "0x88c141df77cd9d8d7a71a75c826c41a9c9f03c6ee1b180f3e7852f6a280099ded351b58d66e653af8e42816a4d8f532e", - "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c", + "0x81283b7a20e1ca460ebd9bbd77005d557370cabb1f9a44f530c4c4c66230f675f8df8b4c2818851aa7d77a80ca5a4a5e", "0x9977f1c8b731a8d5558146bfb86caea26434f3c5878b589bf280a42c9159e700e9df0e4086296c20b011d2e78c27d373", - "0xa8d4c7c27795a725961317ef5953a7032ed6d83739db8b0e8a72353d1b8b4439427f7efa2c89caa03cc9f28f8cbab8ac", - "0xa3a32b0f8b4ddb83f1a0a853d81dd725dfe577d4f4c3db8ece52ce2b026eca84815c1a7e8e92a4de3d755733bf7e4a9b", - "0xab0bdda0f85f842f431beaccf1250bf1fd7ba51b4100fd64364b6401fda85bb0069b3e715b58819684e7fc0b10a72a34" + "0xa99a76ed7796f7be22d5b7e85deeb7c5677e88e511e0b337618f8c4eb61349b4bf2d153f649f7b53359fe8b94a38e44c" ], "aggregate_pubkey": "0x8fe11476a05750c52618deb79918e2e674f56dfbf12dbce55ae4386d108e8a1e83c6326f5957e2ef19137582ce270dc6" }, "next_sync_committee_branch": [ - "0xd14179a0a46530f7de99d429da83464dc1e81341ade55ac319424d8ce0589a5f", - "0xe6d91577e04089f805f7581bd1762a27b0a1697428521ff24286374f68e1acae", - "0x601aa4b423d471f39d6c5ea21198d5ba509e6b90b3a048810f91ec3313c65283", - "0x38665a9b4474643c35750a7b936f93850c7f2f14c692f51f6749cd4479f05433", - "0xca9690c6abeb6c12684d4c50b52804c3116e24f12a5af262cb7d8eb7df2e2913" + "0x1446606d0129c324a4ea374bd29a625175e0659512cd8650097e0a9c38ce6379", + "0xd92466c7e9a53b7b55f4fdb151746a3058931d7559b7e84e7b15384ddc903ca0", + "0x9fd10c3f68b75cfd3ebd2af0d4e2cbbfbe120e0b5423dde89ff0f743c7a4f937", + "0x1ed6aac0ab29a883de2bb2e3579ad4d6807ddcf3db8afcaf0ae25a076ac9a5f4", + "0xf17a840df410a15f0e4e48abf521c29ad0d296d3fb4e8b847ea37f2cc8236f1f" ] }, "finalized_header": { - "slot": 1920, - "proposer_index": 3, - "parent_root": "0x7b243f3723e10177eeb0f5b15e91587b702eb453431c895d1d267078b2a26576", - "state_root": "0xa219c5381b159c4904cbc41e8a15b57a8f82036f659bf08e2bccf10f664d8f4e", - "body_root": "0xe5cac995a787af11f11db684e251502d62e669c3dd76b06fa49364b0330ce32f" + "slot": 3584, + "proposer_index": 1, + "parent_root": "0x91c285af2ec25d485310391afe667108b787ec570cdbb0e3fd87b1e0e2c47bd7", + "state_root": "0xccc4baf90024e035f1252520d2f2ef1e50f840ff0ecc8e6e365721e083871a32", + "body_root": "0x91df5e0077434aad609aaa7e030005cee77cca83868ffc2724e5befe9a3f6a02" }, "finality_branch": [ - "0xf000000000000000000000000000000000000000000000000000000000000000", + "0xc001000000000000000000000000000000000000000000000000000000000000", "0x10c726fac935bf9657cc7476d3cfa7bedec5983dcfb59e8a7df6d0a619e108d7", - "0x3353bf88b2d4edaeccc727b121320a92ca2f9109db77222dd1541af853c0ef0b", - "0x601aa4b423d471f39d6c5ea21198d5ba509e6b90b3a048810f91ec3313c65283", - "0x38665a9b4474643c35750a7b936f93850c7f2f14c692f51f6749cd4479f05433", - "0xca9690c6abeb6c12684d4c50b52804c3116e24f12a5af262cb7d8eb7df2e2913" + "0x83c3d5360d254f4a44be712c1f433e88e810b6d1e0e789e90bada9e36126b857", + "0x9fd10c3f68b75cfd3ebd2af0d4e2cbbfbe120e0b5423dde89ff0f743c7a4f937", + "0x1ed6aac0ab29a883de2bb2e3579ad4d6807ddcf3db8afcaf0ae25a076ac9a5f4", + "0xf17a840df410a15f0e4e48abf521c29ad0d296d3fb4e8b847ea37f2cc8236f1f" ], - "block_roots_root": "0xf7457c2ea1e9133d748c3918fd95124fad248ed2b9b7707ab3f99dde803b2eab", + "block_roots_root": "0x9eab8a05c396a29c32f4f8ac9654fc0fb7cd97ec659236392ede48951a794505", "block_roots_branch": [ - "0x3cb6697a14e408e0dec265eaf14d83f05565ab8d8edcc767754d780c84cb38aa", - "0xed8d11b93bfec0d9461123aee639111e602ef32bfd04a3d7c63a5bb584689e29", - "0xb5757928f3cb2b3b42cea3a465e275cc4a5003052bfcebf800dfccdbbdf17ddb", - "0xc6437c25af2368df64c8e20d45dd4b50d74be8e49d634b0d1d8f6fdb7bf53548", - "0x020a6fdeca69f5316a8f7cc06e94684216641d1d1ff43ae30a59ba2c549496f4" + "0x5c175efdbafacdfdab21c93a318b0e8e2291a5a86c40b1fc564f91ad33c106d4", + "0x5c1e0b76176ab033858b2835f90d5e25d708b563f77efd7d9938f0faa1c20878", + "0x7aea32464adee801e2a05c3af227f24231d3c088e3b7265a5fada9ac850549fe", + "0x9d9fca29e23c5d4ae433adf17e7fd9a0e4d1b09b68f5c45e7ca1b13ebe4a9e98", + "0x6b35238f188021c859d6b317457ebb6fe4cf362cab35c988010cb1343eabbfc5" ] } \ No newline at end of file diff --git a/parachain/primitives/beacon/src/types.rs b/parachain/primitives/beacon/src/types.rs index 3ad6fcc6cef9e..63f8ea292eaf5 100644 --- a/parachain/primitives/beacon/src/types.rs +++ b/parachain/primitives/beacon/src/types.rs @@ -3,7 +3,7 @@ use frame_support::{CloneNoBound, PartialEqNoBound, RuntimeDebugNoBound}; use scale_info::TypeInfo; use sp_core::{H160, H256, U256}; use sp_runtime::RuntimeDebug; -use sp_std::prelude::*; +use sp_std::{boxed::Box, prelude::*}; use crate::config::{PUBKEY_SIZE, SIGNATURE_SIZE}; @@ -181,7 +181,7 @@ impl SyncCommittee { #[derive(Clone, PartialEq, Eq, Encode, Decode, TypeInfo, MaxEncodedLen)] pub struct SyncCommitteePrepared { pub root: H256, - pub pubkeys: [PublicKeyPrepared; COMMITTEE_SIZE], + pub pubkeys: Box<[PublicKeyPrepared; COMMITTEE_SIZE]>, pub aggregate_pubkey: PublicKeyPrepared, } @@ -189,7 +189,7 @@ impl Default for SyncCommitteePrepared Self { SyncCommitteePrepared { root: H256::default(), - pubkeys: [PublicKeyPrepared::default(); COMMITTEE_SIZE], + pubkeys: Box::new([PublicKeyPrepared::default(); COMMITTEE_SIZE]), aggregate_pubkey: PublicKeyPrepared::default(), } } diff --git a/parachain/templates/benchmarking-fixtures.mustache b/parachain/templates/benchmarking-fixtures.mustache index 9b1c1e8136bc1..017f8d0d8b79f 100644 --- a/parachain/templates/benchmarking-fixtures.mustache +++ b/parachain/templates/benchmarking-fixtures.mustache @@ -1,10 +1,10 @@ // Generated, do not edit! // See README.md for instructions to generate use crate::{ - CheckpointUpdate, ExecutionHeaderUpdate, Update, SyncCommittee, + CheckpointUpdate, ExecutionHeaderUpdate, Update, }; use hex_literal::hex; -use primitives::{updates::AncestryProof, BeaconHeader, ExecutionPayloadHeader, SyncAggregate, NextSyncCommitteeUpdate}; +use primitives::{updates::AncestryProof, BeaconHeader, ExecutionPayloadHeader, SyncAggregate, NextSyncCommitteeUpdate, SyncCommittee}; use sp_core::U256; use sp_std::{boxed::Box, vec}; diff --git a/relayer/cmd/generate_beacon_data.go b/relayer/cmd/generate_beacon_data.go index 677dd463836a0..84c82e42f7b4f 100644 --- a/relayer/cmd/generate_beacon_data.go +++ b/relayer/cmd/generate_beacon_data.go @@ -77,7 +77,7 @@ type Data struct { const ( pathToBeaconBenchmarkData = "parachain/pallets/ethereum-beacon-client/src/benchmarking" - pathToBenchmarkDataTemplate = "parachain/templates/benchmark-fixtures.mustache" + pathToBenchmarkDataTemplate = "parachain/templates/benchmarking-fixtures.mustache" pathToBeaconTestFixtureFiles = "parachain/pallets/ethereum-beacon-client/tests/fixtures" ) @@ -149,7 +149,7 @@ func generateBeaconData(cmd *cobra.Command, _ []string) error { return fmt.Errorf("get spec: %w", err) } - endpoint, err := cmd.Flags().GetString("url") + endpoint, _ := cmd.Flags().GetString("url") viper.SetConfigFile("core/packages/test/config/beacon-relay.json") if err := viper.ReadInConfig(); err != nil { @@ -162,82 +162,107 @@ func generateBeaconData(cmd *cobra.Command, _ []string) error { return err } - specSettings := conf.GetSpecSettingsBySpec(activeSpec) + // ETH_FAST_MODE hack for fast slot period + SlotTimeDuration := 6 * time.Second + if os.Getenv("ETH_FAST_MODE") == "true" { + SlotTimeDuration = 2 * time.Second + } + specSettings := conf.GetSpecSettingsBySpec(activeSpec) log.WithFields(log.Fields{"spec": activeSpec, "endpoint": endpoint}).Info("connecting to beacon API") - s := syncer.New(endpoint, specSettings, activeSpec) + // generate InitialUpdate initialSyncScale, err := s.GetCheckpoint() if err != nil { return fmt.Errorf("get initial sync: %w", err) } initialSync := initialSyncScale.ToJSON() - err = writeJSONToFile(initialSync, fmt.Sprintf("initial-checkpoint.%s.json", activeSpec.ToString())) + writeJSONToFile(initialSync, fmt.Sprintf("initial-checkpoint.%s.json", activeSpec.ToString())) initialSyncHeaderSlot := initialSync.Header.Slot initialSyncPeriod := s.ComputeSyncPeriodAtSlot(initialSyncHeaderSlot) - log.Info("created initial sync file") - - log.Info("downloading beacon state, this can take a few minutes...") - // wait for 5 blocks - time.Sleep(6 * time.Second * 5) - syncCommitteePeriod := s.ComputeSyncPeriodAtSlot(initialSyncHeaderSlot + 5) - if initialSyncPeriod != syncCommitteePeriod { - return fmt.Errorf("initialSyncPeriod %d should be consistent with syncCommitteePeriod %d", initialSyncPeriod, syncCommitteePeriod) - } - - syncCommitteeUpdateScale, err := s.GetSyncCommitteePeriodUpdate(syncCommitteePeriod) - if err != nil { - return fmt.Errorf("get sync committee update: %w", err) - } - syncCommitteeUpdate := syncCommitteeUpdateScale.Payload.ToJSON() - - err = writeJSONToFile(syncCommitteeUpdate, fmt.Sprintf("sync-committee-update.%s.json", activeSpec.ToString())) - if err != nil { - return fmt.Errorf("write sync committee update to file: %w", err) - } - log.Info("created sync committee update file") - - log.Info("downloading beacon state, this can take a few minutes...") + initialEpoch := s.ComputeEpochAtSlot(initialSyncHeaderSlot) + log.WithFields(log.Fields{ + "epoch": initialEpoch, + "period": initialSyncPeriod, + }).Info("created initial sync file") + + // generate FinalizedUpdate for next epoch + log.Info("waiting for a new finalized_update in next epoch and in current sync period,several seconds required...") + elapseEpochs := uint64(1) + waitIntervalForNextEpoch := elapseEpochs * specSettings.SlotsInEpoch + time.Sleep(time.Duration(waitIntervalForNextEpoch) * SlotTimeDuration) finalizedUpdateScale, err := s.GetFinalizedUpdate() if err != nil { return fmt.Errorf("get finalized header update: %w", err) } finalizedUpdate := finalizedUpdateScale.Payload.ToJSON() - err = writeJSONToFile(finalizedUpdate, fmt.Sprintf("finalized-header-update.%s.json", activeSpec.ToString())) - if err != nil { - return fmt.Errorf("write finalized header update to file: %w", err) + if finalizedUpdate.AttestedHeader.Slot <= initialSyncHeaderSlot { + return fmt.Errorf("AttestedHeader slot should be greater than initialSyncHeaderSlot") } - log.Info("created finalized header update file") - - finalizedUpdatePeriod := s.ComputeSyncPeriodAtSlot(finalizedUpdate.SignatureSlot) - if initialSyncPeriod != finalizedUpdatePeriod { - return fmt.Errorf("initialSyncPeriod %d should be consistent with finalizedUpdatePeriod %d", initialSyncPeriod, finalizedUpdatePeriod) + finalizedEpoch := s.ComputeEpochAtSlot(finalizedUpdate.AttestedHeader.Slot) + if finalizedEpoch <= initialEpoch { + return fmt.Errorf("epoch in FinalizedUpdate should be greater than initialEpoch") } - if finalizedUpdate.AttestedHeader.Slot <= initialSyncHeaderSlot { - return fmt.Errorf("AttestedHeader slot %d should be greater than initialSyncHeaderSlot %d", finalizedUpdate.AttestedHeader.Slot, initialSyncHeaderSlot) + finalizedPeriod := s.ComputeSyncPeriodAtSlot(finalizedUpdate.FinalizedHeader.Slot) + if initialSyncPeriod != finalizedPeriod { + return fmt.Errorf("initialSyncPeriod should be consistent with finalizedUpdatePeriod") } + writeJSONToFile(finalizedUpdate, fmt.Sprintf("finalized-header-update.%s.json", activeSpec.ToString())) + log.WithFields(log.Fields{ + "epoch": finalizedEpoch, + "period": finalizedPeriod, + }).Info("created finalized header update file") + + // generate SyncCommitteeUpdate same as InitialUpdate for filling NextSyncCommittee + syncCommitteeUpdateScale, err := s.GetSyncCommitteePeriodUpdate(initialSyncPeriod) + if err != nil { + return fmt.Errorf("get sync committee update: %w", err) + } + syncCommitteeUpdate := syncCommitteeUpdateScale.Payload.ToJSON() + writeJSONToFile(syncCommitteeUpdate, fmt.Sprintf("sync-committee-update.%s.json", activeSpec.ToString())) + log.Info("created sync committee update file") + // generate executionUpdate blockUpdateSlot := uint64(finalizedUpdateScale.Payload.FinalizedHeader.Slot - 2) checkPoint := cache.Proof{ FinalizedBlockRoot: finalizedUpdateScale.FinalizedHeaderBlockRoot, BlockRootsTree: finalizedUpdateScale.BlockRootsTree, Slot: uint64(finalizedUpdateScale.Payload.FinalizedHeader.Slot), } - headerUpdateScale, err := s.GetNextHeaderUpdateBySlotWithAncestryProof(blockUpdateSlot, &checkPoint) + headerUpdateScale, err := s.GetNextHeaderUpdateBySlotWithCheckpoint(blockUpdateSlot, &checkPoint) if err != nil { return fmt.Errorf("get header update: %w", err) } - if err != nil { - return fmt.Errorf("get next header update to get sync aggregate: %w", err) - } headerUpdate := headerUpdateScale.ToJSON() - err = writeJSONToFile(headerUpdate, fmt.Sprintf("execution-header-update.%s.json", activeSpec.ToString())) - if err != nil { - return fmt.Errorf("write block update to file: %w", err) - } + writeJSONToFile(headerUpdate, fmt.Sprintf("execution-header-update.%s.json", activeSpec.ToString())) + log.Info("created execution update file") + + if activeSpec.IsMinimal() { + // generate FinalizedUpdate for next period + log.Info("waiting until next sync period,several minutes required...") + time.Sleep(time.Duration(specSettings.SlotsInEpoch*(specSettings.EpochsPerSyncCommitteePeriod-elapseEpochs)) * SlotTimeDuration) + nextFinalizedUpdateScale, err := s.GetFinalizedUpdate() + if err != nil { + return fmt.Errorf("get next finalized header update: %w", err) + } + nextFinalizedUpdate := nextFinalizedUpdateScale.Payload.ToJSON() + nextFinalizedUpdatePeriod := s.ComputeSyncPeriodAtSlot(nextFinalizedUpdate.FinalizedHeader.Slot) + if initialSyncPeriod+1 != nextFinalizedUpdatePeriod { + return fmt.Errorf("nextFinalizedUpdatePeriod should be 1 period ahead of initialSyncPeriod") + } + writeJSONToFile(nextFinalizedUpdate, fmt.Sprintf("next-finalized-header-update.%s.json", activeSpec.ToString())) + log.Info("created next finalized header update file") - log.Info("created header update file") + // generate nextSyncCommitteeUpdate + nextSyncCommitteeUpdateScale, err := s.GetSyncCommitteePeriodUpdate(initialSyncPeriod + 1) + if err != nil { + return fmt.Errorf("get sync committee update: %w", err) + } + nextSyncCommitteeUpdate := nextSyncCommitteeUpdateScale.Payload.ToJSON() + writeJSONToFile(nextSyncCommitteeUpdate, fmt.Sprintf("next-sync-committee-update.%s.json", activeSpec.ToString())) + log.Info("created next sync committee update file") + } if !activeSpec.IsMinimal() { log.Info("now updating benchmarking data files") @@ -257,10 +282,14 @@ func generateBeaconData(cmd *cobra.Command, _ []string) error { log.WithFields(log.Fields{ "location": pathToBeaconTestFixtureFiles, + "template": pathToBenchmarkDataTemplate, "spec": activeSpec, }).Info("rendering file using mustache") rendered, err := mustache.RenderFile(pathToBenchmarkDataTemplate, data) + if err != nil { + return fmt.Errorf("render benchmark fixture: %w", err) + } filename := "fixtures.rs" log.WithFields(log.Fields{ diff --git a/relayer/cmd/import_execution_header.go b/relayer/cmd/import_execution_header.go index 1be3370fddaea..b88e313ccbb1e 100644 --- a/relayer/cmd/import_execution_header.go +++ b/relayer/cmd/import_execution_header.go @@ -128,7 +128,7 @@ func importExecutionHeaderFn(cmd *cobra.Command, _ []string) error { Slot: uint64(finalizedUpdate.Payload.FinalizedHeader.Slot), } - update, err := syncer.GetHeaderUpdateWithAncestryProof(beaconHeaderHash, &checkpoint) + update, err := syncer.GetHeaderUpdate(beaconHeaderHash, &checkpoint) if err != nil { return fmt.Errorf("get header update: %w", err) } diff --git a/relayer/relays/beacon/header/header.go b/relayer/relays/beacon/header/header.go index 167bae7deedf6..ed4b6ce5dc694 100644 --- a/relayer/relays/beacon/header/header.go +++ b/relayer/relays/beacon/header/header.go @@ -6,6 +6,7 @@ import ( "fmt" "time" + "github.com/snowfork/go-substrate-rpc-client/v4/types" "github.com/snowfork/snowbridge/relayer/relays/beacon/config" "github.com/snowfork/snowbridge/relayer/relays/beacon/header/syncer/scale" @@ -20,6 +21,7 @@ var ErrFinalizedHeaderUnchanged = errors.New("finalized header unchanged") var ErrFinalizedHeaderNotImported = errors.New("finalized header not imported") var ErrSyncCommitteeNotImported = errors.New("sync committee not imported") var ErrSyncCommitteeLatency = errors.New("sync committee latency found") +var ErrExecutionHeaderNotImported = errors.New("execution header not imported") type Header struct { cache *cache.BeaconCache @@ -78,6 +80,8 @@ func (h *Header) Sync(ctx context.Context, eg *errgroup.Group) error { log.WithFields(logFields).WithError(err).Warn("SyncCommittee not imported") case errors.Is(err, ErrSyncCommitteeLatency): log.WithFields(logFields).WithError(err).Warn("SyncCommittee latency found") + case errors.Is(err, ErrExecutionHeaderNotImported): + log.WithFields(logFields).WithError(err).Warn("ExecutionHeader not imported") case errors.Is(err, syncer.ErrBeaconStateAvailableYet): log.WithFields(logFields).WithError(err).Warn("beacon state not available for finalized state yet") case err != nil: @@ -184,7 +188,7 @@ func (h *Header) SyncFinalizedHeader(ctx context.Context) error { func (h *Header) SyncHeaders(ctx context.Context) error { err := h.SyncExecutionHeaders(ctx) if err != nil { - return fmt.Errorf("sync execution headers: %w", err) + return err } hasChanged, err := h.syncer.HasFinalizedHeaderChanged(h.cache.Finalized.LastSyncedHash) @@ -230,11 +234,11 @@ func (h *Header) SyncExecutionHeaders(ctx context.Context) error { // start syncing at next block after last synced block currentSlot := fromSlot - headerUpdate, err := h.getNextHeaderUpdateBySlotWithAncestryProof(currentSlot) + headerUpdate, err := h.getNextHeaderUpdateBySlot(currentSlot) if err != nil { return fmt.Errorf("get next header update by slot with ancestry proof: %w", err) } - currentSlot++ + currentSlot = uint64(headerUpdate.Header.Slot) for currentSlot <= toSlot { log.WithFields(log.Fields{ @@ -242,18 +246,13 @@ func (h *Header) SyncExecutionHeaders(ctx context.Context) error { }).Info("fetching next header at slot") var nextHeaderUpdate scale.HeaderUpdatePayload - // If this is the last slot we need to sync, don't fetch the ancestry proof for the next slot - // because its finalized header won't be synced yet. We still need to fetch the next block for the - // sync aggregate though. if currentSlot >= toSlot { - nextHeaderUpdate, err = h.getNextHeaderUpdateBySlot(currentSlot) - if err != nil { - return fmt.Errorf("get next header update by slot: %w", err) - } + // Just construct an empty update so to break the loop + nextHeaderUpdate = scale.HeaderUpdatePayload{Header: scale.BeaconHeader{Slot: types.U64(toSlot + 1)}} } else { // To get the sync witness for the current synced header. This header // will be used as the next update. - nextHeaderUpdate, err = h.getNextHeaderUpdateBySlotWithAncestryProof(currentSlot) + nextHeaderUpdate, err = h.getNextHeaderUpdateBySlot(currentSlot) if err != nil { return fmt.Errorf("get next header update by slot with ancestry proof: %w", err) } @@ -262,7 +261,7 @@ func (h *Header) SyncExecutionHeaders(ctx context.Context) error { headersToSync = append(headersToSync, headerUpdate) // last slot to be synced, sync headers if currentSlot >= toSlot { - err = h.BatchSyncHeaders(ctx, headersToSync) + err = h.batchSyncHeaders(ctx, headersToSync) if err != nil { return fmt.Errorf("batch sync headers failed: %w", err) } @@ -270,15 +269,18 @@ func (h *Header) SyncExecutionHeaders(ctx context.Context) error { headerUpdate = nextHeaderUpdate currentSlot = uint64(headerUpdate.Header.Slot) } + // waiting for all batch calls to be executed on chain + err = h.waitingForBatchCallFinished(toSlot) + if err != nil { + return err + } h.cache.SetLastSyncedExecutionSlot(toSlot) return nil } func (h *Header) syncLaggingSyncCommitteePeriods(ctx context.Context, latestSyncedPeriod, currentSyncPeriod uint64) error { - periodsToSync, err := h.syncer.GetSyncPeriodsToFetch(latestSyncedPeriod, currentSyncPeriod) - if err != nil { - return fmt.Errorf("check sync committee periods to be fetched: %w", err) - } + // sync for the next period + periodsToSync := []uint64{latestSyncedPeriod + 1} // For initialPeriod special handling here to sync it again for nextSyncCommittee which is not included in InitCheckpoint if h.isInitialSyncPeriod() { @@ -307,7 +309,7 @@ func (h *Header) syncLaggingSyncCommitteePeriods(ctx context.Context, latestSync } func (h *Header) populateFinalizedCheckpoint(slot uint64) error { - finalizedHeader, err := h.syncer.Client.GetHeaderBySlot(slot) // TODO if slot empty get previous slot + finalizedHeader, err := h.syncer.Client.GetHeaderBySlot(slot) if err != nil { return fmt.Errorf("get header by slot: %w", err) } @@ -343,7 +345,7 @@ func (h *Header) populateFinalizedCheckpoint(slot uint64) error { return nil } -func (h *Header) getClosestCheckpoint(slot uint64) (cache.Proof, error) { +func (h *Header) populateClosestCheckpoint(slot uint64) (cache.Proof, error) { checkpoint, err := h.cache.GetClosestCheckpoint(slot) switch { @@ -351,7 +353,7 @@ func (h *Header) getClosestCheckpoint(slot uint64) (cache.Proof, error) { checkpointSlot := checkpoint.Slot if checkpointSlot == 0 { checkpointSlot = h.syncer.CalculateNextCheckpointSlot(slot) - log.WithFields(log.Fields{"calculatedCheckpointSlot": checkpointSlot}).Info("checkpoint slot not available") + log.WithFields(log.Fields{"calculatedCheckpointSlot": checkpointSlot}).Info("checkpoint slot not available, try with slot in next sync period instead") } err := h.populateFinalizedCheckpoint(checkpointSlot) if err != nil { @@ -375,21 +377,24 @@ func (h *Header) getClosestCheckpoint(slot uint64) (cache.Proof, error) { return checkpoint, nil } -func (h *Header) getNextHeaderUpdateBySlotWithAncestryProof(slot uint64) (scale.HeaderUpdatePayload, error) { +func (h *Header) getNextHeaderUpdateBySlot(slot uint64) (scale.HeaderUpdatePayload, error) { slot = slot + 1 - checkpoint, err := h.getClosestCheckpoint(slot) + header, err := h.syncer.FindBeaconHeaderWithBlockIncluded(slot) if err != nil { - return scale.HeaderUpdatePayload{}, fmt.Errorf("get closest checkpoint: %w", err) + return scale.HeaderUpdatePayload{}, fmt.Errorf("get next beacon header with block included: %w", err) } - return h.syncer.GetNextHeaderUpdateBySlotWithAncestryProof(slot, &checkpoint) -} - -func (h *Header) getNextHeaderUpdateBySlot(slot uint64) (scale.HeaderUpdatePayload, error) { - slot = slot + 1 - return h.syncer.GetNextHeaderUpdateBySlotWithAncestryProof(slot, nil) + checkpoint, err := h.populateClosestCheckpoint(header.Slot) + if err != nil { + return scale.HeaderUpdatePayload{}, fmt.Errorf("populate closest checkpoint: %w", err) + } + blockRoot, err := header.HashTreeRoot() + if err != nil { + return scale.HeaderUpdatePayload{}, fmt.Errorf("header hash tree root: %w", err) + } + return h.syncer.GetHeaderUpdate(blockRoot, &checkpoint) } -func (h *Header) BatchSyncHeaders(ctx context.Context, headerUpdates []scale.HeaderUpdatePayload) error { +func (h *Header) batchSyncHeaders(ctx context.Context, headerUpdates []scale.HeaderUpdatePayload) error { headerUpdatesInf := make([]interface{}, len(headerUpdates)) for i, v := range headerUpdates { headerUpdatesInf[i] = v @@ -406,3 +411,24 @@ func (h *Header) isInitialSyncPeriod() bool { lastFinalizedPeriod := h.syncer.ComputeSyncPeriodAtSlot(h.cache.Finalized.LastSyncedSlot) return initialPeriod == lastFinalizedPeriod } + +func (h *Header) waitingForBatchCallFinished(toSlot uint64) error { + batchCallFinished := false + cnt := 0 + for cnt <= 12 { + executionHeaderState, err := h.writer.GetLastExecutionHeaderState() + if err != nil { + return fmt.Errorf("fetch last execution hash: %w", err) + } + if executionHeaderState.BeaconSlot == toSlot { + batchCallFinished = true + break + } + time.Sleep(6 * time.Second) + cnt++ + } + if !batchCallFinished { + return ErrExecutionHeaderNotImported + } + return nil +} diff --git a/relayer/relays/beacon/header/syncer/api/api_response.go b/relayer/relays/beacon/header/syncer/api/api_response.go index c874e423645a3..57c64c1f273a1 100644 --- a/relayer/relays/beacon/header/syncer/api/api_response.go +++ b/relayer/relays/beacon/header/syncer/api/api_response.go @@ -1148,7 +1148,7 @@ func (d DepositResponse) ToFastSSZ() (*state.Deposit, error) { return nil, err } - withdrawalCredentials, err := util.HexStringTo32Bytes(d.Data.Signature) + withdrawalCredentials, err := util.HexStringTo32Bytes(d.Data.WithdrawalCredentials) if err != nil { return nil, err } diff --git a/relayer/relays/beacon/header/syncer/syncer.go b/relayer/relays/beacon/header/syncer/syncer.go index 09a156e8a2c72..fa8f2b87314ac 100644 --- a/relayer/relays/beacon/header/syncer/syncer.go +++ b/relayer/relays/beacon/header/syncer/syncer.go @@ -8,6 +8,7 @@ import ( "github.com/ethereum/go-ethereum/common" ssz "github.com/ferranbt/fastssz" + "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus" "github.com/snowfork/go-substrate-rpc-client/v4/types" "github.com/snowfork/snowbridge/relayer/relays/beacon/cache" @@ -42,15 +43,6 @@ func New(endpoint string, setting config.SpecSettings, activeSpec config.ActiveS } } -func (s *Syncer) GetSyncPeriodsToFetch(lastSyncedPeriod, currentSyncPeriod uint64) ([]uint64, error) { - // sync at most 1 period at one time - if lastSyncedPeriod < currentSyncPeriod { - return []uint64{lastSyncedPeriod + 1}, nil - } - - return []uint64{}, nil -} - func (s *Syncer) GetCheckpoint() (scale.BeaconCheckpoint, error) { checkpoint, err := s.Client.GetFinalizedCheckpoint() if err != nil { @@ -307,26 +299,35 @@ func (s *Syncer) HasFinalizedHeaderChanged(lastFinalizedBlockRoot common.Hash) ( return isTheSame, nil } -func (s *Syncer) getNextBlockRootBySlot(slot uint64) (common.Hash, error) { +func (s *Syncer) FindBeaconHeaderWithBlockIncluded(slot uint64) (state.BeaconBlockHeader, error) { err := api.ErrNotFound var header api.BeaconHeader tries := 0 maxSlotsMissed := int(s.setting.SlotsInEpoch) + startSlot := slot for errors.Is(err, api.ErrNotFound) && tries < maxSlotsMissed { // Need to use GetHeaderBySlot instead of GetBeaconBlockRoot here because GetBeaconBlockRoot // returns the previous slot's block root if there is no block at the given slot header, err = s.Client.GetHeaderBySlot(slot) if err != nil && !errors.Is(err, api.ErrNotFound) { - return common.Hash{}, fmt.Errorf("fetch block: %w", err) + return state.BeaconBlockHeader{}, fmt.Errorf("fetch block: %w", err) } if errors.Is(err, api.ErrNotFound) { - log.WithField("slot", slot).Info("no block at slot") + log.WithField("slot", slot).Info("skipped block not included") tries = tries + 1 slot = slot + 1 } } + if err != nil || header.Slot == 0 { + log.WithFields(logrus.Fields{ + "start": startSlot, + "end": slot, + }).WithError(err).Error("matching block included not found") + return state.BeaconBlockHeader{}, api.ErrNotFound + } + beaconHeader := state.BeaconBlockHeader{ Slot: header.Slot, ProposerIndex: header.ProposerIndex, @@ -337,32 +338,47 @@ func (s *Syncer) getNextBlockRootBySlot(slot uint64) (common.Hash, error) { computedRoot, err := beaconHeader.HashTreeRoot() if err != nil { - return [32]byte{}, err + return state.BeaconBlockHeader{}, err } blockRoot, err := s.Client.GetBeaconBlockRoot(header.Slot) - if err != nil && !errors.Is(err, api.ErrNotFound) { - return blockRoot, fmt.Errorf("fetch block: %w", err) + if err != nil { + return state.BeaconBlockHeader{}, fmt.Errorf("fetch block: %w", err) + } + + computedRootHash := common.BytesToHash(computedRoot[:]) + + if blockRoot != computedRootHash { + log.WithFields(log.Fields{ + "computedRoot": computedRootHash, + "blockRoot": blockRoot, + "slot": slot, + }).Error("block root calculated not match") + return state.BeaconBlockHeader{}, fmt.Errorf("block root calculated not match") } log.WithFields(log.Fields{ - "computedRoot": common.BytesToHash(computedRoot[:]), + "computedRoot": computedRootHash, "blockRoot": blockRoot, - }).Info("block roots") + "slot": slot, + }).Info("beacon header with block included found") - return blockRoot, nil + return beaconHeader, nil } -func (s *Syncer) GetNextHeaderUpdateBySlotWithAncestryProof(slot uint64, checkpoint *cache.Proof) (scale.HeaderUpdatePayload, error) { - blockRoot, err := s.getNextBlockRootBySlot(slot) +func (s *Syncer) GetNextHeaderUpdateBySlotWithCheckpoint(slot uint64, checkpoint *cache.Proof) (scale.HeaderUpdatePayload, error) { + header, err := s.FindBeaconHeaderWithBlockIncluded(slot) if err != nil { - return scale.HeaderUpdatePayload{}, fmt.Errorf("get next block root by slot: %w", err) + return scale.HeaderUpdatePayload{}, fmt.Errorf("get next beacon header with block included: %w", err) } - - return s.GetHeaderUpdateWithAncestryProof(blockRoot, checkpoint) + blockRoot, err := header.HashTreeRoot() + if err != nil { + return scale.HeaderUpdatePayload{}, fmt.Errorf("header hash tree root: %w", err) + } + return s.GetHeaderUpdate(blockRoot, checkpoint) } -func (s *Syncer) GetHeaderUpdateWithAncestryProof(blockRoot common.Hash, checkpoint *cache.Proof) (scale.HeaderUpdatePayload, error) { +func (s *Syncer) GetHeaderUpdate(blockRoot common.Hash, checkpoint *cache.Proof) (scale.HeaderUpdatePayload, error) { block, err := s.Client.GetBeaconBlock(blockRoot) if err != nil { return scale.HeaderUpdatePayload{}, fmt.Errorf("fetch block: %w", err) @@ -388,8 +404,7 @@ func (s *Syncer) GetHeaderUpdateWithAncestryProof(blockRoot common.Hash, checkpo return scale.HeaderUpdatePayload{}, err } - // If checkpoint not provided or slot == finalizedSlot, - // there won't be an ancestry proof because the header state in question is also the finalized header + // If checkpoint not provided or slot == finalizedSlot there won't be an ancestry proof because the header state in question is also the finalized header if checkpoint == nil || block.GetBeaconSlot() == checkpoint.Slot { return scale.HeaderUpdatePayload{ Header: beaconHeader,