From 415522a595fe3415a2a2ddc672a651874ad324da Mon Sep 17 00:00:00 2001 From: Piotr Sikora Date: Fri, 15 Mar 2019 10:55:38 +0000 Subject: [PATCH 1/2] rust: add Proxy-WASM for Rust (MVP). Signed-off-by: Piotr Sikora --- .gitignore | 1 + api/wasm/cpp/Makefile.base | 8 +- api/wasm/rust/Cargo.toml | 14 + api/wasm/rust/Makefile.base | 9 + api/wasm/rust/src/lib.rs | 72 + test/extensions/wasm/test_data/Makefile | 3 +- test/extensions/wasm/test_data/logging_cpp.cc | 5 +- .../wasm/test_data/logging_cpp.wasm | Bin 59910 -> 60450 bytes .../extensions/wasm/test_data/logging_cpp.wat | 729 +- .../wasm/test_data/logging_rust.wasm | Bin 0 -> 36507 bytes .../wasm/test_data/logging_rust.wat | 13415 ++++++++++++++++ .../wasm/test_data/logging_rust/Cargo.toml | 18 + .../wasm/test_data/logging_rust/src/lib.rs | 25 + test/extensions/wasm/wasm_test.cc | 18 +- 14 files changed, 13973 insertions(+), 344 deletions(-) create mode 100644 api/wasm/rust/Cargo.toml create mode 100644 api/wasm/rust/Makefile.base create mode 100644 api/wasm/rust/src/lib.rs create mode 100755 test/extensions/wasm/test_data/logging_rust.wasm create mode 100644 test/extensions/wasm/test_data/logging_rust.wat create mode 100644 test/extensions/wasm/test_data/logging_rust/Cargo.toml create mode 100644 test/extensions/wasm/test_data/logging_rust/src/lib.rs diff --git a/.gitignore b/.gitignore index e28b33d6b7f0f..524b2764489e8 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ TAGS .vimrc .vs .vscode +**/Cargo.lock diff --git a/api/wasm/cpp/Makefile.base b/api/wasm/cpp/Makefile.base index bd435c42a2f34..a33d1f132a960 100644 --- a/api/wasm/cpp/Makefile.base +++ b/api/wasm/cpp/Makefile.base @@ -1,13 +1,13 @@ -API:=$(shell git rev-parse --show-toplevel)/api/wasm/cpp +CPP_API:=$(shell git rev-parse --show-toplevel)/api/wasm/cpp ifdef NO_CONTEXT CONTEXT_LIB = else - CONTEXT_LIB = ${API}/proxy_wasm_intrinsics.cc + CONTEXT_LIB = ${CPP_API}/proxy_wasm_intrinsics.cc endif -%.wasm %.wat: %.cc ${API}/proxy_wasm_intrinsics.h ${API}/proxy_wasm_intrinsics.js - em++ -s WASM=1 -s LEGALIZE_JS_FFI=0 -s EMIT_EMSCRIPTEN_METADATA=1 --std=c++17 -O3 -g3 -I${API} --js-library ${API}/proxy_wasm_intrinsics.js $*.cc ${CONTEXT_LIB} -o $*.js +%.wasm %.wat: %.cc ${CPP_API}/proxy_wasm_intrinsics.h ${CPP_API}/proxy_wasm_intrinsics.js + em++ -s WASM=1 -s LEGALIZE_JS_FFI=0 -s EMIT_EMSCRIPTEN_METADATA=1 --std=c++17 -O3 -g3 -I${CPP_API} --js-library ${CPP_API}/proxy_wasm_intrinsics.js $*.cc ${CONTEXT_LIB} -o $*.js wavm-disas $*.wasm $*.wat wavm-compile $*.wasm $*.wasm rm -f $*.js $*.wast diff --git a/api/wasm/rust/Cargo.toml b/api/wasm/rust/Cargo.toml new file mode 100644 index 0000000000000..5daa68de8bd3a --- /dev/null +++ b/api/wasm/rust/Cargo.toml @@ -0,0 +1,14 @@ +[package] +description = "Proxy-WASM for Rust" +name = "proxy_wasm" +version = "0.0.1" +authors = ["Piotr Sikora "] +edition = "2018" + +[dependencies] +log = "0.4" + +[profile.release] +lto = true +opt-level = 3 +panic = "abort" diff --git a/api/wasm/rust/Makefile.base b/api/wasm/rust/Makefile.base new file mode 100644 index 0000000000000..645d3a0f37fa2 --- /dev/null +++ b/api/wasm/rust/Makefile.base @@ -0,0 +1,9 @@ +RUST_API:=$(shell git rev-parse --show-toplevel)/api/wasm/rust + +%.wasm %.wat: %/src/lib.rs %/Cargo.toml ${RUST_API}/src/lib.rs ${RUST_API}/Cargo.toml + cd $* && cargo build --target=wasm32-unknown-unknown --release + mv $*/target/wasm32-unknown-unknown/release/$*.wasm . + rm -rf $*/target + wasm-gc $*.wasm + wavm-disas $*.wasm $*.wat + chmod 644 $*.wat diff --git a/api/wasm/rust/src/lib.rs b/api/wasm/rust/src/lib.rs new file mode 100644 index 0000000000000..79e383e064a20 --- /dev/null +++ b/api/wasm/rust/src/lib.rs @@ -0,0 +1,72 @@ +/// Logger that integrates with host's logging system. +pub struct Logger; + +static LOGGER: Logger = Logger; + +impl Logger { + pub fn init() -> Result<(), log::SetLoggerError> { + log::set_logger(&LOGGER).map(|()| log::set_max_level(log::LevelFilter::Trace)) + } + + fn proxywasm_loglevel(level: log::Level) -> u32 { + match level { + log::Level::Trace => 0, + log::Level::Debug => 1, + log::Level::Info => 2, + log::Level::Warn => 3, + log::Level::Error => 4, + } + } +} + +impl log::Log for Logger { + fn enabled(&self, _metadata: &log::Metadata) -> bool { + true + } + + fn log(&self, record: &log::Record) { + let level = Logger::proxywasm_loglevel(record.level()); + let message = record.args().to_string(); + unsafe { + host::proxy_log(level, message.as_ptr(), message.len()); + } + } + + fn flush(&self) {} +} + +/// Always hook into host's logging system. +#[no_mangle] +fn __post_instantiate() { + Logger::init().unwrap(); +} + +/// Allow host to allocate memory. +#[no_mangle] +fn _malloc(size: usize) -> *mut u8 { + let mut vec: Vec = Vec::with_capacity(size); + unsafe { + vec.set_len(size); + } + let slice = vec.into_boxed_slice(); + Box::into_raw(slice) as *mut u8 +} + +/// Allow host to free memory. +// TODO(PiotrSikora): make sure ptr is within acceptable range. +#[no_mangle] +fn _free(ptr: *mut u8) { + if !ptr.is_null() { + unsafe { + Box::from_raw(ptr); + } + } +} + +/// Low-level Proxy-WASM APIs for the host functions. +pub mod host { + extern "C" { + #[link_name = "_proxy_log"] + pub fn proxy_log(level: u32, message_data: *const u8, message_size: usize); + } +} diff --git a/test/extensions/wasm/test_data/Makefile b/test/extensions/wasm/test_data/Makefile index a27c1abfed835..96071ac478a69 100644 --- a/test/extensions/wasm/test_data/Makefile +++ b/test/extensions/wasm/test_data/Makefile @@ -1,5 +1,6 @@ NO_CONTEXT = true -all: logging_cpp.wasm bad_signature_cpp.wasm segv_cpp.wasm emscripten_cpp.wasm asm2wasm_cpp.wasm +all: logging_cpp.wasm logging_rust.wasm bad_signature_cpp.wasm segv_cpp.wasm emscripten_cpp.wasm asm2wasm_cpp.wasm include ../../../../api/wasm/cpp/Makefile.base +include ../../../../api/wasm/rust/Makefile.base diff --git a/test/extensions/wasm/test_data/logging_cpp.cc b/test/extensions/wasm/test_data/logging_cpp.cc index 64c4184df29fa..a58f7800e4f90 100644 --- a/test/extensions/wasm/test_data/logging_cpp.cc +++ b/test/extensions/wasm/test_data/logging_cpp.cc @@ -8,10 +8,11 @@ extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onConfigure(char* configuration, int } extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onStart() { + logTrace(std::string("test trace") + " logging"); logDebug(std::string("test debug") + " logging"); - logInfo(std::string("test info") + " logging"); + logError(std::string("test error") + " logging"); } extern "C" EMSCRIPTEN_KEEPALIVE void proxy_onTick() { - logError(std::string("test tick") + " logging"); + logInfo(std::string("test tick") + " logging"); } diff --git a/test/extensions/wasm/test_data/logging_cpp.wasm b/test/extensions/wasm/test_data/logging_cpp.wasm index e7d3b4f13a6ff8ccd494765e4820a62d3af1afc1..de70dd34778bfe386ad2450973cfeff660b54558 100644 GIT binary patch delta 19411 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 delta 24825 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 z

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 diff --git a/test/extensions/wasm/test_data/logging_cpp.wat b/test/extensions/wasm/test_data/logging_cpp.wat index c091c13acb1b4..ab44b581e4f64 100644 --- a/test/extensions/wasm/test_data/logging_cpp.wat +++ b/test/extensions/wasm/test_data/logging_cpp.wat @@ -39,12 +39,12 @@ (global $13 (mut i32) (global.get $12)) (global $14 (mut i32) (i32.const 0)) (global $15 (mut i32) (i32.const 0)) - (global $16 (mut i32) (i32.const 2864)) - (global $17 (mut i32) (i32.const 5245744)) + (global $16 (mut i32) (i32.const 2880)) + (global $17 (mut i32) (i32.const 5245760)) (elem $9 (global.get $11) $b0) (data $10 (i32.const 1024) - "warn \00test debug\00 logging\00test info\00test tick") + "warn \00test trace\00 logging\00test debug\00test error\00test tick") (func $stackAlloc (type $4) (param $0 i32) @@ -293,29 +293,29 @@ local.get $2 i32.const 0 i32.store offset=8 - i32.const 1 + i32.const 0 local.get $1 i32.load local.get $1 local.get $1 i32.const 11 i32.add - local.tee $4 + local.tee $2 i32.load8_s - local.tee $5 + local.tee $4 i32.const 0 i32.lt_s - local.tee $2 + local.tee $5 select local.get $1 i32.load offset=4 - local.get $5 + local.get $4 i32.const 255 i32.and - local.get $2 + local.get $5 select call $_proxy_log - local.get $4 + local.get $2 i32.load8_s i32.const 0 i32.lt_s @@ -334,28 +334,95 @@ call $__ZdlPv end ;; $if_0 local.get $0 + i32.const 11 + i32.add + local.tee $3 + i32.const 10 + i32.store8 + local.get $0 + i32.const 1050 + i64.load align=1 + i64.store align=1 + local.get $0 + i32.const 1058 + i32.load16_s align=1 + i32.store16 offset=8 align=1 + local.get $0 + i32.const 0 + i32.store8 offset=10 + local.get $1 + local.get $0 + call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc + local.tee $2 + i64.load align=4 + i64.store align=4 + local.get $1 + local.get $2 + i32.load offset=8 + i32.store offset=8 + local.get $2 i64.const 0 i64.store align=4 - local.get $0 + local.get $2 i32.const 0 i32.store offset=8 + i32.const 1 + local.get $1 + i32.load + local.get $1 + local.get $1 + i32.const 11 + i32.add + local.tee $2 + i32.load8_s + local.tee $4 + i32.const 0 + i32.lt_s + local.tee $5 + select + local.get $1 + i32.load offset=4 + local.get $4 + i32.const 255 + i32.and + local.get $5 + select + call $_proxy_log + local.get $2 + i32.load8_s + i32.const 0 + i32.lt_s + if $if_1 + local.get $1 + i32.load + call $__ZdlPv + end ;; $if_1 + local.get $3 + i32.load8_s + i32.const 0 + i32.lt_s + if $if_2 + local.get $0 + i32.load + call $__ZdlPv + end ;; $if_2 local.get $0 i32.const 11 i32.add local.tee $3 - i32.const 9 + i32.const 10 i32.store8 local.get $0 - i32.const 1050 + i32.const 1061 i64.load align=1 i64.store align=1 local.get $0 - i32.const 1058 - i32.load8_s - i32.store8 offset=8 + i32.const 1069 + i32.load16_s align=1 + i32.store16 offset=8 align=1 local.get $0 i32.const 0 - i32.store8 offset=9 + i32.store8 offset=10 local.get $1 local.get $0 call $__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc @@ -372,46 +439,46 @@ local.get $2 i32.const 0 i32.store offset=8 - i32.const 2 + i32.const 4 local.get $1 i32.load local.get $1 local.get $1 i32.const 11 i32.add - local.tee $4 + local.tee $2 i32.load8_s - local.tee $5 + local.tee $4 i32.const 0 i32.lt_s - local.tee $2 + local.tee $5 select local.get $1 i32.load offset=4 - local.get $5 + local.get $4 i32.const 255 i32.and - local.get $2 + local.get $5 select call $_proxy_log - local.get $4 + local.get $2 i32.load8_s i32.const 0 i32.lt_s - if $if_1 + if $if_3 local.get $1 i32.load call $__ZdlPv - end ;; $if_1 + end ;; $if_3 local.get $3 i32.load8_s i32.const 0 i32.ge_s - if $if_2 + if $if_4 local.get $0 global.set $16 return - end ;; $if_2 + end ;; $if_4 local.get $0 i32.load call $__ZdlPv @@ -445,11 +512,11 @@ i32.const 9 i32.store8 local.get $0 - i32.const 1060 + i32.const 1072 i64.load align=1 i64.store align=1 local.get $0 - i32.const 1068 + i32.const 1080 i32.load8_s i32.store8 offset=8 local.get $0 @@ -474,7 +541,7 @@ local.get $2 i32.const 0 i32.store offset=8 - i32.const 4 + i32.const 2 local.get $1 i32.load local.get $1 @@ -523,7 +590,7 @@ (func $___errno_location (type $2) (result i32) - i32.const 1072 + i32.const 1084 ) (func $_strlen (type $4) @@ -641,7 +708,7 @@ i32.const 245 i32.lt_u if $if (result i32) - i32.const 1076 + i32.const 1088 i32.load local.tee $7 i32.const 16 @@ -673,7 +740,7 @@ local.tee $1 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.tee $2 i32.const 8 @@ -690,7 +757,7 @@ local.get $2 i32.eq if $if_1 - i32.const 1076 + i32.const 1088 i32.const 1 local.get $1 i32.shl @@ -700,7 +767,7 @@ i32.and i32.store else - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.gt_u @@ -750,7 +817,7 @@ return end ;; $if_0 local.get $2 - i32.const 1084 + i32.const 1096 i32.load local.tee $13 i32.gt_u @@ -829,7 +896,7 @@ local.tee $1 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.tee $5 i32.const 8 @@ -846,7 +913,7 @@ local.get $5 i32.eq if $if_6 - i32.const 1076 + i32.const 1088 i32.const 1 local.get $1 i32.shl @@ -857,7 +924,7 @@ local.tee $4 i32.store else - i32.const 1092 + i32.const 1104 i32.load local.get $3 i32.gt_u @@ -910,7 +977,7 @@ i32.store local.get $13 if $if_9 - i32.const 1096 + i32.const 1108 i32.load local.set $2 local.get $13 @@ -919,7 +986,7 @@ local.tee $3 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.set $0 i32.const 1 @@ -929,7 +996,7 @@ local.get $4 i32.and if $if_10 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.const 8 @@ -947,7 +1014,7 @@ local.set $12 end ;; $if_11 else - i32.const 1076 + i32.const 1088 local.get $3 local.get $4 i32.or @@ -972,10 +1039,10 @@ local.get $0 i32.store offset=12 end ;; $if_9 - i32.const 1084 + i32.const 1096 local.get $5 i32.store - i32.const 1096 + i32.const 1108 local.get $7 i32.store local.get $14 @@ -983,7 +1050,7 @@ local.get $10 return end ;; $if_5 - i32.const 1080 + i32.const 1092 i32.load local.tee $12 if $if_12 (result i32) @@ -1046,7 +1113,7 @@ i32.add i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add i32.load local.tee $4 @@ -1095,7 +1162,7 @@ br $loop end ;; $block end ;; $loop - i32.const 1092 + i32.const 1104 i32.load local.tee $15 local.get $4 @@ -1226,7 +1293,7 @@ local.tee $0 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add local.tee $3 i32.load @@ -1238,7 +1305,7 @@ local.get $1 i32.eqz if $if_25 - i32.const 1080 + i32.const 1092 local.get $12 i32.const 1 local.get $0 @@ -1250,7 +1317,7 @@ br $block_2 end ;; $if_25 else - i32.const 1092 + i32.const 1104 i32.load local.get $11 i32.gt_u @@ -1276,7 +1343,7 @@ br_if $block_2 end ;; $if_26 end ;; $if_24 - i32.const 1092 + i32.const 1104 i32.load local.tee $3 local.get $1 @@ -1309,7 +1376,7 @@ i32.load offset=20 local.tee $0 if $if_30 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.gt_u @@ -1367,7 +1434,7 @@ i32.store local.get $13 if $if_33 - i32.const 1096 + i32.const 1108 i32.load local.set $2 local.get $13 @@ -1376,7 +1443,7 @@ local.tee $3 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.set $0 i32.const 1 @@ -1386,7 +1453,7 @@ local.get $7 i32.and if $if_34 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.const 8 @@ -1404,7 +1471,7 @@ local.set $16 end ;; $if_35 else - i32.const 1076 + i32.const 1088 local.get $3 local.get $7 i32.or @@ -1429,10 +1496,10 @@ local.get $0 i32.store offset=12 end ;; $if_33 - i32.const 1084 + i32.const 1096 local.get $10 i32.store - i32.const 1096 + i32.const 1108 local.get $8 i32.store end ;; $if_32 @@ -1463,7 +1530,7 @@ i32.const -8 i32.and local.set $4 - i32.const 1080 + i32.const 1092 i32.load local.tee $6 if $if_37 (result i32) @@ -1544,7 +1611,7 @@ local.get $18 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add i32.load local.tee $0 @@ -1705,7 +1772,7 @@ i32.add i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add i32.load end ;; $if_43 @@ -1765,13 +1832,13 @@ local.get $5 if $if_46 (result i32) local.get $2 - i32.const 1084 + i32.const 1096 i32.load local.get $4 i32.sub i32.lt_u if $if_47 (result i32) - i32.const 1092 + i32.const 1104 i32.load local.tee $17 local.get $5 @@ -1902,7 +1969,7 @@ local.tee $0 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add local.tee $1 i32.load @@ -1914,7 +1981,7 @@ local.get $7 i32.eqz if $if_59 - i32.const 1080 + i32.const 1092 local.get $6 i32.const 1 local.get $0 @@ -1927,7 +1994,7 @@ br $block_8 end ;; $if_59 else - i32.const 1092 + i32.const 1104 i32.load local.get $15 i32.gt_u @@ -1957,7 +2024,7 @@ end ;; $if_61 end ;; $if_60 end ;; $if_58 - i32.const 1092 + i32.const 1104 i32.load local.tee $1 local.get $7 @@ -1990,7 +2057,7 @@ i32.load offset=20 local.tee $0 if $if_65 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.gt_u @@ -2066,10 +2133,10 @@ local.get $1 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.set $0 - i32.const 1076 + i32.const 1088 i32.load local.tee $3 i32.const 1 @@ -2078,7 +2145,7 @@ local.tee $1 i32.and if $if_69 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.const 8 @@ -2096,7 +2163,7 @@ local.set $19 end ;; $if_70 else - i32.const 1076 + i32.const 1088 local.get $1 local.get $3 i32.or @@ -2192,7 +2259,7 @@ local.tee $1 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add local.set $0 local.get $8 @@ -2215,7 +2282,7 @@ i32.and i32.eqz if $if_73 - i32.const 1080 + i32.const 1092 local.get $3 local.get $4 i32.or @@ -2296,7 +2363,7 @@ unreachable end ;; $if_75 end ;; $loop_4 - i32.const 1092 + i32.const 1104 i32.load local.get $4 i32.gt_u @@ -2319,7 +2386,7 @@ end ;; $if_77 end ;; $block_10 end ;; $if_74 - i32.const 1092 + i32.const 1104 i32.load local.tee $0 local.get $10 @@ -2374,13 +2441,13 @@ end ;; $if local.set $3 block $block_11 - i32.const 1084 + i32.const 1096 i32.load local.tee $1 local.get $3 i32.ge_u if $if_79 - i32.const 1096 + i32.const 1108 i32.load local.set $0 local.get $1 @@ -2390,13 +2457,13 @@ i32.const 15 i32.gt_u if $if_80 - i32.const 1096 + i32.const 1108 local.get $0 local.get $3 i32.add local.tee $4 i32.store - i32.const 1084 + i32.const 1096 local.get $2 i32.store local.get $4 @@ -2415,10 +2482,10 @@ i32.or i32.store offset=4 else - i32.const 1084 + i32.const 1096 i32.const 0 i32.store - i32.const 1096 + i32.const 1108 i32.const 0 i32.store local.get $0 @@ -2441,13 +2508,13 @@ br $block_11 end ;; $if_79 block $block_12 - i32.const 1088 + i32.const 1100 i32.load local.tee $1 local.get $3 i32.gt_u if $if_81 - i32.const 1088 + i32.const 1100 local.get $1 local.get $3 i32.sub @@ -2459,31 +2526,31 @@ i32.const 47 i32.add local.tee $6 - i32.const 1548 + i32.const 1560 i32.load if $if_82 (result i32) - i32.const 1556 + i32.const 1568 i32.load else - i32.const 1556 + i32.const 1568 i32.const 4096 i32.store - i32.const 1552 + i32.const 1564 i32.const 4096 i32.store - i32.const 1560 + i32.const 1572 i32.const -1 i32.store - i32.const 1564 + i32.const 1576 i32.const -1 i32.store - i32.const 1568 + i32.const 1580 i32.const 0 i32.store - i32.const 1520 + i32.const 1532 i32.const 0 i32.store - i32.const 1548 + i32.const 1560 local.get $14 i32.const -16 i32.and @@ -2509,12 +2576,12 @@ i32.const 0 return end ;; $if_83 - i32.const 1516 + i32.const 1528 i32.load local.tee $0 if $if_84 local.get $4 - i32.const 1508 + i32.const 1520 i32.load local.tee $2 i32.add @@ -2538,7 +2605,7 @@ local.set $10 block $block_13 block $block_14 - i32.const 1520 + i32.const 1532 i32.load i32.const 4 i32.and @@ -2549,12 +2616,12 @@ block $block_15 block $block_16 block $block_17 - i32.const 1100 + i32.const 1112 i32.load local.tee $0 i32.eqz br_if $block_17 - i32.const 1524 + i32.const 1536 local.set $2 loop $loop_5 block $block_18 @@ -2620,12 +2687,12 @@ if $if_89 (result i32) i32.const 0 else - i32.const 1508 + i32.const 1520 i32.load local.tee $5 local.get $4 local.get $0 - i32.const 1552 + i32.const 1564 i32.load local.tee $1 i32.const -1 @@ -2655,7 +2722,7 @@ i32.gt_u i32.and if $if_90 (result i32) - i32.const 1516 + i32.const 1528 i32.load local.tee $7 if $if_91 @@ -2713,7 +2780,7 @@ end ;; $if_94 unreachable end ;; $if_93 - i32.const 1556 + i32.const 1568 i32.load local.tee $2 local.get $6 @@ -2750,8 +2817,8 @@ end ;; $if_95 local.set $1 end ;; $block_15 - i32.const 1520 - i32.const 1520 + i32.const 1532 + i32.const 1532 i32.load i32.const 4 i32.or @@ -2806,28 +2873,28 @@ end ;; $if_96 br $block_13 end ;; $block_14 - i32.const 1508 + i32.const 1520 local.get $1 - i32.const 1508 + i32.const 1520 i32.load i32.add local.tee $2 i32.store local.get $2 - i32.const 1512 + i32.const 1524 i32.load i32.gt_u if $if_97 - i32.const 1512 + i32.const 1524 local.get $2 i32.store end ;; $if_97 - i32.const 1100 + i32.const 1112 i32.load local.tee $6 if $if_98 block $block_19 - i32.const 1524 + i32.const 1536 local.set $2 block $block_20 block $block_21 @@ -2890,17 +2957,17 @@ i32.add local.set $0 local.get $1 - i32.const 1088 + i32.const 1100 i32.load i32.add local.tee $4 local.get $2 i32.sub local.set $1 - i32.const 1100 + i32.const 1112 local.get $0 i32.store - i32.const 1088 + i32.const 1100 local.get $1 i32.store local.get $0 @@ -2913,8 +2980,8 @@ i32.add i32.const 40 i32.store offset=4 - i32.const 1104 - i32.const 1564 + i32.const 1116 + i32.const 1576 i32.load i32.store br $block_19 @@ -2922,12 +2989,12 @@ end ;; $if_99 end ;; $block_20 local.get $0 - i32.const 1092 + i32.const 1104 i32.load local.tee $2 i32.lt_u if $if_101 - i32.const 1092 + i32.const 1104 local.get $0 i32.store local.get $0 @@ -2937,7 +3004,7 @@ local.get $1 i32.add local.set $5 - i32.const 1524 + i32.const 1536 local.set $4 block $block_22 block $block_23 @@ -3021,14 +3088,14 @@ local.get $6 i32.eq if $if_103 - i32.const 1088 + i32.const 1100 local.get $4 - i32.const 1088 + i32.const 1100 i32.load i32.add local.tee $0 i32.store - i32.const 1100 + i32.const 1112 local.get $7 i32.store local.get $7 @@ -3039,18 +3106,18 @@ else block $block_24 local.get $1 - i32.const 1096 + i32.const 1108 i32.load i32.eq if $if_104 - i32.const 1084 + i32.const 1096 local.get $4 - i32.const 1084 + i32.const 1096 i32.load i32.add local.tee $0 i32.store - i32.const 1096 + i32.const 1108 local.get $7 i32.store local.get $7 @@ -3095,7 +3162,7 @@ local.get $5 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.tee $0 i32.ne @@ -3119,8 +3186,8 @@ local.get $6 i32.eq if $if_109 - i32.const 1076 - i32.const 1076 + i32.const 1088 + i32.const 1088 i32.load i32.const 1 local.get $5 @@ -3285,7 +3352,7 @@ local.tee $0 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add local.tee $3 i32.load @@ -3297,8 +3364,8 @@ i32.store local.get $9 br_if $block_30 - i32.const 1080 - i32.const 1080 + i32.const 1092 + i32.const 1092 i32.load i32.const 1 local.get $0 @@ -3310,7 +3377,7 @@ br $block_25 end ;; $block_30 else - i32.const 1092 + i32.const 1104 i32.load local.get $10 i32.gt_u @@ -3336,7 +3403,7 @@ br_if $block_25 end ;; $if_121 end ;; $if_120 - i32.const 1092 + i32.const 1104 i32.load local.tee $3 local.get $9 @@ -3373,7 +3440,7 @@ local.tee $0 i32.eqz br_if $block_25 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.gt_u @@ -3430,10 +3497,10 @@ local.get $3 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.set $0 - i32.const 1076 + i32.const 1088 i32.load local.tee $1 i32.const 1 @@ -3443,7 +3510,7 @@ i32.and if $if_127 block $block_31 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.const 8 @@ -3462,7 +3529,7 @@ call $_abort end ;; $block_31 else - i32.const 1076 + i32.const 1088 local.get $1 local.get $3 i32.or @@ -3558,7 +3625,7 @@ local.tee $3 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add local.set $0 local.get $7 @@ -3573,7 +3640,7 @@ local.get $1 i32.const 0 i32.store - i32.const 1080 + i32.const 1092 i32.load local.tee $1 i32.const 1 @@ -3583,7 +3650,7 @@ i32.and i32.eqz if $if_131 - i32.const 1080 + i32.const 1092 local.get $1 local.get $4 i32.or @@ -3664,7 +3731,7 @@ unreachable end ;; $if_133 end ;; $loop_9 - i32.const 1092 + i32.const 1104 i32.load local.get $4 i32.gt_u @@ -3687,7 +3754,7 @@ end ;; $if_135 end ;; $block_32 end ;; $if_132 - i32.const 1092 + i32.const 1104 i32.load local.tee $0 local.get $11 @@ -3730,7 +3797,7 @@ return end ;; $if_102 end ;; $block_22 - i32.const 1524 + i32.const 1536 local.set $2 loop $loop_10 block $block_33 @@ -3787,7 +3854,7 @@ i32.const 8 i32.add local.set $4 - i32.const 1100 + i32.const 1112 local.get $0 i32.const 0 local.get $0 @@ -3806,7 +3873,7 @@ i32.add local.tee $10 i32.store - i32.const 1088 + i32.const 1100 local.get $1 i32.const -40 i32.add @@ -3825,8 +3892,8 @@ i32.add i32.const 40 i32.store offset=4 - i32.const 1104 - i32.const 1564 + i32.const 1116 + i32.const 1576 i32.load i32.store local.get $2 @@ -3836,23 +3903,23 @@ i32.const 27 i32.store local.get $4 - i32.const 1524 + i32.const 1536 i64.load align=4 i64.store align=4 local.get $4 - i32.const 1532 + i32.const 1544 i64.load align=4 i64.store offset=8 align=4 - i32.const 1524 + i32.const 1536 local.get $0 i32.store - i32.const 1528 + i32.const 1540 local.get $1 i32.store - i32.const 1536 + i32.const 1548 i32.const 0 i32.store - i32.const 1532 + i32.const 1544 local.get $4 i32.store local.get $2 @@ -3909,10 +3976,10 @@ local.get $1 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.set $0 - i32.const 1076 + i32.const 1088 i32.load local.tee $2 i32.const 1 @@ -3921,7 +3988,7 @@ local.tee $1 i32.and if $if_141 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.const 8 @@ -3939,7 +4006,7 @@ local.set $22 end ;; $if_142 else - i32.const 1076 + i32.const 1088 local.get $1 local.get $2 i32.or @@ -4035,7 +4102,7 @@ local.tee $1 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add local.set $0 local.get $6 @@ -4047,7 +4114,7 @@ local.get $9 i32.const 0 i32.store - i32.const 1080 + i32.const 1092 i32.load local.tee $2 i32.const 1 @@ -4057,7 +4124,7 @@ i32.and i32.eqz if $if_145 - i32.const 1080 + i32.const 1092 local.get $2 local.get $5 i32.or @@ -4138,7 +4205,7 @@ unreachable end ;; $if_147 end ;; $loop_12 - i32.const 1092 + i32.const 1104 i32.load local.get $5 i32.gt_u @@ -4161,7 +4228,7 @@ end ;; $if_149 end ;; $block_34 end ;; $if_146 - i32.const 1092 + i32.const 1104 i32.load local.tee $0 local.get $8 @@ -4197,7 +4264,7 @@ end ;; $if_139 end ;; $block_19 else - i32.const 1092 + i32.const 1104 i32.load local.tee $2 i32.eqz @@ -4206,219 +4273,219 @@ i32.lt_u i32.or if $if_151 - i32.const 1092 + i32.const 1104 local.get $0 i32.store end ;; $if_151 - i32.const 1524 + i32.const 1536 local.get $0 i32.store - i32.const 1528 + i32.const 1540 local.get $1 i32.store - i32.const 1536 + i32.const 1548 i32.const 0 i32.store - i32.const 1112 - i32.const 1548 + i32.const 1124 + i32.const 1560 i32.load i32.store - i32.const 1108 + i32.const 1120 i32.const -1 i32.store + i32.const 1140 i32.const 1128 - i32.const 1116 i32.store - i32.const 1124 - i32.const 1116 + i32.const 1136 + i32.const 1128 i32.store + i32.const 1148 i32.const 1136 - i32.const 1124 i32.store - i32.const 1132 - i32.const 1124 + i32.const 1144 + i32.const 1136 i32.store + i32.const 1156 i32.const 1144 - i32.const 1132 i32.store - i32.const 1140 - i32.const 1132 + i32.const 1152 + i32.const 1144 i32.store + i32.const 1164 i32.const 1152 - i32.const 1140 i32.store - i32.const 1148 - i32.const 1140 + i32.const 1160 + i32.const 1152 i32.store + i32.const 1172 i32.const 1160 - i32.const 1148 i32.store - i32.const 1156 - i32.const 1148 + i32.const 1168 + i32.const 1160 i32.store + i32.const 1180 i32.const 1168 - i32.const 1156 i32.store - i32.const 1164 - i32.const 1156 + i32.const 1176 + i32.const 1168 i32.store + i32.const 1188 i32.const 1176 - i32.const 1164 i32.store - i32.const 1172 - i32.const 1164 + i32.const 1184 + i32.const 1176 i32.store + i32.const 1196 i32.const 1184 - i32.const 1172 i32.store - i32.const 1180 - i32.const 1172 + i32.const 1192 + i32.const 1184 i32.store + i32.const 1204 i32.const 1192 - i32.const 1180 i32.store - i32.const 1188 - i32.const 1180 + i32.const 1200 + i32.const 1192 i32.store + i32.const 1212 i32.const 1200 - i32.const 1188 i32.store - i32.const 1196 - i32.const 1188 + i32.const 1208 + i32.const 1200 i32.store + i32.const 1220 i32.const 1208 - i32.const 1196 i32.store - i32.const 1204 - i32.const 1196 + i32.const 1216 + i32.const 1208 i32.store + i32.const 1228 i32.const 1216 - i32.const 1204 i32.store - i32.const 1212 - i32.const 1204 + i32.const 1224 + i32.const 1216 i32.store + i32.const 1236 i32.const 1224 - i32.const 1212 i32.store - i32.const 1220 - i32.const 1212 + i32.const 1232 + i32.const 1224 i32.store + i32.const 1244 i32.const 1232 - i32.const 1220 i32.store - i32.const 1228 - i32.const 1220 + i32.const 1240 + i32.const 1232 i32.store + i32.const 1252 i32.const 1240 - i32.const 1228 i32.store - i32.const 1236 - i32.const 1228 + i32.const 1248 + i32.const 1240 i32.store + i32.const 1260 i32.const 1248 - i32.const 1236 i32.store - i32.const 1244 - i32.const 1236 + i32.const 1256 + i32.const 1248 i32.store + i32.const 1268 i32.const 1256 - i32.const 1244 i32.store - i32.const 1252 - i32.const 1244 + i32.const 1264 + i32.const 1256 i32.store + i32.const 1276 i32.const 1264 - i32.const 1252 i32.store - i32.const 1260 - i32.const 1252 + i32.const 1272 + i32.const 1264 i32.store + i32.const 1284 i32.const 1272 - i32.const 1260 i32.store - i32.const 1268 - i32.const 1260 + i32.const 1280 + i32.const 1272 i32.store + i32.const 1292 i32.const 1280 - i32.const 1268 i32.store - i32.const 1276 - i32.const 1268 + i32.const 1288 + i32.const 1280 i32.store + i32.const 1300 i32.const 1288 - i32.const 1276 i32.store - i32.const 1284 - i32.const 1276 + i32.const 1296 + i32.const 1288 i32.store + i32.const 1308 i32.const 1296 - i32.const 1284 i32.store - i32.const 1292 - i32.const 1284 + i32.const 1304 + i32.const 1296 i32.store + i32.const 1316 i32.const 1304 - i32.const 1292 i32.store - i32.const 1300 - i32.const 1292 + i32.const 1312 + i32.const 1304 i32.store + i32.const 1324 i32.const 1312 - i32.const 1300 i32.store - i32.const 1308 - i32.const 1300 + i32.const 1320 + i32.const 1312 i32.store + i32.const 1332 i32.const 1320 - i32.const 1308 i32.store - i32.const 1316 - i32.const 1308 + i32.const 1328 + i32.const 1320 i32.store + i32.const 1340 i32.const 1328 - i32.const 1316 i32.store - i32.const 1324 - i32.const 1316 + i32.const 1336 + i32.const 1328 i32.store + i32.const 1348 i32.const 1336 - i32.const 1324 i32.store - i32.const 1332 - i32.const 1324 + i32.const 1344 + i32.const 1336 i32.store + i32.const 1356 i32.const 1344 - i32.const 1332 i32.store - i32.const 1340 - i32.const 1332 + i32.const 1352 + i32.const 1344 i32.store + i32.const 1364 i32.const 1352 - i32.const 1340 i32.store - i32.const 1348 - i32.const 1340 + i32.const 1360 + i32.const 1352 i32.store + i32.const 1372 i32.const 1360 - i32.const 1348 i32.store - i32.const 1356 - i32.const 1348 + i32.const 1368 + i32.const 1360 i32.store + i32.const 1380 i32.const 1368 - i32.const 1356 i32.store - i32.const 1364 - i32.const 1356 + i32.const 1376 + i32.const 1368 i32.store + i32.const 1388 i32.const 1376 - i32.const 1364 i32.store - i32.const 1372 - i32.const 1364 + i32.const 1384 + i32.const 1376 i32.store - i32.const 1100 + i32.const 1112 local.get $0 i32.const 0 local.get $0 @@ -4437,7 +4504,7 @@ i32.add local.tee $4 i32.store - i32.const 1088 + i32.const 1100 local.get $1 i32.const -40 i32.add @@ -4456,18 +4523,18 @@ i32.add i32.const 40 i32.store offset=4 - i32.const 1104 - i32.const 1564 + i32.const 1116 + i32.const 1576 i32.load i32.store end ;; $if_98 - i32.const 1088 + i32.const 1100 i32.load local.tee $0 local.get $3 i32.gt_u if $if_152 - i32.const 1088 + i32.const 1100 local.get $0 local.get $3 i32.sub @@ -4484,9 +4551,9 @@ i32.const 0 return end ;; $block_12 - i32.const 1100 + i32.const 1112 local.get $3 - i32.const 1100 + i32.const 1112 i32.load local.tee $0 i32.add @@ -4538,7 +4605,7 @@ i32.const -8 i32.add local.tee $4 - i32.const 1092 + i32.const 1104 i32.load local.tee $12 i32.lt_u @@ -4598,7 +4665,7 @@ i32.add local.set $4 local.get $0 - i32.const 1096 + i32.const 1108 i32.load i32.eq if $if_5 @@ -4620,7 +4687,7 @@ local.set $5 br $block end ;; $if_6 - i32.const 1084 + i32.const 1096 local.get $4 i32.store local.get $3 @@ -4657,7 +4724,7 @@ local.get $2 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.tee $3 i32.ne @@ -4680,8 +4747,8 @@ local.get $5 i32.eq if $if_11 - i32.const 1076 - i32.const 1076 + i32.const 1088 + i32.const 1088 i32.load i32.const 1 local.get $2 @@ -4854,7 +4921,7 @@ local.tee $2 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add local.tee $6 i32.load @@ -4866,8 +4933,8 @@ local.get $8 i32.eqz if $if_24 - i32.const 1080 - i32.const 1080 + i32.const 1092 + i32.const 1092 i32.load i32.const 1 local.get $2 @@ -4884,7 +4951,7 @@ br $block end ;; $if_24 else - i32.const 1092 + i32.const 1104 i32.load local.get $13 i32.gt_u @@ -4917,7 +4984,7 @@ end ;; $if_26 end ;; $if_25 end ;; $if_23 - i32.const 1092 + i32.const 1104 i32.load local.tee $6 local.get $8 @@ -4953,7 +5020,7 @@ i32.load offset=4 local.tee $2 if $if_30 - i32.const 1092 + i32.const 1104 i32.load local.get $2 i32.gt_u @@ -5028,18 +5095,18 @@ local.get $1 else local.get $7 - i32.const 1100 + i32.const 1112 i32.load i32.eq if $if_35 - i32.const 1088 + i32.const 1100 local.get $1 - i32.const 1088 + i32.const 1100 i32.load i32.add local.tee $0 i32.store - i32.const 1100 + i32.const 1112 local.get $3 i32.store local.get $3 @@ -5047,34 +5114,34 @@ i32.const 1 i32.or i32.store offset=4 - i32.const 1096 + i32.const 1108 i32.load local.get $3 i32.ne if $if_36 return end ;; $if_36 - i32.const 1096 + i32.const 1108 i32.const 0 i32.store - i32.const 1084 + i32.const 1096 i32.const 0 i32.store return end ;; $if_35 local.get $7 - i32.const 1096 + i32.const 1108 i32.load i32.eq if $if_37 - i32.const 1084 + i32.const 1096 local.get $1 - i32.const 1084 + i32.const 1096 i32.load i32.add local.tee $0 i32.store - i32.const 1096 + i32.const 1108 local.get $5 i32.store local.get $3 @@ -5113,12 +5180,12 @@ local.get $6 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.tee $0 i32.ne if $if_39 - i32.const 1092 + i32.const 1104 i32.load local.get $2 i32.gt_u @@ -5137,8 +5204,8 @@ local.get $2 i32.eq if $if_42 - i32.const 1076 - i32.const 1076 + i32.const 1088 + i32.const 1088 i32.load i32.const 1 local.get $6 @@ -5158,7 +5225,7 @@ i32.add local.set $16 else - i32.const 1092 + i32.const 1104 i32.load local.get $1 i32.gt_u @@ -5241,7 +5308,7 @@ br $loop_0 end ;; $block_4 end ;; $loop_0 - i32.const 1092 + i32.const 1104 i32.load local.get $1 i32.gt_u @@ -5256,7 +5323,7 @@ end ;; $if_49 end ;; $block_3 else - i32.const 1092 + i32.const 1104 i32.load local.get $7 i32.load offset=8 @@ -5303,7 +5370,7 @@ local.tee $0 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add local.tee $1 i32.load @@ -5315,8 +5382,8 @@ local.get $10 i32.eqz if $if_55 - i32.const 1080 - i32.const 1080 + i32.const 1092 + i32.const 1092 i32.load i32.const 1 local.get $0 @@ -5328,7 +5395,7 @@ br $block_2 end ;; $if_55 else - i32.const 1092 + i32.const 1104 i32.load local.get $8 i32.gt_u @@ -5354,7 +5421,7 @@ br_if $block_2 end ;; $if_56 end ;; $if_54 - i32.const 1092 + i32.const 1104 i32.load local.tee $1 local.get $10 @@ -5390,7 +5457,7 @@ i32.load offset=4 local.tee $0 if $if_60 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.gt_u @@ -5419,11 +5486,11 @@ local.get $4 i32.store local.get $3 - i32.const 1096 + i32.const 1108 i32.load i32.eq if $if_62 (result i32) - i32.const 1084 + i32.const 1096 local.get $4 i32.store return @@ -5442,10 +5509,10 @@ local.get $1 i32.const 3 i32.shl - i32.const 1116 + i32.const 1128 i32.add local.set $0 - i32.const 1076 + i32.const 1088 i32.load local.tee $5 i32.const 1 @@ -5454,7 +5521,7 @@ local.tee $1 i32.and if $if_64 - i32.const 1092 + i32.const 1104 i32.load local.get $0 i32.const 8 @@ -5472,7 +5539,7 @@ local.set $17 end ;; $if_65 else - i32.const 1076 + i32.const 1088 local.get $1 local.get $5 i32.or @@ -5568,7 +5635,7 @@ local.tee $1 i32.const 2 i32.shl - i32.const 1380 + i32.const 1392 i32.add local.set $0 local.get $3 @@ -5580,7 +5647,7 @@ local.get $3 i32.const 0 i32.store offset=16 - i32.const 1080 + i32.const 1092 i32.load local.tee $4 i32.const 1 @@ -5652,7 +5719,7 @@ unreachable end ;; $if_70 end ;; $loop_1 - i32.const 1092 + i32.const 1104 i32.load local.get $2 i32.gt_u @@ -5675,7 +5742,7 @@ end ;; $if_72 end ;; $block_6 end ;; $if_69 - i32.const 1092 + i32.const 1104 i32.load local.tee $0 local.get $14 @@ -5710,7 +5777,7 @@ end ;; $if_73 end ;; $block_5 else - i32.const 1080 + i32.const 1092 local.get $2 local.get $4 i32.or @@ -5728,8 +5795,8 @@ local.get $3 i32.store offset=8 end ;; $if_68 - i32.const 1108 - i32.const 1108 + i32.const 1120 + i32.const 1120 i32.load i32.const -1 i32.add @@ -5739,7 +5806,7 @@ if $if_74 return end ;; $if_74 - i32.const 1532 + i32.const 1544 local.set $0 loop $loop_2 local.get $0 @@ -5751,7 +5818,7 @@ local.get $3 br_if $loop_2 end ;; $loop_2 - i32.const 1108 + i32.const 1120 i32.const -1 i32.store ) @@ -6260,8 +6327,8 @@ (func $__ZSt15get_new_handlerv (type $2) (result i32) (local $0 i32) - i32.const 1572 - i32.const 1572 + i32.const 1584 + i32.const 1584 i32.load local.tee $0 i32.store @@ -6773,5 +6840,5 @@ call $abort ) ;; User section "emscripten_metadata": - ;; "\00\00\00\01\b0\0e\01" + ;; "\00\00\00\01\c0\0e\01" ) \ No newline at end of file diff --git a/test/extensions/wasm/test_data/logging_rust.wasm b/test/extensions/wasm/test_data/logging_rust.wasm new file mode 100755 index 0000000000000000000000000000000000000000..e1a63961389b95ed4a714c813f73124a20f6bcc5 GIT binary patch literal 36507 zcmeHw34B~vdGFn3pOHphWy{N*i4)8F>@!lFSU1F5b_fubfIONR*_Ld{mc~xc@ys=)MsB31dS@F{Sl~K)FFgSQ< ze6o%iC+p?0`u=jgro{q-2g?Tzj90Wy-{9~>t)?vqC3MZvBRxhSzijD-Og6XK=U>sk zaPgAmJzI*aN`04Zy)691pX=Lx7nqv5NOMkVqe)|pW*fF%Ff3fO0&q6qXuZaXPYyW7 z?iijqcoxMoqhJL2k9EDx(wY(HY2aH`+s*3kW~Y1Q=~i@ly_9k&Z5+X`;E3wf_#nHlXf{}c65x&7 zy7S;2)0%BM#*U=fgWC9rtvQd}&$^yoBi^NH5!9a4M%HMNxMu4%R;clp6<--S;nRJ@ z(=_m;tpR4dKOTmB*T*!+Qdl6ytm|WX)QEU!66~A+nv52jG$JETur(*uh9r#$5hQ62 za3I*woE0O^gLf*_Xn_3+o%qzSZm+3A%|_HI)T}}29>GSmS!bc-Q;3>{4J>yyDrPNZ zcT8_CMBwK_Om86^6AS73l`iD?*$W}3lAf{5we2>fb_X&EiatBTdNcdD*Y~ ze9QZV*zdl1mS=KCW417!#eS{jSyW?RGFoe-mIAFb>KSlt6mk!JMKI&GL8%Dh4iXO) zfP#g`-BO~0Sc96aO|3#HYu+felR^Wq)ka*V1@>O)+l{^@CGmIyCG|KSqSQMQ55`0p z*ha4rP3owNj{vx&wUY|7*9azjQF57W?T#77fNgDe>uoC@O8U0PsB0~yRw0-{8!7}H z&{FqW#>3D{vM@(a_{h%@$7h?Pw$Ga_4iHp(pEOpS(HV(Hw1{&GpvI$G1nO(Kg+jLM&;Cup(mnZ=q6BBep5Ti2%Tg5-exUfrNok z?U6(Tm(oZgic4xF5yM3=lIT#SMI(t$l)6U}m>x`#=rRXvV|&c7L$R0Bf5FdO-7OcXEM)kxBOjj)?*; z#!gJwg&~s*Z9guo?XnjFR7%`JLBvi>gc3&35(}bc1b^*->f+;N!S%6-9YYEI%=$>u z>t(d{0z0!yVnGD_7$jXzMsc!*JBbj^3JJ#|aHCjNtfr|{ zjH7oF@M#(%N9&9@$3Hv`_O=(qH$wB=_aUWuoCa$by0z^$K}=xl@!p6Zh4>|r5Pxz>hgb&nJjduPAM3Og@DshNfpJF4gXhXmHIrbq70j<0a_0Yr*hJ_-L_l zXFyz~B4M&*IfT@V8HA1?ftAF^;iNR}U>Y@Pg8fjGNm*~&XaP=$U%uSYB4I>fpFX^=uxNhuyaa{Ws3hZt6QhsEja3&mL_utQKMpz=BNx_2!uy=tj{Go zye2^uynK=!Xn_YqvYSG76KFAs7SuM;V!CJvHCO11*gl~;8U;vim&%}~D>cGo2^d$P z9weq!CkRO)5#*SvfVLMT0rPOK*~7RD)Eq|GhCq{TWK23KP@R`AC$ZwL{w4c?3oA;C zx_%xc2-Hp_Gc97s-)BR5l*SuMi!MJX7*AMdt1LbULivcRWl2mLrdOid;Njz<56mNpUMh@cLnc0{@JwzW~ylCXih&^hAF=!X+cepCr8~wtr6cDd=^HfiW302DLoG(& zv&S5Ned3(+S!zDQnhYaau++qMRC+}*>S=c(Ows`cZ-3C7A$qPE><%@42XSH99qzIs zkOp8(kN_Al7rCOCv!N*B)nA~A`@B29#D2S-2$XJD6PRcPz*#I}0iEz$o$0SH6DOIbxngJmg& zJ;ECR8AJwg!wOT=I&IDl&{>h2WSAOBMq(PEGVJgum_$OgWB?#wP;V#}?VoQrv>&wt z2=zb(1Y#)|O$3fRdK~jG^)nWM3{%X+$N|^>!_5N_j2To(u`GBbGa79w{05p`JrPDfU=Q`3ZhgxLvXwK(Ot;!A zFVb&hckgN&YP0JTLtKwGkrrj#9) z4)YeCja@LF@FUwKC8YKUkOX@0myxs^o`^++N>mfICLyD!aNL`rttWgpMLsvK@yzP^ zDH-|SmL8+>Lzn>N=W(>jWPtKM67V({;rVfqEQ5*Y1+qpTMJYAX*~CBF2RWvYaZ%1` zYF*0?HNm8)S}M8jZza|d+lfcX*adz@ScM}{_>6pDXPF&i;OT^IAPq@pOr-wUCiJn= z#wbM-5g-ft&<McT2OUB><@d2Z2|ddFf~bR}IMxe8 zfWFbuWamf{I*#y`X)L$g-Iy3O6cqZe_iZNd;eqy^`eYmceI)* zUS>iGv9pS!rHF6`0~!u&Sv(CeWn7SqWw*5!Ie=Xo$Uh)Ze;5)z^YDO>5wRZbe!#nt zBnXcZj5b_dWzeoTh7=l{88nBk>orb4JdiXT#$K2b?1FnV$A*s{(Gbws8f-iYY2{PG zxJwueo{1-y12~##*RjIQIwQ)Ap&nnYMHXwok78uVp_dG}*ThDO2R5&mEO@Qh62svQ zcWUBS_at>__iMo_tkImvh;!>G22@Tv&YZ^64Kulm^w z)dz)>Lq|V6;TRKiiBQGi;fq39NeyNe zceL3Eqq@E1IV?l`VyQ@K7&j)dq8496FD*&8Q&mggB&kW6SIvdKDp%k&6Qzcg9!@fY z6CVM-uwsN83}`(l34qDf{D~*6a+nr z@fhV=&VziAghHXhfFDnP4&gO}C-{6Y)kM$0^|2MWM1UC}Fkuj!2LO(Ldn`n2Zh%Rh zAm)c8JF6xAJ2NvApglF5OKfc~m;)dl1x(Ir8)Y5tSb%PVF^UNSj!}0W`m_h(_Lv`o zGMBD7%jjJlWoHyt@93$k?7ca_DM=5|6Fw4EB`%{Vn^dhqf}Marg|Xm7C^r}n>1u)J zoRvorJTQ(ElZ}v#2Qy9Zk zcO&14TdtPtL0&58JdQ&b3C$ef+(_C92uUA8Sn?t2f=RG@bcHY=)(*&l9>64q4+|o( zTug8sDp7;{15XTadEQE>sJoe`hiS(&7#`|ahIjRf4WNT|AQnP)3{#NV%@(r*8xX)Y zTnhxi5<~#dz$<8y!^G5>w@Kmc2*O|>jzZ|nx{|Vl$)}`}G^6f>g9dpcQ~Sii!SmtH zBDvmKBqnnaNI)Fp&<{aDlgm|HGPw#-5gDAz`wm&w z6)14E+ZwefIWwyZ#wnpCc9Xs)1voN~vmht}>q}0XY6=`LWhyAlBIQS<{Kd95k4Sl1 z>c7_3W?IUROZ_+7+B`1hlT!bkwl*iF{FKx`-PYzQDW8)1AGEbOC1n8iO#%KHY4GE= z#?MIkwA4Q*W!2`il+Q^0U7zB@Rhu(X-}n?4`xdEJZ5mR(N9x}pW!2^$DIb^m_q4S+ zF69$a|3F)t6H>lU>Oa=j<~}JuDD|IeYxAI#ACme<+uA%N=+*@Gs>vQs02V2mYmAwP{HC9;ttalvSI1q5_tl**v<3Q?*s2hewL2wleyUT-fPO04&M^fxx+ zyPkK1#ZH!?fb`=n`QHA@E zauQWaeL|C=Ih_m>;KabsSEdk)$3tQUhKIghgTF+UA64{sYqAM)E4u^yb2^-+% zxM>McL6wL^3^F7%>GXJ-PB?97%Ya(UqUcT2j1qlx)1@3r%86CZKcGDxluXYPchgRcZ00V9Kst|<|x9w4gS652-Mj&?+5 z;ssVE81=CmNRDnmH3pET;2E%y+Df6v4enPSH{hVhZJ7h;WVM`TIf0@4K_CkaFtdad z;%EX$CKHG+8g6CHaDjhLTgaURT$(U}!|{Y5Bb_PiEQcfcoSn$s@C*d;$XwHiuEzzY zkr%`ey!h1x%iDlEAcvKRUU&zB@s8G!I2M};zJVT~vxHmR(DiWrB#%?DX0!&9xt%X- zp_jx|E^Z*{7*9D?a#5ZYqzlX}b8>togJ_Q60z$?J*mERN;sFCxjl#7_7~ZVjm5@Rj zIlDkjH%uU5^vnR`Fw+zPupLCzFB}aj((w}KBbW>_F%4gXhz7w)d>{$p<0(H(K#8W% zh!YHe4NvO<;q-FZ7!xbJ(e+S`S!y*#NqJ*JCq(9eq8oW74;Z2kWwL?`3^~z`Kvgol zu zA4<<`i}F!sln*3nO6g&#RC?w)l%7(#^C&%>$)eI@@&`QGQhFYUO6dt@5e78XO%#X` zR-^t9c5YXE(j21^^#BogfZ~JkP>K(*ynx~Z0cmDM@xh6gOsYiKO7StSfF%-01Ry4; zafd@R1c-2nHdJsyNL^SIi-^>*4QhEFNnr0ugd(%gWO$VQO}pBmj=ZKD=Cb80R<2ro z(VC0b_Fj@q^w`l@M`u^O+h_R$!O((*ixw~0xM}m2TsD=?EZq=}tY5cI6tA1ffEQvy zo0_|ETp8grxdH`<0<(gQyz&lhMY+v2LY0B4J+6WZP=cZu2U<1nn0PWMPY?`KaWhFR z1PH_m(Y$NSpsE-@!+E;O0Y##(p&+7C(wflyTbz}sy_sC<`ItCYcENrnmSj15=zMu8 zR;DTCkO>SG9E5d@-moc0)yBJ%4-aq)+GmH0Jl#kwKReDtOBx=uqoS4g302rR(VSI) z^wn6G1K*P9qcfPq#@H@+Gok3KsLXIAa+hP{?v=blD%evvkVa-lu{SSHGSbT&1E*Es zSM74r=&ku5ON;~FttVH+nl9%b|c1)ZH-<^kR&*FS!Aozji)b$_o1vpAhtfb z4zx>fDN4%?I7u|Q9{bi(sXV*^=OR>I$KlTD=s9c9XU75H1u99j z^SmpR=8Xk7FT59et`|8GjD9)RPCjkR8zGVRf_bBhoG3b8h6U0z`l1(6+*?T=yae}KRd%1h?hmi5n!prDO39VQYF)=*m z3|q!C&L$Voj7>AqEazx9ebSjHt=U7vbI@vDx8GTdDWUx4_x;y9y?C4>_0I|cz^=W{ zIy}bUfQH#`fz`FhoLmXr3j@C)x{<*_3t%8lb2eezG+i%u`M3m~&8SRarL&fQZEUTC z09%LxAR0S5|E7emZNh(`U%!zvgrXbNWqrh1ggYn=@@;QKByp{}1DjJWFIIPJBF+Nb zfmhfv84)Q$OoU>j5bgKsgf z8bSy3)LT7W5yglwLvlu61@%x)D)%frhkX`Alw@-3X^G6q4jyJOFmzD1b*NquOCe;1 zeWgyL0P@Hl=9Hary4d6$&)6ZQjS6TROwr8~R_=t&DAC(QBX{C#`wN9R?cn&}-5LXs zZf2q}=%S>hlF$-Ha0dj>VDhkA;xh)!0ayXM$M3~H2qnDO zhx4_W4vBmOtA4Q=cn<;~%}P-rW|wus#JDLcKU6&7Z$>^M@qCknF1Da+kqU_?|`;gvc3g zBM%+m>G7cQFv_lkc>@kXHbiwz-JtefTAB!YK?T<0?!y1@++A@am`#K}1ErA$(p$O}|ntvgKEruJ}MRcr$aq3mh-uOUt1I zGbMNqABzL)yPk&5;Td%*f7K0Rfu2_2DjW@k>LwAzgoDNDP>5KgtQzAI1T!n|!ti2i zAcL{BX~NTi6gGF_)n*!qN7;l&0hm+*!gGMB#X#U-QhZQ1waM7pb0$D*H8FtY#ImF2 zLMCi93o`Y-%-YEJI`sgI6Jst6j8iW}lR@pEA??^AHA|qRSSJt~DD{(=XbXolp|u*i zY-0oa2$IO*D*Ga|mz_~AVjk-R0$G^3X`OiAW}TFj137c86TxonR|w&VcBMmbad%@C z?*UxbB2uT>XB#M{h}=A!WHwxgTm$89m9{AlP>j+810@@!a}1QxW}u`c&vt>u+BZs# z^BO2DqD^&x2{7Xv)iHYy1vAJx&oWRLDV`KSB>Bx$yfRRDu*iMDwX~@Y*gB6eXBnv3 zdl#*SqOaUNa%G_AArf>_i)&PgyhC%v*AYEFLK&>2%oRD!HCH0gBrTvrc6A4wrCH{I zxp9$OjHm2@7%9X~D&N}%kUJC143v^+uBQ+sfv>N}UcFd7NYpF?#t=+7OKrpOZ~$uQ z9RVhKN4N-tVsOQ(&SAd!4cHtgcH?~-Ca(#mvT1ERs&d7q*fdPnv}rgyjY`19`X@16(MZrM0Hm%Kbnq$+LWq@QfbH?*f zhPt@TrYRE6wQ1x;XcT4FBs^|Q7<)v3R+wj(3@igGd%I*%o)`z_jkJJygQaMiHx1^^ zI9I}0S7{RpmlymQ?g6m`SX6D4(Y&dgu`+Me3Ov3c=0ao6*z$755EUDZM923Rr)mgQmK-%0!*KqTFHh(=7QEILPt{P$Yt|ZxUYvdP zt8>R(A7+AxQ082)XyoAgivB$ZGL%CleMKaxC`4>!(~W|HrHM`C(j=4vZb30*l@1M^ev_2?JlZ_Jvgr zAUMaYp^+R9q0o>~W^r^VepW-AjMg!qV)=lLeiCB490GtM`SB+-YGgbGcNk6xhLq<^ ze`^E+CQrwpi%$R1)B&)I^RzaW#4+o-^X)sQwUI5FcBw`$^Y#(QRls=<8qIxZVkBkH zzwqRit6|Z2fR|@;F&6J|!8>f!&2mo-`m}bPY?1@G&{guxg$wiGbp-Um+s=5=U&(tqw!6E-H>-k zK=Hd z(i{mK2Qq&yqKDi!L4ANj$m$2L!`kruLP)zGN7$1PUJbe|jC=8T)eC!35It;1H);65 zQS1FbyzR#Cue81Y2d={#Vx#y1iL*goP_zR*cq1v~7)M+0QyBy2{v-aLdhyA7jWBHE zRTS6(CwLf65AI;t9NpIVK428@Gr8{r;s}k2J7j=hCh$EFAJrZ9vp`6|=)J-gL&<$N zFy3Wou{c}Fn%i4JeYD!ir(ohV|MJQ&kZa9;h~c?|3Zx9eEW3zI@C)XNK#sBgai7=v?)cV%aP*C5OZ(VDMI z!q~Po@9>&?FG8yRXT2_o6EA>m){C8#Z}+`V7hpM-4S}Nmn*}q@ed8rhyau8m=AJ+c z;*bZzYWGVFK^zkhh}&CrN~_ijn(it+u+=)|dqERegeX$*K#*B4XZp_Za;Betu?Rww zndb6?pr8EMY;iVA0OjOG^@^t_0!eBSxR!Xu6H+&opqg-DgTIJZ@9-GZS8t6rn_?nR zut`FkU24N0P9xwB6!&nU5ZXpUeDDVdW!xe{$4}hM8bRH8xW!KD?D5nDZMY3#V@+Ou zeIeXJi-ucLq~2+r`{L_-SV7FtjupJ=YI;~vL$+fD+hou}-omI&nrn>U9m=S7#mE2K zJCA+p_kRB`$9|O##Df>;Ks@3)5GO;*fjEuNFj~-pux_+Zk`JS-AiiX*12cIHu?4IP z4k;!APQyq*#7r0iY{{xGrQlfOMvbp!UPUK9hX?Sx4l|#GRrLsw#9GdVD!}`91gjwM4g08JWSwkTPI%hR0bGP zj`+ry2wpZnX(U@}kUXp#VG<^XTZyejDnMWl-ju3>&0`7y008(P*4K*_^K+m01d{j} z>JGl6dzX?&lKQcr-|1DlH}EyCLFeOl)3qp}g!&vu6Q)RE4hw3aV7x*~ag=V5QZGuo zq=b3#CNr90+*2-#08WE%8F>KXD>#&33r<`Urg`BN7g&bEQqvxxkSsVB=1{Nd`G;sU|**u4+Xf*I~CWeGKnJnCgfr!_Q==y^eiO;6CIxQx= z3LZpXs1Fht)aKa?b%Q7BhQ2e%M~9e9`j&etN)5x){tMU>kO4DlPdUaW@P8x{fR*U?$=ZWI(yw`+y_gLAUkDQ&AHiKfc}KTjo$qG7%yUcV@)L^k_*Q zJUss&dSi_2Zb3NXtYXIM#|X7Btl6=8fo2#cKf*lsC(epE4uJd+ZB^RxJJ{NX!>Gw; zsfZ8rsB>lpACJ24!wCK$8DO@5MC%ChOBfyP8u$*ch61eo9w;>D6wD&m{>X#q00u_Y zSCHF7sKoux)9+BjfV;q(N1a3L(!lpk`255}s*B=vaT_M^n64qTp)>va%@GS%bN`(K zPQOST!B_9oC4>WYYqlL9R zkJBE(qcBsCylEO)U`S(t&+)w*F>W@3HJU8s#5QS2r{D~<41qhQGyT{L29E}IR@dXhKJ@zo%j6 zR5Cj(;2#F8pLr`lHo#0c`C$$KIT#sGV}%C6gQBlH-A9rk`4EBFBe*zxi=B}-i63Fv`XKRyN~eR07GX@rn?)PR_}9mGfz(q|WKIXwF(!9Nnx6x` z>^L8KLHr-xS)zNRIp2G8eZ=|RTQ@?DgMmhhZ}tKgAbmcAt~Q?I;^bO zNB{W9h-ByS=+Ey(Im{15fQU>VqcD%$AT5T+aBRWk@e~p!mh%aNpZjo5;LBiG)v17d zoAN<*_f<{q9#MACh+bQ#tAtVQ$t766QIIry%y@A(MO==%sH zk{cqB7Ans~z;smsnV;-0j+pZuEuqPsm{#bHolqe`5pJZ`gdWHRA#DQH!X=`uzr&|l zJ~M!|AqnC93?p!>k?7&OQebs{003ts(A@cFJVha>e76vfT&%!14LbSie`*5Ae3BcW zP8gCuTEsr-FLzE8fC>kDg&JDtmtjz;R_1L^n{J$@v}_VnFBVVa|FG zWWJTW#19>DU>Xw@Ou^+8u(%B%pSy+i;@7?;9HV)HDnf!=0Y(GHWRY~)fk)ga!M6Yc zBMfSoG~hu=Cd?RlfK}Wji5k-J`DYNdd4?2fyF2i!A>kd_gcAIZVkzR4s& zn4|#y?AcpJ4$HTKSPOxeq`{He38#S(ZY8Jk+;b9Heds4xJcwa?#Gk2(OrftsgMN)1Ikq7=Se}@!o>3*woRYFHmvbTC~m5-z}Do&=Ks24kJ{376_NLmNEX z^OD-+kpuPq{v%_zOq37xuG?dyD|+nNJ~6S!K3YC-r1sK@{b*Sqw>nFtscau8 zPwcHt*p>33a%F%0Hh1xr@rl}&2^kW2=(l^*4pO7~?_nRF(T z$!2nye5Q~oW=fg9Y$}`1X0q9AE}PF5vc+sE+m}n_(z#47o6F_$xk9d(E9Ls~seC%0 z$!GJqd_G^u7xSfjUm;aU7czxxAy>#33WZ{!ROlf3kmD-kr<5l2RE!0EFM0sp)%^n6H zN*iJcnAuz3=iaN<_|K3g>XUZ4uJDEbU`cNFq;7rn=FOX513X^{uU-hf*v7y=8~^w- zAJ6}~=OPR?fx*vj3Op8IwFxkO=7V__cho0b-Wa;A?nwfLV{E)`m+i{F@`Mtd^2BYI z+WYH#g#RFGf3;@Yz3eh+uOs8^k=fL*_VI@g*4^wBqK11q(w<^rgOTW0|=;u)uq@Wsn7n&m%sYN*Ps5rX2m+>Y5%3$ zckI6Ewbj~P_rCkRUwPu|v95L7ci&X4z4hLYqVbo$^4+Juf7*(5ZQot3HICi&$B%yg zv2Q(j`XBCm{oQYT^IJ~b_rQlA{OHF%`}xPd^k+|e{o8-D>%`~&;>%BbefM?O-}K7Y z4!-eiZ~vo*Kl9iZzWirTb}d=@>YM-NC(q9`Vh0cZ-FG`WSC5UaSULFHxBr(<{K=#L zx@769)jM`xcl|3~b@OX)pZfHdzWJ^1oc@P@o|t@l{mAdV^D8r31~1vXr_5zR-P&U1tbnNp{DH3U4V?=DFAEyh zig3sbngP==O&mP(nGwIrh!W;29d)-V&Hd@R55wr0z zJX-BsV{J0)!L4SexiwGxPSuD6=S(6O5rH695zK6_c-3j0gJ9r)HoJ+jJt zmG#O{@tnjT2uF*%#QR7kL8^$-I-wOS;@ucx> z{gm$+!((9?WLDrcm3Pn_rCZ01EIoYm%sd$=y7}SH^sKn+^`YYNdmjvhFTH$t|J#3OeDH@qdezXo-o3W>W$(T3 z1NT4hkq1Bi*+;+Vk3<)*?BBNi#UK92*Z$(Zz_R7Zi@)?`%f9I1OM0`V{#{pHbHj}< zdpVhEPo*|II(h4FPrd1ZKlsE$(R;uCUgGR{1vg zuCzMVH~zrC##&?b26GX;ar{^@v?LsCoai$v!BA=mKElxB(+5h{)xIrOI1ma9*lVq5 zs9^T{mIth8;D+7BY%Ckt91I`3WOd_MZ*YC%!`E4>I$zYWED-kZ46O|viEMM$`!Dr{ z{V(?GzPRaYym>IOD;REk__fLHk+46uuoMgzHd^t<^w#Q)QT>>K7k-%NwmxU(5^z;{SP1<6pv)!Lg+~8t+;Zy(zS; z@rGkN&DUSix%l-rY3IF`wCl?wWBV)P z)!LS!@$mzLb+}*R5luh)qsv9NcC@Kk6wk~&%h%6U<)Y^k&udYXX+!aI!z#PM`vJeY zkKf(LCl_g-PiU-v&TV&cl|3!}XgBaPprapuy5zSu{e{c+w2yoI%9OfyZObd%c{J^= zn;WVNfB$2kG1a=meUG-Sd5^C5xzj&C_1#l5NKekJ9%w#B;ndHD@%vA8ZIxEFo9674 zYO(?s{^M%-k3SD>8+g9cmSRbMYkPQcXL*Be0e6j%dNMHe{ncmQugWu1ol-ctRMvl{ zQ*7o|9CqW+!2RwjPk$YEKbiSiB5nd!{yeM2r3rrVR#!I-w>>6f1)s=+=j69b3X~f^ zAvUI^R(_ejAnpXSiCc-I0=<99hUZE5$iYqU4;*B<`D538nK9(P4*W=fuDF2~>M zCx146v|80_L6^0rry#0X8ja8JU27*+(F*p=k`y@ z2vWXZeyd;IZrOu#3S-N_tl#54)b9J!z?r}2+*_4~Vm)=h%*@moxj-i300!=uHZ?Qz z)4!1+FcyAJH;423NDudyrg?$;^@kYc&kfw|J=cwo)!e|n-K305bJ&rg8Zs94*2`?f zaCR>X>+D&w;0hf8Sy0z) z?)AmE(tw1yGW?K85&WaNCP5$6fd>4LB2YB)k9cD(`~6Rp*5JAm?Uv%|fa|Eey?z&= zo{ZRm>tbBL50X+_-M1{R-PaYLH80_#*5thH@U+(#Fb?PS=KEh5oa1pm8`sBiW&8I2 zi*Wy0Bd$?7PUD)y^@F&QRW1gw?EgL7Lpy3`aOM2o^9}CvzqaCnmv6^aJD(XBTuq~% z{Vs-4;JP2dbK>gDxDsDq#g(|4+kPF|bKYC=d;_lc<4XLz5(MDYo9};Md}`x>FAh=F z@c$dDb<7>F;Ew0vy?}PaJN{2AfiDMOh&S)P7x%rm|5g9Ai$lz#vFFJmKO0X^D;)>Dw$nNIsqIIdlV7SmBs2~DRv;#!g2bi>4d zm5uLN1;b)QVL}%oj94P}lb^q`TgNr98`=JogcZHSSc`Ys3}fB;4F*4kl`@PpZZlrH ztYPH5@&#V=IKfi%+LnwyulOI=e@__bzjP~?bD3dWzHPv{;zd_(-+|km|DKlk>t4&Q zwh4Dj`BDS&jUPF7Wf?wyTZ`Y!V&LZl`v&Me8)|MX{w>2l@18cnZo6NPa{F`ID%wr2 zJ=|+)Pn$)bfi{o!kiG!hwfhYmXF2}$;GgE4_#_;Z@0?fNv+aNU{DxxSyGyLG^1+(^ zlgxHdeT%T%kC6gE{dW=C_J8@c^q#hUjo#WtO9>sB@8E#=9B{rzf_i&Fpuxy8V> zvGNeM+4}qURdd7GQYvJs!^73SN-6IzoxisXw6C1U?ozdwNtes%TDhDHT)Z(KsIOSeN7t$LhssE2jUu$@@0TK`PG@tO^iXX$ z*H=zguyqz&FgSQU4?pitiHcouXUVfy6jLUTP>A~eP!&h6)HoWfx&|UcRcE@ zL+-k+-YVDres_1VzyBrWTV7tPY<=lQ+qoP>lE;`3llS+(?sb&|Lixm>7~hBL)tt~R{*(hHf98#U-WROqV|z{TlOZMZy? z8D4Th;EGJ_D_2T|;cB*2OII>|)naa`vsKt|_BQUEbzjMy?WP=or}EWQI$IeUDy52* zboZwD`Cw4Zh~?Evscdd2n=V#rwd%6Vx3)2>#G5ZT-B6x;pnaKAtx_B6E0vd*6vWq! zA3BdrX0m2hkg3X}||%K4$(%8hNy+%Z0Juw1X#K)yp|>Wkr8HeD-~3aN6TFPE=XR^8N&m7yd1 z4^(T|Veh}8Ty?7DL+H76?cn8e5H%k^)`kj&e5u@*8A??%`P}g8;$$5Ywh1W@GYrc8 z;4S;>`v&)okBBF zz?a2RGUqNzWheUkRZ?T?ODUG>L;@zxRWn&^!WUDO;h_q4%rA;SzN-fYMUK`Ks|S?W z_xHC-S2pXsXZwcosZwqzml{gv3MnA;;>%mjTcuXVDo$05Pu2!2`;Lss^7Fa!aIw~x zg=p3?<)KSr3JO;_uFbawX_Z>TQEgx?*+O3-JygI#D!Ei8mG5;&aaHcRF2SkfXa<1* zY`(A0DK?Sa`Tl;nKvUsR!yxwQMf+mhVi`&z-&ZN)Y(W`^7B=i|W3I6yuuofgJY*j8 zCtLqVvYDp%=7w|Ce4(7qLosKwwd%%#8mf&$6mzJ<6hKg|LIgpAOQ~8RSIwoXL#cdb zQ@#y^+58Ro>$SZT?MdPe8al)RuDj;i2?!xtbk@s>!C)u3ZxKuEb$9jFxgtATl|s`Li$F{zQ>o_5a3C^UWix(`BQs0=R?7vPOM%|V zK|N*DsoVvyf}Bj^8IU8B`~MRyn3C5_IS;2JT^t%7&Qu^id6yUEsWY+n2u~ZmJPoeg zH-5{Y^aY}e@H{F|6{$3g5Rg~!5XLho{rv}P2P^wPTkpCrQ^YYE9GOWMD#JKxGXy~w z!W=p$2NYo$`-ZYG%moT#rL?7u)kNueHrTa@g}%Pw0uIh(b2!+OF81}gAjv{zbx;d0 zLEEH;E5)H=x|S*qmHW>NQmU4Lt5B;HsUQ1t N?c0>fY|50@{U2L|2S@+_ literal 0 HcmV?d00001 diff --git a/test/extensions/wasm/test_data/logging_rust.wat b/test/extensions/wasm/test_data/logging_rust.wat new file mode 100644 index 0000000000000..7ca04285140db --- /dev/null +++ b/test/extensions/wasm/test_data/logging_rust.wat @@ -0,0 +1,13415 @@ +(module + (type $0 (func (param i32 i32))) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32 i32))) + (type $4 (func)) + (type $5 (func (param i32))) + (type $6 (func (param i32) (result i32))) + (type $7 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $8 (func (param i32) (result i64))) + (type $9 (func (param i32 i32 i32 i32))) + (import "env" "_proxy_log" (func $_proxy_log (param i32 i32 i32))) + (export "memory" (memory $11)) + (export "__indirect_function_table" (table $10)) + (export "__heap_base" (global $13)) + (export "__data_end" (global $14)) + (export "_proxy_onConfigure" (func $_proxy_onConfigure)) + (export "_proxy_onStart" (func $_proxy_onStart)) + (export "_proxy_onTick" (func $_proxy_onTick)) + (export "__post_instantiate" (func $__post_instantiate)) + (export "_malloc" (func $_malloc)) + (export "_free" (func $_free)) + (memory $11 17) + (table $10 28 28 funcref) + (global $12 (mut i32) (i32.const 1048576)) + (global $13 i32 (i32.const 1055604)) + (global $14 i32 (i32.const 1055604)) + (elem $10 (i32.const 1) + $<&T_as_core::fmt::Display>::fmt::h05feff42ddc07882 $<&T_as_core::fmt::Display>::fmt::h97ffe765290afac5 $core::fmt::ArgumentV1::show_usize::h7e76c008016dd45f $::fmt::hb56878928eceb98a $::fmt::hcde5d013cbb807c1 $core::fmt::num::::fmt::h4f4d56a15c6233ed $_as_core::fmt::Debug>::fmt::hd43772a3c2cd5a20 $::fmt::hda62120a64941310 + $core::fmt::num::::fmt::h2a5aa117bff2c084 $core::ptr::real_drop_in_place::h181e24faf7b583a9 $::enabled::hd4f20362dffd9c85 $::log::ha5526d721aa1eaa4 $::flush::h1c1a0fd807f0a5b4 $core::ptr::real_drop_in_place::h0e270dec7857294a $<&mut_W_as_core::fmt::Write>::write_str::h338988da53ca7d21 $<&mut_W_as_core::fmt::Write>::write_char::hb69c6ddc18efab2f + $<&mut_W_as_core::fmt::Write>::write_fmt::hac86fd38e1c29d74 $::enabled::h2391219e08939a75 $::log::hcdd43806b88941ce $::get_type_id::h84858aded9b6f3c7 $core::ptr::real_drop_in_place::h7a6e9b3a26682e2c $_as_core::fmt::Write>::write_str::heb6658a92b0d254f $core::fmt::Write::write_char::h699f698034020179 $core::fmt::Write::write_fmt::h88700fc7b71e07ba + $<&mut_W_as_core::fmt::Write>::write_str::h5e939bfff6b7262a $<&mut_W_as_core::fmt::Write>::write_char::h6c366a2088812c15 $<&mut_W_as_core::fmt::Write>::write_fmt::h1bb28d0d3f773a6a) + (data $11 (i32.const 1048576) + "warn logging_rustsrc/lib.rstest trace loggingtest debug loggingt" + "est error loggingtest tick logging\00\00\01\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00" + "\00\00\00\00\03\00\00\00a Display implementation returned an error unexpectedlyc" + "alled `Result::unwrap()` on an `Err` valueTried to shrink to a l" + "arger capacitysrc/libcore/result.rs: ()\00SetLoggerErrorcapacity o" + "verflowsrc/liballoc/raw_vec.rs\00\00\01\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00" + "\03\00\00\00\01\00\00\00\01\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00index out of bounds: the" + " len is but the index is 00010203040506070809101112131415161718" + "1920212223242526272829303132333435363738394041424344454647484950" + "5152535455565758596061626364656667686970717273747576777879808182" + "8384858687888990919293949596979899src/libcore/slice/mod.rsindex " + " out of range for slice of length slice index starts at but end" + "s at `0x[...]\00\00\00\01\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00\01\00\00\00 \00\00\00" + "\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00" + "\00\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00\01\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00" + "\03\00\00\00\01\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00\03\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00" + "\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00\01\00\00\00 \00\00\00\00\00\00\00" + "\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00\03\00\00\00" + " \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\01\00\00\00\04\00\00\00 \00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\03\00\00\00" + "src/libcore/str/mod.rsbyte index is not a char boundary; it is " + "inside (bytes ) of `\00\00\00\00\00\00\00\00\00\00\00src/libcore/fmt/mod.rs..\00\01\03\05\05\06\06\03" + "\07\06\08\08\09\11\n\1c\0b\19\0c\14\0d\12\0e\16\0f\04\10\03\12\12\13\09\16\01\17\05\18\02\19\03\1a\07\1c\02\1d\01\1f\16 \03+\06,\02-\0b.\010\031\022\02\a9\02\aa\04\ab\08\fa\02" + "\fb\05\fd\04\fe\03\ff\09\adxy\8b\8d\a20WX\8b\8c\90\1c\1d\dd\0e\0fKL\fb\fc./?\\]_\b5\e2\84\8d\8e\91\92\a9\b1\ba\bb\c5\c6\c9\ca\de\e4\e5\ff\00\04\11\12)147:;" + "=IJ]\84\8e\92\a9\b1\b4\ba\bb\c6\ca\ce\cf\e4\e5\00\04\0d\0e\11\12)14:;EFIJ^de\84\91\9b\9d\c9\ce\cf\0d\11)EIWde\8d\91\a9\b4\ba\bb\c5\c9\df\e4\e5\f0\04" + "\0d\11EIde\80\81\84\b2\bc\be\bf\d5\d7\f0\f1\83\85\86\89\8b\8c\98\a0\a4\a6\a8\a9\ac\ba\be\bf\c5\c7\ce\cf\da\dbH\98\bd\cd\c6\ce\cfINOWY^_\89\8e\8f\b1\b6\b7\bf\c1\c6\c7\d7" + "\11\16\17[\\\f6\f7\fe\ff\80\0dmq\de\df\0e\0f\1fno\1c\1d_}~\ae\af\bb\bc\fa\16\17\1e\1fFGNOXZ\\^~\7f\b5\c5\d4\d5\dc\f0\f1\f5rs\8ftu\96\97\c9\ff/_&" + "./\a7\af\b7\bf\c7\cf\d7\df\9a@\97\980\8f\1f\ff\ce\ffNOZ[\07\08\0f\10'/\ee\efno7=?BE\90\91\fe\ffSgu\c8\c9\d0\d1\d8\d9\e7\fe\ff\00 _\"\82\df\04\82D" + "\08\1b\04\06\11\81\ac\0e\80\ab5\1e\15\80\e0\03\19\08\01\04/\044\04\07\03\01\07\06\07\11\nP\0f\12\07U\08\02\04\1c\n\09\03\08\03\07\03\02\03\03\03\0c\04\05\03\0b\06\01\0e\15\05:\03" + "\11\07\06\05\10\08V\07\02\07\15\0dP\04C\03-\03\01\04\11\06\0f\0c:\04\1d%\0d\06L m\04j%\80\c8\05\82\b0\03\1a\06\82\fd\03Y\07\15\0b\17\09\14\0c\14\0cj\06\n\06\1a\06Y" + "\07+\05F\n,\04\0c\04\01\031\0b,\04\1a\06\0b\03\80\ac\06\n\06\1fAL\04-\03t\08<\03\0f\03<\078\08*\06\82\ff\11\18\08/\11-\03 \10!\0f\80\8c\04\82\97\19\0b\15\88" + "\94\05/\05;\07\02\0e\18\09\80\af1t\0c\80\d6\1a\0c\05\80\ff\05\80\b6\05$\0c\9b\c6\n\d20\10\84\8d\037\09\81\\\14\80\b8\08\80\ba=5\04\n\068\08F\08\0c\06t\0b\1e\03Z\04" + "Y\09\80\83\18\1c\n\16\09F\n\80\8a\06\ab\a4\0c\17\041\a1\04\81\da&\07\0c\05\05\80\a5\11\81m\10x(*\06L\04\80\8d\04\80\be\03\1b\03\0f\0d\00\06\01\01\03\01\04\02\08\08\09\02\n" + "\05\0b\02\10\01\11\04\12\05\13\11\14\02\15\02\17\02\1a\02\1c\05\1d\08$\01j\03k\02\bc\02\d1\02\d4\0c\d5\09\d6\02\d7\02\da\01\e0\05\e8\02\ee \f0\04\f9\04\0c';>NO\8f\9e\9e\9f\06" + "\07\096=>V\f3\d0\d1\04\14\1867VW\bd5\ce\cf\e0\12\87\89\8e\9e\04\0d\0e\11\12)14:EFIJNOdeZ\\\b6\b7\1b\1c\84\85\097\90\91\a8\07\n;>fi\8f\92" + "o_\ee\efZb\9a\9b'(U\9d\a0\a1\a3\a4\a7\a8\ad\ba\bc\c4\06\0b\0c\15\1d:?EQ\a6\a7\cc\cd\a0\07\19\1a\"%\c5\c6\04 #%&(38:HJLPSUVXZ\\^`" + "cefksx}\7f\8a\a4\aa\af\b0\c0\d0?qr{^\"{\05\03\04-\03e\04\01/.\80\82\1d\031\0f\1c\04$\09\1e\05+\05D\04\0e*\80\aa\06$\04$\04(\084\0b\01\80\90" + "\817\09\16\n\08\80\989\03c\08\090\16\05!\03\1b\05\01@8\04K\05/\04\n\07\09\07@ '\04\0c\096\03:\05\1a\07\04\0c\07PI73\0d3\07.\08\n\81&\1f\80\81(\08" + "*\80\a6N\04\1e\0fC\0e\19\07\n\06G\09'\09u\0b?A*\06;\05\n\06Q\06\01\05\10\03\05\80\8b_!H\08\n\80\a6^\"E\0b\n\06\0d\138\08\n6,\04\10\80\c0\00\00\00\00\00\0e\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\f8\ff\fb\ff\ff\ff\07\00\00\00\00\00\00\14\fe!\fe\00\0c\00\00\00\02\00\00\00\00\00\00P\1e \80\00\0c\00\00@\06\00\00\00\00\00\00\10\869\02\00\00\00#\00" + "\be!\00\00\0c\00\00\fc\02\00\00\00\00\00\00\d0\1e \c0\00\0c\00\00\00\04\00\00\00\00\00\00@\01 \80\00\00\00\00\00\11\00\00\00\00\00\00\c0\c1=`\00\0c\00\00\00\02\00\00\00\00\00\00\90" + "D0`\00\0c\00\00\00\03\00\00\00\00\00\00X\1e \80\00\0c\00\00\00\00\84\\\80\00\00\00\00\00\00\00\00\00\00\f2\07\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\f2\1b\00?\00\00\00\00\00\00" + "\00\00\00\03\00\00\a0\02\00\00\00\00\00\00\fe\7f\df\e0\ff\fe\ff\ff\ff\1f@\00\00\00\00\00\00\00\00\00\00\00\00\e0\fdf\00\00\00\c3\01\00\1e\00d \00 \00\00\00\00\00\00\00\e0\00\00\00\00" + "\00\00\1c\00\00\00\1c\00\00\00\0c\00\00\00\0c\00\00\00\00\00\00\00\b0?@\fe\0f \00\00\00\00\008\00\00\00\00\00\00`\00\00\00\00\02\00\00\00\00\00\00\87\01\04\0e\00\00\80\09\00\00\00\00" + "\00\00@\7f\e5\1f\f8\9f\00\00\00\00\00\00\ff\7f\0f\00\00\00\00\00\d0\17\04\00\00\00\00\f8\0f\00\03\00\00\00<;\00\00\00\00\00\00@\a3\03\00\00\00\00\00\00\f0\cf\00\00\00\f7\ff\fd!\10\03" + "\ff\ff\ff\ff\ff\ff\ff\fb\00\10\00\00\00\00\00\00\00\00\ff\ff\ff\ff\01\00\00\00\00\00\00\80\03\00\00\00\00\00\00\00\00\80\00\00\00\00\ff\ff\ff\ff\00\00\00\00\00\fc\00\00\00\00\00\06\00\00\00\00" + "\00\00\00\00\00\80\f7?\00\00\00\c0\00\00\00\00\00\00\00\00\00\00\03\00D\08\00\00`\00\00\000\00\00\00\ff\ff\03\80\00\00\00\00\c0?\00\00\80\ff\03\00\00\00\00\00\07\00\00\00\00\00\c8\13" + "\00\00\00\00 \00\00\00\00\00\00\00\00~f\00\08\10\00\00\00\00\00\10\00\00\00\00\00\00\9d\c1\02\00\00\00\000@\00\00\00\00\00 !\00\00\00\00\00@\00\00\00\00\ff\ff\00\00\ff\ff\00\00" + "\00\00\00\00\00\00\00\01\00\00\00\02\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\00\00\05\00\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\00\07\00\00" + "\08\09\n\00\0b\0c\0d\0e\0f\00\00\10\11\12\00\00\13\14\15\16\00\00\17\18\19\1a\1b\00\1c\00\00\00\1d\00\00\00\00\00\00\00\1e\1f \00\00\00\00\00!\00\"\00#$%\00\00\00\00&\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00'(\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00)\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00+,\00\00-\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00./0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "1\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\002\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "45\00\005556\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\01\00\00\00\00\00\00\00\00\00\c0\07n\f0\00\00\00\00\00\87\00\00\00\00`\00\00\00\00\00\00\00\f0\00\00\00\c0\ff\01\00\00\00\00\00" + "\02\00\00\00\00\00\00\ff\7f\00\00\00\00\00\00\80\03\00\00\00\00\00x\06\07\00\00\00\80\ef\1f\00\00\00\00\00\00\00\08\00\03\00\00\00\00\00\c0\7f\00\1e\00\00\00\00\00\00\00\00\00\00\00\80\d3@" + "\00\00\00\80\f8\07\00\00\03\00\00\00\00\00\00X\01\00\80\00\c0\1f\1f\00\00\00\00\00\00\00\00\ff\\\00\00@\00\00\00\00\00\00\00\00\00\00\f9\a5\0d\00\00\00\00\00\00\00\00\00\00\00\00\80<\b0" + "\01\00\000\00\00\00\00\00\00\00\00\00\00\f8\a7\01\00\00\00\00\00\00\00\00\00\00\00\00(\bf\00\00\00\00\e0\bc\0f\00\00\00\00\00\00\00\80\ff\06\fe\07\00\00\00\00\f8y\80\00~\0e\00\00\00\00" + "\00\fc\7f\03\00\00\00\00\00\00\00\00\00\00\7f\bf\00\00\fc\ff\ff\fcm\00\00\00\00\00\00\00~\b4\bf\00\00\00\00\00\00\00\00\00\a3\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\1f\00" + "\00\00\00\00\00\00\7f\00\00\80\07\00\00\00\00\00\00\00\00`\00\00\00\00\00\00\00\00\a0\c3\07\f8\e7\0f\00\00\00<\00\00\1c\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\7f\f8\ff\ff\ff\ff\ff\1f \00" + "\10\00\00\f8\fe\ff\00\00\7f\ff\ff\f9\db\07\00\00\00\00\7f\00\00\00\00\00\f0\07\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00called `" + "Option::unwrap()` on a `None` valuesrc/libcore/option.rsbegin <=" + " end ( <= ) when slicing ` is out of bounds of ` \n()Error") + (data $11 (i32.const 1052928) + "\00\00\10\00\05\00\00\00\1b\00\10\00\12\00\00\00-\00\10\00\12\00\00\00?\00\10\00\12\00\00\00Q\00\10\00\11\00\00\00\n\00\00\00\00\00\00\00\01\00\00\00\0b\00\00\00\0c\00\00\00\0d\00\00\00" + "\a8\01\10\00\00\00\00\00\0e\00\00\00\04\00\00\00\04\00\00\00\0f\00\00\00\10\00\00\00\11\00\00\00\ea\00\10\00$\00\00\00G\01\10\00\17\00\00\00A\02\00\00\09\00\00\00\a8\01\10\00\00\00\00\00" + "#\01\10\00\02\00\00\00\0e\01\10\00\15\00\00\00\e5\03\00\00\05\00\00\00\a0\19\10\00\a0\11\10\00\n\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00\13\00\00\00\0d\00\00\00\n\00\00\00\00\00\00\00" + "\01\00\00\00\12\00\00\00\13\00\00\00\0d\00\00\006\01\10\00\11\00\00\00G\01\10\00\17\00\00\00\eb\02\00\00\05\00\00\00\a8\01\10\00 \00\00\00\c8\01\10\00\12\00\00\00\n\00\00\00\00\00\00\00" + "\01\00\00\00\14\00\00\00\ba\02\10\00\06\00\00\00\c0\02\10\00\"\00\00\00\a2\02\10\00\18\00\00\00%\09\00\00\05\00\00\00\e2\02\10\00\16\00\00\00\f8\02\10\00\0d\00\00\00\a2\02\10\00\18\00\00\00" + "+\09\00\00\05\00\00\00\d6\04\10\00\0b\00\00\00\da\10\10\00\16\00\00\00\05\03\10\00\01\00\00\00\c0\04\10\00\16\00\00\00%\08\00\00\09\00\00\00\b8\10\10\00\0e\00\00\00\c6\10\10\00\04\00\00\00" + "\ca\10\10\00\10\00\00\00\05\03\10\00\01\00\00\00\c0\04\10\00\16\00\00\00)\08\00\00\05\00\00\00x\10\10\00+\00\00\00\a3\10\10\00\15\00\00\00Y\01\00\00\15\00\00\00\d6\04\10\00\0b\00\00\00" + "\e1\04\10\00&\00\00\00\07\05\10\00\08\00\00\00\0f\05\10\00\06\00\00\00\05\03\10\00\01\00\00\00\c0\04\10\00\16\00\00\006\08\00\00\05\00\00\00\a8\01\10\00\00\00\00\006\05\10\00\02\00\00\00" + " \05\10\00\16\00\00\004\04\00\00\11\00\00\00 \05\10\00\16\00\00\00(\04\00\00(\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\bf\b6\00\00\00\00\00\00\00\00\00\ff\07\00\00\00\00\00\f8\ff\ff\00\00\01\00\00\00\00\00\00\00\00\00\00\00\c0\9f\9f=\00\00" + "\00\00\02\00\00\00\ff\ff\ff\07\00\00\00\00\00\00\00\00\00\00\c0\ff\01\00\00\00\00\00\00\f8\0f p\n\10\00J\00\00\00\c0\0c\10\00\00\02\00\00\c0\0e\10\007\00\00\00\00\01\02\03\04\05\06\07" + "\08\09\08\n\0b\0c\0d\0e\0f\10\11\12\13\14\02\15\16\17\18\19\1a\1b\1c\1d\1e\1f \02\02\02\02\02\02\02\02\02\02!\02\02\02\02\02\02\02\02\02\02\02\02\02\02\"#$%&\02'\02(\02\02\02" + ")*+\02,-./0\02\021\02\02\022\02\02\02\02\02\02\02\023\02\024\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\025\026\027\02\02\02\02\02\02\02\028\029\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02:;<\02\02\02\02=\02\02>?@AB" + "CDEF\02\02\02G\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02H\02\02\02\02\02\02\02\02\02\02\02I\02\02\02\02\02;\02\00\01\02\02\02\02\03\02\02\02\02\04\02\05\06\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\07\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02" + "\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02P\n\10\00 \00\00\00'\00\00\00\19\00\00\00P\n\10\00 \00\00\00(\00\00\00 \00\00\00P\n\10\00 \00\00\00" + "*\00\00\00\19\00\00\00P\n\10\00 \00\00\00+\00\00\00\18\00\00\00P\n\10\00 \00\00\00,\00\00\00 \00\00\00\15\00\00\00\0c\00\00\00\04\00\00\00\16\00\00\00\17\00\00\00\18\00\00\00" + "\0e\00\00\00\04\00\00\00\04\00\00\00\19\00\00\00\1a\00\00\00\1b\00\00\00") + (data $11 (i32.const 1055128) + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" + "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + + (func $_proxy_onConfigure (type $0) + (param $0 i32) + (param $1 i32) + (local $2 i32) + (local $3 i32) + global.get $12 + i32.const 80 + i32.sub + local.tee $2 + global.set $12 + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $0 + i32.store + block $block + i32.const 0 + i32.load offset=1055128 + i32.const 2 + i32.lt_u + br_if $block + local.get $2 + i32.const 1 + i32.store offset=12 + local.get $2 + local.get $2 + i32.store offset=8 + i32.const 0 + i32.load offset=1053084 + local.set $0 + i32.const 0 + i32.load offset=1053080 + local.set $1 + i32.const 0 + i32.load offset=1055132 + local.set $3 + local.get $2 + i32.const 72 + i32.add + i32.const 10 + i32.store + local.get $2 + i32.const 64 + i32.add + i64.const 4294967306 + i64.store + local.get $2 + i32.const 56 + i32.add + i32.const 12 + i32.store + local.get $2 + i32.const 48 + i32.add + i32.const 1 + i32.store + local.get $2 + i32.const 40 + i32.add + i32.const 1 + i32.store + local.get $2 + i32.const 36 + i32.add + i32.const 1048676 + i32.store + local.get $2 + i32.const 32 + i32.add + i32.const 1 + i32.store + local.get $2 + i32.const 24 + i32.add + i32.const 12 + i32.store + local.get $2 + i32.const 1048593 + i32.store offset=60 + local.get $2 + i32.const 1048581 + i32.store offset=52 + local.get $2 + i32.const 44 + i32.add + local.get $2 + i32.const 8 + i32.add + i32.store + local.get $2 + i32.const 1052928 + i32.store offset=28 + local.get $2 + i32.const 1048581 + i32.store offset=20 + local.get $2 + i32.const 2 + i32.store offset=16 + local.get $1 + i32.const 1048872 + local.get $3 + i32.const 2 + i32.eq + local.tee $3 + select + local.get $2 + i32.const 16 + i32.add + local.get $0 + i32.const 1053112 + local.get $3 + select + i32.load offset=16 + call_indirect $10 (type $0) + end ;; $block + local.get $2 + i32.const 80 + i32.add + global.set $12 + ) + + (func $<&T_as_core::fmt::Display>::fmt::h05feff42ddc07882 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + local.get $1 + local.get $0 + i32.load + local.get $0 + i32.load offset=4 + call $core::fmt::Formatter::pad::hfe31e8860a6945ec + ) + + (func $_proxy_onStart (type $4) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $12 + i32.const 64 + i32.sub + local.tee $0 + global.set $12 + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + i32.const 0 + i32.load offset=1055128 + i32.const 5 + i32.ge_u + br_if $block_3 + i32.const 4 + local.set $1 + i32.const 0 + i32.load offset=1055128 + i32.const 4 + i32.ge_u + br_if $block_2 + br $block_1 + end ;; $block_3 + i32.const 0 + i32.load offset=1053084 + local.set $1 + i32.const 0 + i32.load offset=1053080 + local.set $2 + i32.const 0 + i32.load offset=1055132 + local.set $3 + local.get $0 + i32.const 56 + i32.add + i32.const 16 + i32.store + local.get $0 + i32.const 48 + i32.add + i64.const 4294967306 + i64.store + local.get $0 + i32.const 40 + i32.add + i32.const 12 + i32.store + local.get $0 + i32.const 32 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 28 + i32.add + i32.const 1049000 + i32.store + local.get $0 + i32.const 16 + i32.add + i64.const 1 + i64.store + local.get $0 + i32.const 8 + i32.add + i32.const 12 + i32.store + local.get $0 + i32.const 1048593 + i32.store offset=44 + local.get $0 + i32.const 1048581 + i32.store offset=36 + local.get $0 + i32.const 1052936 + i32.store offset=12 + local.get $0 + i32.const 1048581 + i32.store offset=4 + local.get $0 + i32.const 5 + i32.store + local.get $2 + i32.const 1048872 + local.get $3 + i32.const 2 + i32.eq + local.tee $3 + select + local.get $0 + local.get $1 + i32.const 1053112 + local.get $3 + select + i32.load offset=16 + call_indirect $10 (type $0) + i32.const 4 + local.set $1 + i32.const 0 + i32.load offset=1055128 + i32.const 4 + i32.lt_u + br_if $block_1 + end ;; $block_2 + i32.const 0 + i32.load offset=1053084 + local.set $2 + i32.const 0 + i32.load offset=1053080 + local.set $3 + i32.const 0 + i32.load offset=1055132 + local.set $4 + local.get $0 + i32.const 56 + i32.add + i32.const 17 + i32.store + local.get $0 + i32.const 48 + i32.add + i64.const 4294967306 + i64.store + local.get $0 + i32.const 40 + i32.add + i32.const 12 + i32.store + local.get $0 + i32.const 32 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 28 + i32.add + i32.const 1049000 + i32.store + local.get $0 + i32.const 16 + i32.add + i64.const 1 + i64.store + local.get $0 + i32.const 8 + i32.add + i32.const 12 + i32.store + local.get $0 + i32.const 1048593 + i32.store offset=44 + local.get $0 + i32.const 1048581 + i32.store offset=36 + local.get $0 + i32.const 1052944 + i32.store offset=12 + local.get $0 + i32.const 1048581 + i32.store offset=4 + local.get $0 + local.get $1 + i32.store + local.get $3 + i32.const 1048872 + local.get $4 + i32.const 2 + i32.eq + local.tee $1 + select + local.get $0 + local.get $2 + i32.const 1053112 + local.get $1 + select + i32.load offset=16 + call_indirect $10 (type $0) + i32.const 0 + local.set $1 + i32.const 0 + i32.load offset=1055128 + br_if $block_0 + br $block + end ;; $block_1 + i32.const 0 + local.set $1 + i32.const 0 + i32.load offset=1055128 + i32.eqz + br_if $block + end ;; $block_0 + local.get $1 + i32.load offset=1053084 + local.set $2 + local.get $1 + i32.load offset=1053080 + local.set $3 + local.get $1 + i32.load offset=1055132 + local.set $4 + local.get $0 + i32.const 56 + i32.add + i32.const 18 + i32.store + local.get $0 + i32.const 48 + i32.add + i64.const 4294967306 + i64.store + local.get $0 + i32.const 40 + i32.add + i32.const 12 + i32.store + local.get $0 + i32.const 32 + i32.add + local.get $1 + i32.store + local.get $0 + i32.const 28 + i32.add + i32.const 1049000 + i32.store + local.get $0 + i32.const 16 + i32.add + i64.const 1 + i64.store + local.get $0 + i32.const 8 + i32.add + i32.const 12 + i32.store + local.get $0 + i32.const 1048593 + i32.store offset=44 + local.get $0 + i32.const 1048581 + i32.store offset=36 + local.get $0 + i32.const 1052952 + i32.store offset=12 + local.get $0 + i32.const 1048581 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.store + local.get $3 + i32.const 1048872 + local.get $4 + i32.const 2 + i32.eq + local.tee $1 + select + local.get $0 + local.get $2 + i32.const 1053112 + local.get $1 + select + i32.load offset=16 + call_indirect $10 (type $0) + end ;; $block + local.get $0 + i32.const 64 + i32.add + global.set $12 + ) + + (func $_proxy_onTick (type $4) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $12 + i32.const 64 + i32.sub + local.tee $0 + global.set $12 + block $block + i32.const 0 + i32.load offset=1055128 + i32.const 3 + i32.lt_u + br_if $block + i32.const 0 + i32.load offset=1053084 + local.set $1 + i32.const 0 + i32.load offset=1053080 + local.set $2 + i32.const 0 + i32.load offset=1055132 + local.set $3 + local.get $0 + i32.const 56 + i32.add + i32.const 24 + i32.store + local.get $0 + i32.const 48 + i32.add + i64.const 4294967306 + i64.store + local.get $0 + i32.const 40 + i32.add + i32.const 12 + i32.store + local.get $0 + i32.const 32 + i32.add + i32.const 0 + i32.store + local.get $0 + i32.const 28 + i32.add + i32.const 1049000 + i32.store + local.get $0 + i32.const 16 + i32.add + i64.const 1 + i64.store + local.get $0 + i32.const 8 + i32.add + i32.const 12 + i32.store + local.get $0 + i32.const 1048593 + i32.store offset=44 + local.get $0 + i32.const 1048581 + i32.store offset=36 + local.get $0 + i32.const 1052960 + i32.store offset=12 + local.get $0 + i32.const 1048581 + i32.store offset=4 + local.get $0 + i32.const 3 + i32.store + local.get $2 + i32.const 1048872 + local.get $3 + i32.const 2 + i32.eq + local.tee $3 + select + local.get $0 + local.get $1 + i32.const 1053112 + local.get $3 + select + i32.load offset=16 + call_indirect $10 (type $0) + end ;; $block + local.get $0 + i32.const 64 + i32.add + global.set $12 + ) + + (func $::enabled::hd4f20362dffd9c85 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + i32.const 1 + ) + + (func $::log::ha5526d721aa1eaa4 (type $0) + (param $0 i32) + (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $12 + i32.const 64 + i32.sub + local.tee $2 + global.set $12 + local.get $1 + i32.load + local.set $3 + local.get $2 + local.get $1 + i32.const 12 + i32.add + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=16 + local.get $2 + i64.const 1 + i64.store offset=8 + local.get $2 + i32.const 2 + i32.store offset=28 + local.get $2 + local.get $2 + i32.const 4 + i32.add + i32.store offset=24 + local.get $2 + local.get $2 + i32.const 8 + i32.add + i32.store offset=36 + local.get $2 + i32.const 60 + i32.add + i32.const 1 + i32.store + local.get $2 + i32.const 40 + i32.add + i32.const 12 + i32.add + i32.const 1 + i32.store + local.get $2 + i32.const 1048676 + i32.store offset=48 + local.get $2 + i32.const 1 + i32.store offset=44 + local.get $2 + i32.const 1052992 + i32.store offset=40 + local.get $2 + local.get $2 + i32.const 24 + i32.add + i32.store offset=56 + block $block + block $block_0 + block $block_1 + local.get $2 + i32.const 36 + i32.add + i32.const 1053000 + local.get $2 + i32.const 40 + i32.add + call $core::fmt::write::h2bc7cdeb5edd0d71 + br_if $block_1 + block $block_2 + block $block_3 + local.get $2 + i32.load offset=12 + local.tee $1 + local.get $2 + i32.const 16 + i32.add + i32.load + local.tee $4 + i32.ne + br_if $block_3 + local.get $2 + i32.load offset=8 + local.set $5 + br $block_2 + end ;; $block_3 + local.get $1 + local.get $4 + i32.lt_u + br_if $block_0 + block $block_4 + local.get $4 + i32.eqz + br_if $block_4 + local.get $2 + i32.load offset=8 + local.get $4 + call $__rust_realloc + local.tee $5 + i32.eqz + br_if $block + local.get $2 + local.get $4 + i32.store offset=12 + local.get $2 + local.get $5 + i32.store offset=8 + local.get $4 + local.set $1 + br $block_2 + end ;; $block_4 + block $block_5 + local.get $1 + i32.eqz + br_if $block_5 + local.get $2 + i32.load offset=8 + call $__rust_dealloc + end ;; $block_5 + local.get $2 + i64.const 1 + i64.store offset=8 + i32.const 1 + local.set $5 + i32.const 0 + local.set $1 + end ;; $block_2 + i32.const 5 + local.get $3 + i32.sub + local.get $5 + local.get $2 + i32.const 16 + i32.add + i32.load + call $_proxy_log + block $block_6 + local.get $1 + i32.eqz + br_if $block_6 + local.get $5 + call $__rust_dealloc + end ;; $block_6 + local.get $2 + i32.const 64 + i32.add + global.set $12 + return + end ;; $block_1 + call $core::result::unwrap_failed::ha1fc68747d7b9775 + unreachable + end ;; $block_0 + i32.const 1053024 + call $core::panicking::panic::h13421bef49a1c627 + unreachable + end ;; $block + unreachable + unreachable + ) + + (func $<&T_as_core::fmt::Display>::fmt::h97ffe765290afac5 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $12 + i32.const 32 + i32.sub + local.tee $2 + global.set $12 + local.get $1 + i32.const 28 + i32.add + i32.load + local.set $3 + local.get $1 + i32.load offset=24 + local.set $4 + local.get $2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get $0 + i32.load + local.tee $1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get $2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get $2 + local.get $1 + i64.load align=4 + i64.store offset=8 + local.get $4 + local.get $3 + local.get $2 + i32.const 8 + i32.add + call $core::fmt::write::h2bc7cdeb5edd0d71 + local.set $1 + local.get $2 + i32.const 32 + i32.add + global.set $12 + local.get $1 + ) + + (func $core::fmt::write::h2bc7cdeb5edd0d71 (type $1) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + global.get $12 + i32.const 64 + i32.sub + local.tee $3 + global.set $12 + local.get $3 + i32.const 8 + i32.add + i32.const 28 + i32.add + local.tee $4 + local.get $1 + i32.store + local.get $3 + i32.const 52 + i32.add + local.tee $5 + local.get $2 + i32.const 20 + i32.add + i32.load + local.tee $1 + i32.store + local.get $3 + i32.const 3 + i32.store8 offset=56 + local.get $3 + i32.const 8 + i32.add + i32.const 36 + i32.add + local.tee $6 + local.get $2 + i32.load offset=16 + local.tee $7 + local.get $1 + i32.const 3 + i32.shl + local.tee $8 + i32.add + i32.store + local.get $3 + i64.const 137438953472 + i64.store offset=8 + local.get $3 + local.get $0 + i32.store offset=32 + i32.const 0 + local.set $1 + local.get $3 + i32.const 0 + i32.store offset=24 + local.get $3 + i32.const 0 + i32.store offset=16 + local.get $3 + local.get $7 + i32.store offset=48 + local.get $3 + local.get $7 + i32.store offset=40 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.shl + local.set $9 + local.get $2 + i32.load + local.set $10 + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + block $block_6 + block $block_7 + local.get $2 + i32.load offset=8 + local.tee $0 + i32.eqz + br_if $block_7 + local.get $0 + i32.const 28 + i32.add + local.set $7 + local.get $2 + i32.const 12 + i32.add + i32.load + i32.const 36 + i32.mul + local.set $2 + local.get $3 + i32.const 32 + i32.add + local.set $11 + local.get $3 + i32.const 56 + i32.add + local.set $12 + local.get $3 + i32.const 48 + i32.add + local.set $13 + local.get $3 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.set $14 + local.get $3 + i32.const 8 + i32.add + i32.const 20 + i32.add + local.set $15 + local.get $3 + i32.const 24 + i32.add + local.set $16 + local.get $3 + i32.const 40 + i32.add + local.set $17 + loop $loop + local.get $2 + i32.eqz + br_if $block_6 + local.get $9 + local.get $1 + i32.eq + br_if $block_3 + local.get $11 + i32.load + local.get $10 + local.get $1 + i32.add + local.tee $8 + i32.load + local.get $8 + i32.const 4 + i32.add + i32.load + local.get $4 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_4 + local.get $12 + local.get $0 + i32.load8_u offset=32 + i32.store8 + local.get $3 + local.get $0 + i32.load offset=8 + i32.store offset=12 + local.get $3 + local.get $0 + i32.load offset=12 + i32.store offset=8 + i32.const 0 + local.set $8 + block $block_8 + block $block_9 + block $block_10 + block $block_11 + local.get $0 + i32.load offset=24 + local.tee $18 + i32.const 1 + i32.eq + br_if $block_11 + block $block_12 + local.get $18 + i32.const 3 + i32.eq + br_if $block_12 + local.get $18 + i32.const 2 + i32.ne + br_if $block_10 + local.get $17 + i32.load + local.tee $19 + local.get $6 + i32.load + i32.eq + br_if $block_12 + local.get $17 + local.get $19 + i32.const 8 + i32.add + i32.store + local.get $19 + i32.load offset=4 + i32.const 3 + i32.ne + br_if $block_8 + local.get $19 + i32.load + i32.load + local.set $18 + br $block_9 + end ;; $block_12 + br $block_8 + end ;; $block_11 + local.get $7 + i32.load + local.tee $19 + local.get $5 + i32.load + local.tee $18 + i32.ge_u + br_if $block_0 + local.get $13 + i32.load + local.get $19 + i32.const 3 + i32.shl + i32.add + local.tee $19 + i32.load offset=4 + i32.const 3 + i32.ne + br_if $block_8 + local.get $19 + i32.load + i32.load + local.set $18 + br $block_9 + end ;; $block_10 + local.get $7 + i32.load + local.set $18 + end ;; $block_9 + i32.const 1 + local.set $8 + end ;; $block_8 + local.get $3 + i32.const 8 + i32.add + i32.const 12 + i32.add + local.get $18 + i32.store + local.get $14 + local.get $8 + i32.store + i32.const 0 + local.set $8 + block $block_13 + block $block_14 + block $block_15 + block $block_16 + local.get $0 + i32.load offset=16 + local.tee $18 + i32.const 1 + i32.eq + br_if $block_16 + block $block_17 + local.get $18 + i32.const 3 + i32.eq + br_if $block_17 + local.get $18 + i32.const 2 + i32.ne + br_if $block_15 + local.get $17 + i32.load + local.tee $19 + local.get $6 + i32.load + i32.eq + br_if $block_17 + local.get $17 + local.get $19 + i32.const 8 + i32.add + i32.store + local.get $19 + i32.load offset=4 + i32.const 3 + i32.ne + br_if $block_13 + local.get $19 + i32.load + i32.load + local.set $18 + br $block_14 + end ;; $block_17 + br $block_13 + end ;; $block_16 + local.get $7 + i32.const -8 + i32.add + i32.load + local.tee $19 + local.get $5 + i32.load + local.tee $18 + i32.ge_u + br_if $block + local.get $13 + i32.load + local.get $19 + i32.const 3 + i32.shl + i32.add + local.tee $19 + i32.load offset=4 + i32.const 3 + i32.ne + br_if $block_13 + local.get $19 + i32.load + i32.load + local.set $18 + br $block_14 + end ;; $block_15 + local.get $7 + i32.const -8 + i32.add + i32.load + local.set $18 + end ;; $block_14 + i32.const 1 + local.set $8 + end ;; $block_13 + local.get $15 + local.get $18 + i32.store + local.get $16 + local.get $8 + i32.store + block $block_18 + block $block_19 + local.get $0 + i32.load + i32.const 1 + i32.ne + br_if $block_19 + local.get $7 + i32.const -24 + i32.add + i32.load + local.tee $8 + local.get $5 + i32.load + local.tee $18 + i32.ge_u + br_if $block_2 + local.get $13 + i32.load + local.get $8 + i32.const 3 + i32.shl + i32.add + local.set $8 + br $block_18 + end ;; $block_19 + local.get $17 + i32.load + local.tee $8 + local.get $6 + i32.load + i32.eq + br_if $block_1 + local.get $17 + local.get $8 + i32.const 8 + i32.add + i32.store + end ;; $block_18 + local.get $0 + i32.const 36 + i32.add + local.set $0 + local.get $2 + i32.const -36 + i32.add + local.set $2 + local.get $7 + i32.const 36 + i32.add + local.set $7 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $8 + i32.load + local.get $3 + i32.const 8 + i32.add + local.get $8 + i32.const 4 + i32.add + i32.load + call_indirect $10 (type $2) + i32.eqz + br_if $loop + br $block_4 + end ;; $loop + end ;; $block_7 + local.get $3 + i32.const 32 + i32.add + local.set $17 + local.get $9 + local.set $1 + local.get $10 + local.set $0 + loop $loop_0 + local.get $8 + i32.eqz + br_if $block_5 + local.get $1 + i32.eqz + br_if $block_3 + local.get $17 + i32.load + local.get $0 + i32.load + local.get $0 + i32.const 4 + i32.add + i32.load + local.get $4 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_4 + local.get $8 + i32.const -8 + i32.add + local.set $8 + local.get $1 + i32.const -8 + i32.add + local.set $1 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $7 + i32.load + local.set $2 + local.get $7 + i32.load offset=4 + local.set $18 + local.get $7 + i32.const 8 + i32.add + local.set $7 + local.get $2 + local.get $3 + i32.const 8 + i32.add + local.get $18 + call_indirect $10 (type $2) + i32.eqz + br_if $loop_0 + br $block_4 + end ;; $loop_0 + end ;; $block_6 + local.get $10 + local.get $1 + i32.add + local.set $0 + end ;; $block_5 + local.get $0 + local.get $10 + local.get $9 + i32.add + i32.eq + br_if $block_3 + local.get $3 + i32.const 32 + i32.add + i32.load + local.get $0 + i32.load + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 36 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + i32.eqz + br_if $block_3 + end ;; $block_4 + local.get $3 + i32.const 64 + i32.add + global.set $12 + i32.const 1 + return + end ;; $block_3 + local.get $3 + i32.const 64 + i32.add + global.set $12 + i32.const 0 + return + end ;; $block_2 + i32.const 1053456 + local.get $8 + local.get $18 + call $core::panicking::panic_bounds_check::h34b80e64d41db052 + unreachable + end ;; $block_1 + i32.const 1053344 + call $core::panicking::panic::h13421bef49a1c627 + unreachable + end ;; $block_0 + i32.const 1053440 + local.get $19 + local.get $18 + call $core::panicking::panic_bounds_check::h34b80e64d41db052 + unreachable + end ;; $block + i32.const 1053440 + local.get $19 + local.get $18 + call $core::panicking::panic_bounds_check::h34b80e64d41db052 + unreachable + ) + + (func $__rust_realloc (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + local.get $0 + local.get $1 + call $__rdl_realloc + ) + + (func $__rust_dealloc (type $5) + (param $0 i32) + local.get $0 + call $__rdl_dealloc + ) + + (func $core::result::unwrap_failed::ha1fc68747d7b9775 (type $4) + (local $0 i32) + global.get $12 + i32.const 64 + i32.sub + local.tee $0 + global.set $12 + local.get $0 + i32.const 55 + i32.store offset=12 + local.get $0 + i32.const 1048712 + i32.store offset=8 + local.get $0 + i32.const 40 + i32.add + i32.const 12 + i32.add + i32.const 4 + i32.store + local.get $0 + i32.const 36 + i32.add + i32.const 2 + i32.store + local.get $0 + i32.const 16 + i32.add + i32.const 12 + i32.add + i32.const 2 + i32.store + local.get $0 + i32.const 1 + i32.store offset=44 + local.get $0 + i32.const 1048928 + i32.store offset=24 + local.get $0 + i32.const 2 + i32.store offset=20 + local.get $0 + i32.const 1053048 + i32.store offset=16 + local.get $0 + local.get $0 + i32.const 56 + i32.add + i32.store offset=48 + local.get $0 + local.get $0 + i32.const 8 + i32.add + i32.store offset=40 + local.get $0 + local.get $0 + i32.const 40 + i32.add + i32.store offset=32 + local.get $0 + i32.const 16 + i32.add + i32.const 1053064 + call $core::panicking::panic_fmt::h74ee8034b317ceed + unreachable + ) + + (func $core::panicking::panic::h13421bef49a1c627 (type $5) + (param $0 i32) + (local $1 i32) + (local $2 i64) + (local $3 i64) + (local $4 i64) + global.get $12 + i32.const 48 + i32.sub + local.tee $1 + global.set $12 + local.get $0 + i64.load offset=8 align=4 + local.set $2 + local.get $0 + i64.load offset=16 align=4 + local.set $3 + local.get $0 + i64.load align=4 + local.set $4 + local.get $1 + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get $1 + local.get $4 + i64.store offset=24 + local.get $1 + i32.const 1049000 + i32.store offset=16 + local.get $1 + i64.const 1 + i64.store offset=4 align=4 + local.get $1 + local.get $1 + i32.const 24 + i32.add + i32.store + local.get $1 + local.get $3 + i64.store offset=40 + local.get $1 + local.get $2 + i64.store offset=32 + local.get $1 + local.get $1 + i32.const 32 + i32.add + call $core::panicking::panic_fmt::h74ee8034b317ceed + unreachable + ) + + (func $__post_instantiate (type $4) + (local $0 i32) + i32.const 0 + i32.const 0 + i32.load offset=1055132 + local.tee $0 + i32.const 1 + local.get $0 + select + i32.store offset=1055132 + block $block + local.get $0 + i32.eqz + br_if $block + block $block_0 + local.get $0 + i32.const 1 + i32.ne + br_if $block_0 + loop $loop + i32.const 0 + i32.load offset=1055132 + i32.const 1 + i32.eq + br_if $loop + end ;; $loop + end ;; $block_0 + call $core::result::unwrap_failed::h3b23d8a79a9406cb + unreachable + end ;; $block + i32.const 0 + i32.const 1052968 + i32.store offset=1053084 + i32.const 0 + i32.const 1049000 + i32.store offset=1053080 + i32.const 0 + i32.const 2 + i32.store offset=1055132 + i32.const 0 + i32.const 5 + i32.store offset=1055128 + ) + + (func $core::result::unwrap_failed::h3b23d8a79a9406cb (type $4) + (local $0 i32) + global.get $12 + i32.const 64 + i32.sub + local.tee $0 + global.set $12 + local.get $0 + i32.const 43 + i32.store offset=12 + local.get $0 + i32.const 1048767 + i32.store offset=8 + local.get $0 + i32.const 40 + i32.add + i32.const 12 + i32.add + i32.const 5 + i32.store + local.get $0 + i32.const 36 + i32.add + i32.const 2 + i32.store + local.get $0 + i32.const 16 + i32.add + i32.const 12 + i32.add + i32.const 2 + i32.store + local.get $0 + i32.const 1 + i32.store offset=44 + local.get $0 + i32.const 1048928 + i32.store offset=24 + local.get $0 + i32.const 2 + i32.store offset=20 + local.get $0 + i32.const 1053048 + i32.store offset=16 + local.get $0 + local.get $0 + i32.const 56 + i32.add + i32.store offset=48 + local.get $0 + local.get $0 + i32.const 8 + i32.add + i32.store offset=40 + local.get $0 + local.get $0 + i32.const 40 + i32.add + i32.store offset=32 + local.get $0 + i32.const 16 + i32.add + i32.const 1053064 + call $core::panicking::panic_fmt::h74ee8034b317ceed + unreachable + ) + + (func $_malloc (type $6) + (param $0 i32) + (result i32) + block $block + block $block_0 + local.get $0 + i32.const -1 + i32.le_s + br_if $block_0 + block $block_1 + local.get $0 + i32.eqz + br_if $block_1 + local.get $0 + i32.const 1 + call $__rust_alloc + local.tee $0 + i32.eqz + br_if $block + local.get $0 + return + end ;; $block_1 + i32.const 1 + return + end ;; $block_0 + call $>::allocate_in::_7b__7b_closure_7d__7d_::h7770da2616b2ac6b + unreachable + end ;; $block + unreachable + unreachable + ) + + (func $__rust_alloc (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + local.get $0 + local.get $1 + call $__rdl_alloc + ) + + (func $>::allocate_in::_7b__7b_closure_7d__7d_::h7770da2616b2ac6b (type $4) + call $alloc::raw_vec::capacity_overflow::he82aaa6e8f2774ef + unreachable + ) + + (func $_free (type $5) + (param $0 i32) + block $block + local.get $0 + i32.eqz + br_if $block + local.get $0 + call $__rust_dealloc + end ;; $block + ) + + (func $<&mut_W_as_core::fmt::Write>::write_str::h338988da53ca7d21 (type $1) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + local.get $0 + i32.load + local.tee $0 + i32.const 4 + i32.add + i32.load + local.tee $3 + local.get $0 + i32.const 8 + i32.add + i32.load + local.tee $4 + i32.sub + local.get $2 + i32.ge_u + br_if $block_4 + local.get $4 + local.get $2 + i32.add + local.tee $5 + local.get $4 + i32.lt_u + br_if $block_1 + local.get $3 + i32.const 1 + i32.shl + local.tee $4 + local.get $5 + local.get $5 + local.get $4 + i32.lt_u + select + local.tee $4 + i32.const 0 + i32.lt_s + br_if $block_1 + local.get $3 + i32.eqz + br_if $block_3 + local.get $0 + i32.load + local.get $4 + call $__rust_realloc + local.tee $3 + i32.eqz + br_if $block_2 + br $block_0 + end ;; $block_4 + local.get $0 + i32.load + local.set $3 + br $block + end ;; $block_3 + local.get $4 + i32.const 1 + call $__rust_alloc + local.tee $3 + br_if $block_0 + end ;; $block_2 + unreachable + unreachable + end ;; $block_1 + call $alloc::raw_vec::capacity_overflow::he82aaa6e8f2774ef + unreachable + end ;; $block_0 + local.get $0 + local.get $3 + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.store + local.get $0 + i32.const 8 + i32.add + i32.load + local.set $4 + end ;; $block + local.get $0 + i32.const 8 + i32.add + local.get $4 + local.get $2 + i32.add + i32.store + local.get $3 + local.get $4 + i32.add + local.get $1 + local.get $2 + call $memcpy + drop + i32.const 0 + ) + + (func $alloc::raw_vec::capacity_overflow::he82aaa6e8f2774ef (type $4) + i32.const 1053136 + call $core::panicking::panic::h13421bef49a1c627 + unreachable + ) + + (func $<&mut_W_as_core::fmt::Write>::write_char::hb69c6ddc18efab2f (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $12 + i32.const 16 + i32.sub + local.tee $2 + global.set $12 + local.get $0 + i32.load + local.set $0 + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + block $block_6 + block $block_7 + block $block_8 + block $block_9 + block $block_10 + block $block_11 + local.get $1 + i32.const 128 + i32.ge_u + br_if $block_11 + local.get $0 + i32.load offset=8 + local.tee $3 + local.get $0 + i32.const 4 + i32.add + i32.load + i32.ne + br_if $block_10 + local.get $3 + i32.const 1 + i32.add + local.tee $4 + local.get $3 + i32.lt_u + br_if $block_0 + local.get $3 + i32.const 1 + i32.shl + local.tee $5 + local.get $4 + local.get $4 + local.get $5 + i32.lt_u + select + local.tee $5 + i32.const 0 + i32.lt_s + br_if $block_0 + local.get $3 + i32.eqz + br_if $block_7 + local.get $0 + i32.load + local.get $5 + call $__rust_realloc + local.tee $4 + br_if $block_6 + br $block + end ;; $block_11 + local.get $2 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 2048 + i32.ge_u + br_if $block_9 + local.get $2 + local.get $1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $2 + local.get $1 + i32.const 6 + i32.shr_u + i32.const 31 + i32.and + i32.const 192 + i32.or + i32.store8 offset=12 + i32.const 2 + local.set $1 + br $block_8 + end ;; $block_10 + local.get $0 + i32.load + local.set $4 + br $block_5 + end ;; $block_9 + block $block_12 + local.get $1 + i32.const 65535 + i32.gt_u + br_if $block_12 + local.get $2 + local.get $1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $2 + local.get $1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $2 + local.get $1 + i32.const 12 + i32.shr_u + i32.const 15 + i32.and + i32.const 224 + i32.or + i32.store8 offset=12 + i32.const 3 + local.set $1 + br $block_8 + end ;; $block_12 + local.get $2 + local.get $1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get $2 + local.get $1 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=12 + local.get $2 + local.get $1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $2 + local.get $1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 4 + local.set $1 + end ;; $block_8 + block $block_13 + local.get $0 + i32.const 4 + i32.add + i32.load + local.tee $4 + local.get $0 + i32.const 8 + i32.add + i32.load + local.tee $3 + i32.sub + local.get $1 + i32.ge_u + br_if $block_13 + local.get $3 + local.get $1 + i32.add + local.tee $5 + local.get $3 + i32.lt_u + br_if $block_0 + local.get $4 + i32.const 1 + i32.shl + local.tee $3 + local.get $5 + local.get $5 + local.get $3 + i32.lt_u + select + local.tee $3 + i32.const 0 + i32.lt_s + br_if $block_0 + local.get $4 + i32.eqz + br_if $block_4 + local.get $0 + i32.load + local.get $3 + call $__rust_realloc + local.tee $4 + br_if $block_3 + br $block + end ;; $block_13 + local.get $0 + i32.load + local.set $4 + br $block_2 + end ;; $block_7 + local.get $5 + i32.const 1 + call $__rust_alloc + local.tee $4 + i32.eqz + br_if $block + end ;; $block_6 + local.get $0 + local.get $4 + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $5 + i32.store + local.get $0 + i32.const 8 + i32.add + i32.load + local.set $3 + end ;; $block_5 + local.get $4 + local.get $3 + i32.add + local.get $1 + i32.store8 + local.get $0 + i32.const 8 + i32.add + local.tee $0 + local.get $0 + i32.load + i32.const 1 + i32.add + i32.store + br $block_1 + end ;; $block_4 + local.get $3 + i32.const 1 + call $__rust_alloc + local.tee $4 + i32.eqz + br_if $block + end ;; $block_3 + local.get $0 + local.get $4 + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $3 + i32.store + local.get $0 + i32.const 8 + i32.add + i32.load + local.set $3 + end ;; $block_2 + local.get $0 + i32.const 8 + i32.add + local.get $3 + local.get $1 + i32.add + i32.store + local.get $4 + local.get $3 + i32.add + local.get $2 + i32.const 12 + i32.add + local.get $1 + call $memcpy + drop + end ;; $block_1 + local.get $2 + i32.const 16 + i32.add + global.set $12 + i32.const 0 + return + end ;; $block_0 + call $alloc::raw_vec::capacity_overflow::he82aaa6e8f2774ef + unreachable + end ;; $block + unreachable + unreachable + ) + + (func $<&mut_W_as_core::fmt::Write>::write_fmt::hac86fd38e1c29d74 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + global.get $12 + i32.const 32 + i32.sub + local.tee $2 + global.set $12 + local.get $2 + local.get $0 + i32.load + i32.store offset=4 + local.get $2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get $1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get $2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get $2 + local.get $1 + i64.load align=4 + i64.store offset=8 + local.get $2 + i32.const 4 + i32.add + i32.const 1053000 + local.get $2 + i32.const 8 + i32.add + call $core::fmt::write::h2bc7cdeb5edd0d71 + local.set $1 + local.get $2 + i32.const 32 + i32.add + global.set $12 + local.get $1 + ) + + (func $::fmt::hcde5d013cbb807c1 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $12 + i32.const 80 + i32.sub + local.tee $2 + global.set $12 + i32.const 1 + local.set $3 + block $block + local.get $1 + i32.load offset=24 + i32.const 1048872 + i32.const 14 + local.get $1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block + block $block_0 + block $block_1 + local.get $1 + i32.load + local.tee $3 + i32.const 4 + i32.and + br_if $block_1 + i32.const 1 + local.set $3 + local.get $1 + i32.const 24 + i32.add + local.tee $4 + i32.load + i32.const 1052917 + i32.const 1 + local.get $1 + i32.const 28 + i32.add + local.tee $5 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block + local.get $4 + i32.load + i32.const 1049000 + i32.const 0 + local.get $5 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block + local.get $1 + i32.const 1048869 + i32.const 2 + call $core::fmt::Formatter::pad::hfe31e8860a6945ec + br_if $block + br $block_0 + end ;; $block_1 + local.get $2 + i32.const 52 + i32.add + i32.const 1055080 + i32.store + local.get $2 + i32.const 0 + i32.store8 offset=16 + local.get $2 + local.get $3 + i32.store offset=24 + local.get $2 + local.get $1 + i32.const 24 + i32.add + i64.load align=4 + i64.store offset=8 + local.get $2 + local.get $1 + i32.load8_u offset=48 + i32.store8 offset=72 + local.get $2 + local.get $1 + i32.load offset=4 + i32.store offset=28 + local.get $2 + local.get $1 + i64.load offset=8 align=4 + i64.store offset=32 + local.get $2 + local.get $1 + i64.load offset=40 align=4 + i64.store offset=64 + local.get $2 + local.get $1 + i64.load offset=32 align=4 + i64.store offset=56 + local.get $2 + local.get $1 + i64.load offset=16 align=4 + i64.store offset=40 + local.get $2 + local.get $2 + i32.const 8 + i32.add + i32.store offset=48 + i32.const 1 + local.set $3 + local.get $2 + i32.const 8 + i32.add + i32.const 1052917 + i32.const 1 + call $_as_core::fmt::Write>::write_str::heb6658a92b0d254f + br_if $block + local.get $2 + i32.const 8 + i32.add + i32.const 1052916 + i32.const 1 + call $_as_core::fmt::Write>::write_str::heb6658a92b0d254f + br_if $block + i32.const 1 + local.set $3 + local.get $2 + i32.const 24 + i32.add + i32.const 1048869 + i32.const 2 + call $core::fmt::Formatter::pad::hfe31e8860a6945ec + br_if $block + end ;; $block_0 + block $block_2 + local.get $1 + i32.load8_u + i32.const 4 + i32.and + i32.eqz + br_if $block_2 + i32.const 1 + local.set $3 + local.get $1 + i32.const 24 + i32.add + i32.load + i32.const 1052916 + i32.const 1 + local.get $1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block + end ;; $block_2 + local.get $1 + i32.const 24 + i32.add + i32.load + i32.const 1052918 + i32.const 1 + local.get $1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + local.set $1 + local.get $2 + i32.const 80 + i32.add + global.set $12 + local.get $1 + return + end ;; $block + local.get $2 + i32.const 80 + i32.add + global.set $12 + local.get $3 + ) + + (func $core::panicking::panic_fmt::h74ee8034b317ceed (type $0) + (param $0 i32) + (param $1 i32) + (local $2 i32) + (local $3 i64) + global.get $12 + i32.const 32 + i32.sub + local.tee $2 + global.set $12 + local.get $1 + i64.load align=4 + local.set $3 + local.get $2 + i32.const 20 + i32.add + local.get $1 + i64.load offset=8 align=4 + i64.store align=4 + local.get $2 + local.get $3 + i64.store offset=12 align=4 + local.get $2 + local.get $0 + i32.store offset=8 + local.get $2 + i32.const 1053176 + i32.store offset=4 + local.get $2 + i32.const 1049000 + i32.store + local.get $2 + call $rust_begin_unwind + unreachable + ) + + (func $::fmt::hb56878928eceb98a (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + local.get $1 + i32.load offset=24 + i32.const 1052919 + i32.const 5 + local.get $1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + ) + + (func $::enabled::h2391219e08939a75 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + i32.const 0 + ) + + (func $::log::hcdd43806b88941ce (type $0) + (param $0 i32) + (param $1 i32) + ) + + (func $::flush::h1c1a0fd807f0a5b4 (type $5) + (param $0 i32) + ) + + (func $core::fmt::Formatter::pad::hfe31e8860a6945ec (type $1) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + global.get $12 + i32.const 16 + i32.sub + local.tee $3 + global.set $12 + local.get $0 + i32.load offset=16 + local.set $4 + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + block $block_6 + block $block_7 + local.get $0 + i32.load offset=8 + local.tee $5 + i32.const 1 + i32.ne + br_if $block_7 + local.get $4 + br_if $block_6 + br $block_5 + end ;; $block_7 + local.get $4 + i32.eqz + br_if $block + end ;; $block_6 + block $block_8 + local.get $2 + i32.eqz + br_if $block_8 + local.get $1 + local.get $2 + i32.add + local.set $6 + local.get $0 + i32.const 20 + i32.add + i32.load + i32.const -1 + i32.xor + local.set $7 + i32.const 0 + local.set $8 + local.get $1 + local.set $4 + local.get $1 + local.set $9 + block $block_9 + block $block_10 + loop $loop + local.get $4 + i32.const 1 + i32.add + local.set $10 + block $block_11 + block $block_12 + local.get $4 + i32.load8_s + local.tee $11 + i32.const 0 + i32.lt_s + br_if $block_12 + local.get $11 + i32.const 255 + i32.and + local.set $11 + local.get $10 + local.set $4 + local.get $7 + i32.const 1 + i32.add + local.tee $7 + br_if $block_11 + br $block_10 + end ;; $block_12 + block $block_13 + block $block_14 + block $block_15 + local.get $10 + local.get $6 + i32.eq + br_if $block_15 + local.get $10 + i32.load8_u + i32.const 63 + i32.and + local.set $12 + local.get $4 + i32.const 2 + i32.add + local.tee $4 + local.set $10 + local.get $11 + i32.const 31 + i32.and + local.set $13 + local.get $11 + i32.const 255 + i32.and + local.tee $11 + i32.const 224 + i32.lt_u + br_if $block_14 + br $block_13 + end ;; $block_15 + i32.const 0 + local.set $12 + local.get $6 + local.set $4 + local.get $11 + i32.const 31 + i32.and + local.set $13 + local.get $11 + i32.const 255 + i32.and + local.tee $11 + i32.const 224 + i32.ge_u + br_if $block_13 + end ;; $block_14 + local.get $12 + local.get $13 + i32.const 6 + i32.shl + i32.or + local.set $11 + local.get $10 + local.set $4 + local.get $7 + i32.const 1 + i32.add + local.tee $7 + br_if $block_11 + br $block_10 + end ;; $block_13 + block $block_16 + block $block_17 + block $block_18 + local.get $4 + local.get $6 + i32.eq + br_if $block_18 + local.get $4 + i32.const 1 + i32.add + local.tee $10 + local.set $14 + local.get $4 + i32.load8_u + i32.const 63 + i32.and + local.get $12 + i32.const 6 + i32.shl + i32.or + local.set $12 + local.get $11 + i32.const 240 + i32.lt_u + br_if $block_17 + br $block_16 + end ;; $block_18 + local.get $6 + local.set $14 + i32.const 0 + local.get $12 + i32.const 6 + i32.shl + i32.or + local.set $12 + local.get $11 + i32.const 240 + i32.ge_u + br_if $block_16 + end ;; $block_17 + local.get $12 + local.get $13 + i32.const 12 + i32.shl + i32.or + local.set $11 + local.get $10 + local.set $4 + local.get $7 + i32.const 1 + i32.add + local.tee $7 + br_if $block_11 + br $block_10 + end ;; $block_16 + block $block_19 + block $block_20 + local.get $14 + local.get $6 + i32.eq + br_if $block_20 + local.get $14 + i32.const 1 + i32.add + local.set $4 + local.get $14 + i32.load8_u + i32.const 63 + i32.and + local.set $11 + br $block_19 + end ;; $block_20 + i32.const 0 + local.set $11 + local.get $10 + local.set $4 + end ;; $block_19 + local.get $12 + i32.const 6 + i32.shl + local.get $13 + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + local.get $11 + i32.or + local.tee $11 + i32.const 1114112 + i32.eq + br_if $block_9 + local.get $7 + i32.const 1 + i32.add + local.tee $7 + i32.eqz + br_if $block_10 + end ;; $block_11 + local.get $8 + local.get $9 + i32.sub + local.get $4 + i32.add + local.set $8 + local.get $4 + local.set $9 + local.get $6 + local.get $4 + i32.ne + br_if $loop + br $block_9 + end ;; $loop + end ;; $block_10 + local.get $11 + i32.const 1114112 + i32.eq + br_if $block_9 + block $block_21 + block $block_22 + local.get $8 + i32.eqz + br_if $block_22 + local.get $8 + local.get $2 + i32.eq + br_if $block_22 + i32.const 0 + local.set $4 + local.get $8 + local.get $2 + i32.ge_u + br_if $block_21 + local.get $1 + local.get $8 + i32.add + i32.load8_s + i32.const -64 + i32.lt_s + br_if $block_21 + end ;; $block_22 + local.get $1 + local.set $4 + end ;; $block_21 + local.get $8 + local.get $2 + local.get $4 + select + local.set $2 + local.get $4 + local.get $1 + local.get $4 + select + local.set $1 + end ;; $block_9 + local.get $5 + i32.eqz + br_if $block_4 + br $block_5 + end ;; $block_8 + i32.const 0 + local.set $2 + local.get $5 + i32.eqz + br_if $block_4 + end ;; $block_5 + i32.const 0 + local.set $10 + block $block_23 + local.get $2 + i32.eqz + br_if $block_23 + local.get $2 + local.set $11 + local.get $1 + local.set $4 + loop $loop_0 + local.get $10 + local.get $4 + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.eq + i32.add + local.set $10 + local.get $4 + i32.const 1 + i32.add + local.set $4 + local.get $11 + i32.const -1 + i32.add + local.tee $11 + br_if $loop_0 + end ;; $loop_0 + end ;; $block_23 + local.get $2 + local.get $10 + i32.sub + local.get $0 + i32.const 12 + i32.add + i32.load + local.tee $7 + i32.ge_u + br_if $block_3 + i32.const 0 + local.set $10 + block $block_24 + local.get $2 + i32.eqz + br_if $block_24 + i32.const 0 + local.set $10 + local.get $2 + local.set $11 + local.get $1 + local.set $4 + loop $loop_1 + local.get $10 + local.get $4 + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.eq + i32.add + local.set $10 + local.get $4 + i32.const 1 + i32.add + local.set $4 + local.get $11 + i32.const -1 + i32.add + local.tee $11 + br_if $loop_1 + end ;; $loop_1 + end ;; $block_24 + local.get $10 + local.get $2 + i32.sub + local.get $7 + i32.add + local.set $11 + i32.const 0 + local.get $0 + i32.load8_u offset=48 + local.tee $4 + local.get $4 + i32.const 3 + i32.eq + select + i32.const 3 + i32.and + local.tee $4 + i32.eqz + br_if $block_2 + local.get $4 + i32.const 2 + i32.eq + br_if $block_1 + i32.const 0 + local.set $7 + br $block_0 + end ;; $block_4 + local.get $0 + i32.load offset=24 + local.get $1 + local.get $2 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + local.set $4 + local.get $3 + i32.const 16 + i32.add + global.set $12 + local.get $4 + return + end ;; $block_3 + local.get $0 + i32.load offset=24 + local.get $1 + local.get $2 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + local.set $4 + local.get $3 + i32.const 16 + i32.add + global.set $12 + local.get $4 + return + end ;; $block_2 + local.get $11 + local.set $7 + i32.const 0 + local.set $11 + br $block_0 + end ;; $block_1 + local.get $11 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set $7 + local.get $11 + i32.const 1 + i32.shr_u + local.set $11 + end ;; $block_0 + local.get $3 + i32.const 0 + i32.store offset=12 + block $block_25 + block $block_26 + local.get $0 + i32.load offset=4 + local.tee $4 + i32.const 127 + i32.gt_u + br_if $block_26 + local.get $3 + local.get $4 + i32.store8 offset=12 + i32.const 1 + local.set $10 + br $block_25 + end ;; $block_26 + block $block_27 + local.get $4 + i32.const 2047 + i32.gt_u + br_if $block_27 + local.get $3 + local.get $4 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $3 + local.get $4 + i32.const 6 + i32.shr_u + i32.const 31 + i32.and + i32.const 192 + i32.or + i32.store8 offset=12 + i32.const 2 + local.set $10 + br $block_25 + end ;; $block_27 + block $block_28 + local.get $4 + i32.const 65535 + i32.gt_u + br_if $block_28 + local.get $3 + local.get $4 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $3 + local.get $4 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $3 + local.get $4 + i32.const 12 + i32.shr_u + i32.const 15 + i32.and + i32.const 224 + i32.or + i32.store8 offset=12 + i32.const 3 + local.set $10 + br $block_25 + end ;; $block_28 + local.get $3 + local.get $4 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get $3 + local.get $4 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=12 + local.get $3 + local.get $4 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $3 + local.get $4 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 4 + local.set $10 + end ;; $block_25 + i32.const -1 + local.set $4 + block $block_29 + block $block_30 + block $block_31 + loop $loop_2 + local.get $4 + i32.const 1 + i32.add + local.tee $4 + local.get $11 + i32.ge_u + br_if $block_31 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $3 + i32.const 12 + i32.add + local.get $10 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + i32.eqz + br_if $loop_2 + br $block_30 + end ;; $loop_2 + end ;; $block_31 + local.get $0 + i32.const 24 + i32.add + local.tee $11 + i32.load + local.get $1 + local.get $2 + local.get $0 + i32.const 28 + i32.add + local.tee $0 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + i32.eqz + br_if $block_29 + end ;; $block_30 + local.get $3 + i32.const 16 + i32.add + global.set $12 + i32.const 1 + return + end ;; $block_29 + i32.const -1 + local.set $4 + block $block_32 + loop $loop_3 + local.get $4 + i32.const 1 + i32.add + local.tee $4 + local.get $7 + i32.ge_u + br_if $block_32 + local.get $11 + i32.load + local.get $3 + i32.const 12 + i32.add + local.get $10 + local.get $0 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + i32.eqz + br_if $loop_3 + end ;; $loop_3 + local.get $3 + i32.const 16 + i32.add + global.set $12 + i32.const 1 + return + end ;; $block_32 + local.get $3 + i32.const 16 + i32.add + global.set $12 + i32.const 0 + return + end ;; $block + local.get $0 + i32.load offset=24 + local.get $1 + local.get $2 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + local.set $4 + local.get $3 + i32.const 16 + i32.add + global.set $12 + local.get $4 + ) + + (func $_as_core::fmt::Write>::write_str::heb6658a92b0d254f (type $1) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + global.get $12 + i32.const 48 + i32.sub + local.tee $3 + global.set $12 + block $block + local.get $2 + i32.eqz + br_if $block + local.get $3 + i32.const 40 + i32.add + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.set $5 + local.get $3 + i32.const 32 + i32.add + local.set $6 + local.get $3 + i32.const 28 + i32.add + local.set $7 + local.get $3 + i32.const 36 + i32.add + local.set $8 + local.get $0 + i32.const 4 + i32.add + local.set $9 + block $block_0 + block $block_1 + block $block_2 + block $block_3 + loop $loop + block $block_4 + local.get $5 + i32.load8_u + i32.eqz + br_if $block_4 + local.get $0 + i32.load + i32.const 1052912 + i32.const 4 + local.get $9 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_3 + end ;; $block_4 + local.get $4 + i32.const 10 + i32.store + local.get $6 + i64.const 4294967306 + i64.store + local.get $7 + local.get $2 + i32.store + local.get $3 + i32.const 16 + i32.add + i32.const 8 + i32.add + local.tee $10 + i32.const 0 + i32.store + local.get $3 + local.get $2 + i32.store offset=20 + local.get $3 + local.get $1 + i32.store offset=16 + local.get $3 + i32.const 8 + i32.add + i32.const 10 + local.get $1 + local.get $2 + call $core::slice::memchr::memchr::h2712233316cf809b + block $block_5 + block $block_6 + block $block_7 + block $block_8 + block $block_9 + local.get $3 + i32.load offset=8 + i32.const 1 + i32.ne + br_if $block_9 + local.get $3 + i32.load offset=12 + local.set $11 + loop $loop_0 + local.get $10 + local.get $11 + local.get $10 + i32.load + i32.add + i32.const 1 + i32.add + local.tee $11 + i32.store + block $block_10 + block $block_11 + local.get $11 + local.get $8 + i32.load + local.tee $12 + i32.ge_u + br_if $block_11 + local.get $3 + i32.load offset=20 + local.set $13 + local.get $7 + i32.load + local.tee $14 + local.get $11 + i32.ge_u + br_if $block_10 + br $block_8 + end ;; $block_11 + block $block_12 + local.get $3 + i32.load offset=20 + local.tee $13 + local.get $11 + i32.lt_u + br_if $block_12 + local.get $12 + i32.const 5 + i32.ge_u + br_if $block_6 + local.get $3 + i32.load offset=16 + local.get $11 + local.get $12 + i32.sub + local.tee $15 + i32.add + local.tee $14 + local.get $4 + i32.eq + br_if $block_7 + local.get $14 + local.get $4 + local.get $12 + call $memcmp + i32.eqz + br_if $block_7 + end ;; $block_12 + local.get $7 + i32.load + local.tee $14 + local.get $11 + i32.lt_u + br_if $block_8 + end ;; $block_10 + local.get $13 + local.get $14 + i32.lt_u + br_if $block_8 + local.get $3 + local.get $3 + i32.const 16 + i32.add + local.get $12 + i32.add + i32.const 23 + i32.add + i32.load8_u + local.get $3 + i32.load offset=16 + local.get $11 + i32.add + local.get $14 + local.get $11 + i32.sub + call $core::slice::memchr::memchr::h2712233316cf809b + local.get $3 + i32.load offset=4 + local.set $11 + local.get $3 + i32.load + i32.const 1 + i32.eq + br_if $loop_0 + end ;; $loop_0 + end ;; $block_9 + local.get $10 + local.get $7 + i32.load + i32.store + end ;; $block_8 + local.get $5 + i32.const 0 + i32.store8 + local.get $2 + local.set $11 + br $block_5 + end ;; $block_7 + local.get $5 + i32.const 1 + i32.store8 + local.get $15 + i32.const 1 + i32.add + local.set $11 + br $block_5 + end ;; $block_6 + local.get $12 + i32.const 4 + call $core::slice::slice_index_len_fail::h7a4ef59ca849a060 + unreachable + end ;; $block_5 + local.get $9 + i32.load + local.set $14 + local.get $0 + i32.load + local.set $12 + block $block_13 + local.get $11 + i32.eqz + local.get $2 + local.get $11 + i32.eq + i32.or + local.tee $10 + br_if $block_13 + local.get $2 + local.get $11 + i32.le_u + br_if $block_1 + local.get $1 + local.get $11 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if $block_1 + end ;; $block_13 + local.get $12 + local.get $1 + local.get $11 + local.get $14 + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_3 + block $block_14 + local.get $10 + i32.eqz + br_if $block_14 + local.get $1 + local.get $11 + i32.add + local.set $1 + local.get $2 + local.get $11 + i32.sub + local.tee $2 + br_if $loop + br $block_2 + end ;; $block_14 + local.get $2 + local.get $11 + i32.le_u + br_if $block_0 + local.get $1 + local.get $11 + i32.add + local.tee $14 + i32.load8_s + i32.const -65 + i32.le_s + br_if $block_0 + local.get $14 + local.set $1 + local.get $2 + local.get $11 + i32.sub + local.tee $2 + br_if $loop + br $block_2 + end ;; $loop + end ;; $block_3 + local.get $3 + i32.const 48 + i32.add + global.set $12 + i32.const 1 + return + end ;; $block_2 + local.get $3 + i32.const 48 + i32.add + global.set $12 + i32.const 0 + return + end ;; $block_1 + local.get $1 + local.get $2 + i32.const 0 + local.get $11 + call $core::str::slice_error_fail::h5395f932d3594937 + unreachable + end ;; $block_0 + local.get $1 + local.get $2 + local.get $11 + local.get $2 + call $core::str::slice_error_fail::h5395f932d3594937 + unreachable + end ;; $block + local.get $3 + i32.const 48 + i32.add + global.set $12 + i32.const 0 + ) + + (func $std::panicking::rust_panic_with_hook::hfee0088857287f5e (type $5) + (param $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 1 + local.set $1 + block $block + block $block_0 + block $block_1 + block $block_2 + i32.const 0 + i32.load offset=1055592 + i32.const 1 + i32.ne + br_if $block_2 + i32.const 0 + i32.const 0 + i32.load offset=1055596 + i32.const 1 + i32.add + local.tee $1 + i32.store offset=1055596 + local.get $1 + i32.const 3 + i32.lt_u + br_if $block_1 + br $block_0 + end ;; $block_2 + i32.const 0 + i64.const 4294967297 + i64.store offset=1055592 + end ;; $block_1 + i32.const 0 + i32.load offset=1055600 + local.tee $2 + i32.const -1 + i32.le_s + br_if $block_0 + i32.const 0 + local.get $2 + i32.store offset=1055600 + local.get $1 + i32.const 2 + i32.lt_u + br_if $block + end ;; $block_0 + unreachable + unreachable + end ;; $block + call $rust_panic + unreachable + ) + + (func $rust_panic (type $4) + unreachable + unreachable + ) + + (func $std::panicking::continue_panic_fmt::h9d276daacc0ab278 (type $5) + (param $0 i32) + (local $1 i32) + global.get $12 + i32.const 16 + i32.sub + local.tee $1 + global.set $12 + local.get $0 + i32.load offset=8 + call $>::unwrap::h4d2370870cfbc354 + drop + local.get $1 + local.get $0 + i32.const 20 + i32.add + i64.load align=4 + i64.store offset=8 + local.get $1 + local.get $0 + i64.load offset=12 align=4 + i64.store + local.get $1 + call $std::panicking::rust_panic_with_hook::hfee0088857287f5e + unreachable + ) + + (func $>::unwrap::h4d2370870cfbc354 (type $6) + (param $0 i32) + (result i32) + block $block + local.get $0 + i32.eqz + br_if $block + local.get $0 + return + end ;; $block + i32.const 1053344 + call $core::panicking::panic::h13421bef49a1c627 + unreachable + ) + + (func $__rdl_alloc (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + local.get $1 + i32.const 8 + i32.le_u + br_if $block_4 + i32.const 0 + local.set $2 + i32.const -64 + local.get $1 + i32.const 16 + local.get $1 + i32.const 16 + i32.gt_u + select + local.tee $1 + i32.sub + local.get $0 + i32.le_u + br_if $block + local.get $1 + i32.const 16 + local.get $0 + i32.const 11 + i32.add + i32.const -8 + i32.and + local.get $0 + i32.const 11 + i32.lt_u + select + local.tee $3 + i32.add + i32.const 12 + i32.add + call $dlmalloc::dlmalloc::Dlmalloc::malloc::hb5084b40b14605ec + local.tee $0 + i32.eqz + br_if $block + local.get $0 + i32.const -8 + i32.add + local.set $2 + local.get $1 + i32.const -1 + i32.add + local.tee $4 + local.get $0 + i32.and + i32.eqz + br_if $block_3 + local.get $0 + i32.const -4 + i32.add + local.tee $5 + i32.load + local.tee $6 + i32.const -8 + i32.and + local.get $4 + local.get $0 + i32.add + i32.const 0 + local.get $1 + i32.sub + i32.and + i32.const -8 + i32.add + local.tee $0 + local.get $0 + local.get $1 + i32.add + local.get $0 + local.get $2 + i32.sub + i32.const 16 + i32.gt_u + select + local.tee $1 + local.get $2 + i32.sub + local.tee $0 + i32.sub + local.set $4 + local.get $6 + i32.const 3 + i32.and + i32.eqz + br_if $block_2 + local.get $1 + local.get $4 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store offset=4 + local.get $1 + local.get $4 + i32.add + local.tee $4 + local.get $4 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $5 + local.get $0 + local.get $5 + i32.load + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get $1 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $2 + local.get $0 + call $dlmalloc::dlmalloc::Dlmalloc::dispose_chunk::hf54af7e93e82e2ab + local.get $1 + i32.load offset=4 + local.tee $0 + i32.const 3 + i32.and + br_if $block_1 + br $block_0 + end ;; $block_4 + local.get $0 + call $dlmalloc::dlmalloc::Dlmalloc::malloc::hb5084b40b14605ec + return + end ;; $block_3 + local.get $2 + local.tee $1 + i32.load offset=4 + local.tee $0 + i32.const 3 + i32.and + br_if $block_1 + br $block_0 + end ;; $block_2 + local.get $2 + i32.load + local.set $2 + local.get $1 + local.get $4 + i32.store offset=4 + local.get $1 + local.get $2 + local.get $0 + i32.add + i32.store + local.get $1 + i32.load offset=4 + local.tee $0 + i32.const 3 + i32.and + i32.eqz + br_if $block_0 + end ;; $block_1 + local.get $0 + i32.const -8 + i32.and + local.tee $2 + local.get $3 + i32.const 16 + i32.add + i32.le_u + br_if $block_0 + local.get $1 + i32.const 4 + i32.add + local.get $3 + local.get $0 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get $1 + local.get $3 + i32.add + local.tee $0 + local.get $2 + local.get $3 + i32.sub + local.tee $3 + i32.const 3 + i32.or + i32.store offset=4 + local.get $1 + local.get $2 + i32.add + local.tee $2 + local.get $2 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $3 + call $dlmalloc::dlmalloc::Dlmalloc::dispose_chunk::hf54af7e93e82e2ab + end ;; $block_0 + local.get $1 + i32.const 8 + i32.add + local.set $2 + end ;; $block + local.get $2 + ) + + (func $dlmalloc::dlmalloc::Dlmalloc::malloc::hb5084b40b14605ec (type $6) + (param $0 i32) + (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i64) + (local $11 i32) + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + block $block_6 + block $block_7 + block $block_8 + block $block_9 + block $block_10 + block $block_11 + block $block_12 + block $block_13 + block $block_14 + block $block_15 + block $block_16 + block $block_17 + block $block_18 + block $block_19 + block $block_20 + block $block_21 + block $block_22 + block $block_23 + block $block_24 + block $block_25 + block $block_26 + block $block_27 + block $block_28 + block $block_29 + block $block_30 + block $block_31 + block $block_32 + block $block_33 + block $block_34 + block $block_35 + block $block_36 + block $block_37 + local.get $0 + i32.const 244 + i32.gt_u + br_if $block_37 + i32.const 0 + i32.load offset=1055136 + local.tee $1 + i32.const 16 + local.get $0 + i32.const 11 + i32.add + i32.const -8 + i32.and + local.get $0 + i32.const 11 + i32.lt_u + select + local.tee $2 + i32.const 3 + i32.shr_u + local.tee $3 + i32.const 31 + i32.and + local.tee $4 + i32.shr_u + local.tee $0 + i32.const 3 + i32.and + i32.eqz + br_if $block_36 + local.get $0 + i32.const -1 + i32.xor + i32.const 1 + i32.and + local.get $3 + i32.add + local.tee $2 + i32.const 3 + i32.shl + local.tee $4 + i32.const 1055152 + i32.add + i32.load + local.tee $0 + i32.const 8 + i32.add + local.set $5 + local.get $0 + i32.load offset=8 + local.tee $3 + local.get $4 + i32.const 1055144 + i32.add + local.tee $4 + i32.eq + br_if $block_35 + local.get $3 + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 8 + i32.add + local.get $3 + i32.store + br $block_34 + end ;; $block_37 + i32.const 0 + local.set $3 + local.get $0 + i32.const -64 + i32.ge_u + br_if $block_8 + local.get $0 + i32.const 11 + i32.add + local.tee $0 + i32.const -8 + i32.and + local.set $2 + i32.const 0 + i32.load offset=1055140 + local.tee $6 + i32.eqz + br_if $block_27 + i32.const 0 + local.set $7 + block $block_38 + local.get $0 + i32.const 8 + i32.shr_u + local.tee $0 + i32.eqz + br_if $block_38 + i32.const 31 + local.set $7 + local.get $2 + i32.const 16777215 + i32.gt_u + br_if $block_38 + local.get $2 + i32.const 38 + local.get $0 + i32.clz + local.tee $0 + i32.sub + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.const 31 + local.get $0 + i32.sub + i32.const 1 + i32.shl + i32.or + local.set $7 + end ;; $block_38 + i32.const 0 + local.get $2 + i32.sub + local.set $3 + local.get $7 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + i32.load + local.tee $0 + i32.eqz + br_if $block_30 + i32.const 0 + local.set $4 + local.get $2 + i32.const 0 + i32.const 25 + local.get $7 + i32.const 1 + i32.shr_u + i32.sub + i32.const 31 + i32.and + local.get $7 + i32.const 31 + i32.eq + select + i32.shl + local.set $5 + i32.const 0 + local.set $1 + loop $loop + block $block_39 + local.get $0 + i32.load offset=4 + i32.const -8 + i32.and + local.tee $8 + local.get $2 + i32.lt_u + br_if $block_39 + local.get $8 + local.get $2 + i32.sub + local.tee $8 + local.get $3 + i32.ge_u + br_if $block_39 + local.get $8 + local.set $3 + local.get $0 + local.set $1 + local.get $8 + i32.eqz + br_if $block_32 + end ;; $block_39 + local.get $0 + i32.const 20 + i32.add + i32.load + local.tee $8 + local.get $4 + local.get $8 + local.get $0 + local.get $5 + i32.const 29 + i32.shr_u + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + i32.load + local.tee $0 + i32.ne + select + local.get $4 + local.get $8 + select + local.set $4 + local.get $5 + i32.const 1 + i32.shl + local.set $5 + local.get $0 + br_if $loop + end ;; $loop + local.get $4 + i32.eqz + br_if $block_31 + local.get $4 + local.set $0 + br $block_29 + end ;; $block_36 + local.get $2 + i32.const 0 + i32.load offset=1055536 + i32.le_u + br_if $block_27 + local.get $0 + i32.eqz + br_if $block_33 + local.get $0 + local.get $4 + i32.shl + i32.const 2 + local.get $4 + i32.shl + local.tee $0 + i32.const 0 + local.get $0 + i32.sub + i32.or + i32.and + local.tee $0 + i32.const 0 + local.get $0 + i32.sub + i32.and + i32.ctz + local.tee $3 + i32.const 3 + i32.shl + local.tee $5 + i32.const 1055152 + i32.add + i32.load + local.tee $0 + i32.load offset=8 + local.tee $4 + local.get $5 + i32.const 1055144 + i32.add + local.tee $5 + i32.eq + br_if $block_25 + local.get $4 + local.get $5 + i32.store offset=12 + local.get $5 + i32.const 8 + i32.add + local.get $4 + i32.store + br $block_24 + end ;; $block_35 + i32.const 0 + local.get $1 + i32.const -2 + local.get $2 + i32.rotl + i32.and + i32.store offset=1055136 + end ;; $block_34 + local.get $0 + local.get $2 + i32.const 3 + i32.shl + local.tee $2 + i32.const 3 + i32.or + i32.store offset=4 + local.get $0 + local.get $2 + i32.add + local.tee $0 + local.get $0 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $5 + return + end ;; $block_33 + i32.const 0 + i32.load offset=1055140 + local.tee $0 + i32.eqz + br_if $block_27 + local.get $0 + i32.const 0 + local.get $0 + i32.sub + i32.and + i32.ctz + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + i32.load + local.tee $1 + i32.load offset=4 + i32.const -8 + i32.and + local.get $2 + i32.sub + local.set $3 + local.get $1 + local.set $4 + local.get $1 + i32.load offset=16 + local.tee $0 + i32.eqz + br_if $block_9 + i32.const 0 + local.set $9 + br $block + end ;; $block_32 + i32.const 0 + local.set $3 + local.get $0 + local.set $1 + br $block_29 + end ;; $block_31 + local.get $1 + br_if $block_28 + end ;; $block_30 + i32.const 0 + local.set $1 + i32.const 2 + local.get $7 + i32.const 31 + i32.and + i32.shl + local.tee $0 + i32.const 0 + local.get $0 + i32.sub + i32.or + local.get $6 + i32.and + local.tee $0 + i32.eqz + br_if $block_27 + local.get $0 + i32.const 0 + local.get $0 + i32.sub + i32.and + i32.ctz + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + i32.load + local.tee $0 + i32.eqz + br_if $block_27 + end ;; $block_29 + block $block_40 + loop $loop_0 + local.get $0 + i32.load offset=4 + i32.const -8 + i32.and + local.tee $4 + local.get $2 + i32.ge_u + local.get $4 + local.get $2 + i32.sub + local.tee $8 + local.get $3 + i32.lt_u + i32.and + local.set $4 + block $block_41 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.eqz + br_if $block_41 + local.get $0 + local.get $1 + local.get $4 + select + local.set $1 + local.get $8 + local.get $3 + local.get $4 + select + local.set $3 + local.get $5 + local.set $0 + local.get $5 + br_if $loop_0 + br $block_40 + end ;; $block_41 + local.get $0 + local.get $1 + local.get $4 + select + local.set $1 + local.get $8 + local.get $3 + local.get $4 + select + local.set $3 + local.get $0 + i32.const 20 + i32.add + i32.load + local.tee $4 + local.set $0 + local.get $4 + br_if $loop_0 + end ;; $loop_0 + end ;; $block_40 + local.get $1 + i32.eqz + br_if $block_27 + end ;; $block_28 + i32.const 0 + i32.load offset=1055536 + local.tee $0 + local.get $2 + i32.lt_u + br_if $block_26 + local.get $3 + local.get $0 + local.get $2 + i32.sub + i32.lt_u + br_if $block_26 + end ;; $block_27 + block $block_42 + block $block_43 + block $block_44 + i32.const 0 + i32.load offset=1055536 + local.tee $0 + local.get $2 + i32.ge_u + br_if $block_44 + i32.const 0 + i32.load offset=1055540 + local.tee $0 + local.get $2 + i32.le_u + br_if $block_43 + i32.const 0 + local.get $0 + local.get $2 + i32.sub + local.tee $3 + i32.store offset=1055540 + i32.const 0 + i32.const 0 + i32.load offset=1055548 + local.tee $0 + local.get $2 + i32.add + local.tee $4 + i32.store offset=1055548 + local.get $4 + local.get $3 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $2 + i32.const 3 + i32.or + i32.store offset=4 + local.get $0 + i32.const 8 + i32.add + return + end ;; $block_44 + i32.const 0 + i32.load offset=1055544 + local.set $3 + local.get $0 + local.get $2 + i32.sub + local.tee $4 + i32.const 16 + i32.ge_u + br_if $block_42 + i32.const 0 + i32.const 0 + i32.store offset=1055544 + i32.const 0 + i32.const 0 + i32.store offset=1055536 + local.get $3 + local.get $0 + i32.const 3 + i32.or + i32.store offset=4 + local.get $3 + local.get $0 + i32.add + local.tee $0 + i32.const 4 + i32.add + local.get $0 + i32.load offset=4 + i32.const 1 + i32.or + i32.store + local.get $3 + i32.const 8 + i32.add + return + end ;; $block_43 + i32.const 0 + local.set $3 + local.get $2 + i32.const 65583 + i32.add + local.tee $4 + i32.const 16 + i32.shr_u + memory.grow + local.tee $0 + i32.const -1 + i32.eq + br_if $block_5 + local.get $0 + i32.const 16 + i32.shl + local.tee $1 + i32.eqz + br_if $block_6 + i32.const 0 + i32.const 0 + i32.load offset=1055552 + local.get $4 + i32.const -65536 + i32.and + local.tee $8 + i32.add + local.tee $0 + i32.store offset=1055552 + i32.const 0 + i32.const 0 + i32.load offset=1055556 + local.tee $3 + local.get $0 + local.get $0 + local.get $3 + i32.lt_u + select + i32.store offset=1055556 + i32.const 0 + i32.load offset=1055548 + local.tee $3 + i32.eqz + br_if $block_19 + i32.const 1055560 + local.set $0 + loop $loop_1 + local.get $0 + i32.load + local.tee $4 + local.get $0 + i32.load offset=4 + local.tee $5 + i32.add + local.get $1 + i32.eq + br_if $block_18 + local.get $0 + i32.load offset=8 + local.tee $0 + br_if $loop_1 + br $block_0 + end ;; $loop_1 + end ;; $block_42 + i32.const 0 + local.get $4 + i32.store offset=1055536 + i32.const 0 + local.get $3 + local.get $2 + i32.add + local.tee $1 + i32.store offset=1055544 + local.get $1 + local.get $4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $3 + local.get $0 + i32.add + local.get $4 + i32.store + local.get $3 + i32.const 4 + i32.add + local.get $2 + i32.const 3 + i32.or + i32.store + local.get $3 + i32.const 8 + i32.add + return + end ;; $block_26 + local.get $1 + i32.load offset=24 + local.set $7 + local.get $1 + i32.load offset=12 + local.tee $4 + local.get $1 + i32.eq + br_if $block_23 + local.get $1 + i32.load offset=8 + local.tee $0 + local.get $4 + i32.store offset=12 + local.get $4 + local.get $0 + i32.store offset=8 + local.get $7 + br_if $block_16 + br $block_13 + end ;; $block_25 + i32.const 0 + local.get $1 + i32.const -2 + local.get $3 + i32.rotl + i32.and + i32.store offset=1055136 + end ;; $block_24 + local.get $0 + i32.const 8 + i32.add + local.set $4 + local.get $0 + local.get $2 + i32.const 3 + i32.or + i32.store offset=4 + local.get $0 + local.get $2 + i32.add + local.tee $1 + local.get $3 + i32.const 3 + i32.shl + local.tee $3 + local.get $2 + i32.sub + local.tee $2 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $3 + i32.add + local.get $2 + i32.store + i32.const 0 + i32.load offset=1055536 + local.tee $0 + i32.eqz + br_if $block_20 + local.get $0 + i32.const 3 + i32.shr_u + local.tee $5 + i32.const 3 + i32.shl + i32.const 1055144 + i32.add + local.set $3 + i32.const 0 + i32.load offset=1055544 + local.set $0 + i32.const 0 + i32.load offset=1055136 + local.tee $8 + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + local.tee $5 + i32.and + i32.eqz + br_if $block_22 + local.get $3 + i32.load offset=8 + local.set $5 + br $block_21 + end ;; $block_23 + local.get $1 + i32.const 20 + i32.const 16 + local.get $1 + i32.const 20 + i32.add + local.tee $4 + i32.load + local.tee $5 + select + i32.add + i32.load + local.tee $0 + i32.eqz + br_if $block_17 + local.get $4 + local.get $1 + i32.const 16 + i32.add + local.get $5 + select + local.set $5 + block $block_45 + loop $loop_2 + local.get $5 + local.set $8 + block $block_46 + local.get $0 + local.tee $4 + i32.const 20 + i32.add + local.tee $5 + i32.load + local.tee $0 + i32.eqz + br_if $block_46 + local.get $0 + br_if $loop_2 + br $block_45 + end ;; $block_46 + local.get $4 + i32.const 16 + i32.add + local.set $5 + local.get $4 + i32.load offset=16 + local.tee $0 + br_if $loop_2 + end ;; $loop_2 + end ;; $block_45 + local.get $8 + i32.const 0 + i32.store + local.get $7 + br_if $block_16 + br $block_13 + end ;; $block_22 + i32.const 0 + local.get $8 + local.get $5 + i32.or + i32.store offset=1055136 + local.get $3 + local.set $5 + end ;; $block_21 + local.get $3 + i32.const 8 + i32.add + local.get $0 + i32.store + local.get $5 + local.get $0 + i32.store offset=12 + local.get $0 + local.get $3 + i32.store offset=12 + local.get $0 + local.get $5 + i32.store offset=8 + end ;; $block_20 + i32.const 0 + local.get $1 + i32.store offset=1055544 + i32.const 0 + local.get $2 + i32.store offset=1055536 + local.get $4 + return + end ;; $block_19 + block $block_47 + block $block_48 + i32.const 0 + i32.load offset=1055580 + local.tee $0 + i32.eqz + br_if $block_48 + local.get $0 + local.get $1 + i32.le_u + br_if $block_47 + end ;; $block_48 + i32.const 0 + local.get $1 + i32.store offset=1055580 + end ;; $block_47 + i32.const 0 + i32.const 4095 + i32.store offset=1055584 + i32.const 0 + local.get $8 + i32.store offset=1055564 + i32.const 0 + local.get $1 + i32.store offset=1055560 + i32.const 0 + i32.const 1055144 + i32.store offset=1055156 + i32.const 0 + i32.const 1055152 + i32.store offset=1055164 + i32.const 0 + i32.const 1055144 + i32.store offset=1055152 + i32.const 0 + i32.const 1055160 + i32.store offset=1055172 + i32.const 0 + i32.const 1055152 + i32.store offset=1055160 + i32.const 0 + i32.const 1055168 + i32.store offset=1055180 + i32.const 0 + i32.const 1055160 + i32.store offset=1055168 + i32.const 0 + i32.const 1055176 + i32.store offset=1055188 + i32.const 0 + i32.const 1055168 + i32.store offset=1055176 + i32.const 0 + i32.const 1055184 + i32.store offset=1055196 + i32.const 0 + i32.const 1055176 + i32.store offset=1055184 + i32.const 0 + i32.const 1055192 + i32.store offset=1055204 + i32.const 0 + i32.const 1055184 + i32.store offset=1055192 + i32.const 0 + i32.const 1055200 + i32.store offset=1055212 + i32.const 0 + i32.const 1055192 + i32.store offset=1055200 + i32.const 0 + i32.const 0 + i32.store offset=1055572 + i32.const 0 + i32.const 1055208 + i32.store offset=1055220 + i32.const 0 + i32.const 1055200 + i32.store offset=1055208 + i32.const 0 + i32.const 1055216 + i32.store offset=1055228 + i32.const 0 + i32.const 1055208 + i32.store offset=1055216 + i32.const 0 + i32.const 1055224 + i32.store offset=1055236 + i32.const 0 + i32.const 1055216 + i32.store offset=1055224 + i32.const 0 + i32.const 1055232 + i32.store offset=1055244 + i32.const 0 + i32.const 1055224 + i32.store offset=1055232 + i32.const 0 + i32.const 1055240 + i32.store offset=1055252 + i32.const 0 + i32.const 1055232 + i32.store offset=1055240 + i32.const 0 + i32.const 1055248 + i32.store offset=1055260 + i32.const 0 + i32.const 1055240 + i32.store offset=1055248 + i32.const 0 + i32.const 1055256 + i32.store offset=1055268 + i32.const 0 + i32.const 1055248 + i32.store offset=1055256 + i32.const 0 + i32.const 1055264 + i32.store offset=1055276 + i32.const 0 + i32.const 1055256 + i32.store offset=1055264 + i32.const 0 + i32.const 1055272 + i32.store offset=1055284 + i32.const 0 + i32.const 1055264 + i32.store offset=1055272 + i32.const 0 + i32.const 1055280 + i32.store offset=1055292 + i32.const 0 + i32.const 1055272 + i32.store offset=1055280 + i32.const 0 + i32.const 1055288 + i32.store offset=1055300 + i32.const 0 + i32.const 1055280 + i32.store offset=1055288 + i32.const 0 + i32.const 1055296 + i32.store offset=1055308 + i32.const 0 + i32.const 1055288 + i32.store offset=1055296 + i32.const 0 + i32.const 1055304 + i32.store offset=1055316 + i32.const 0 + i32.const 1055296 + i32.store offset=1055304 + i32.const 0 + i32.const 1055312 + i32.store offset=1055324 + i32.const 0 + i32.const 1055304 + i32.store offset=1055312 + i32.const 0 + i32.const 1055320 + i32.store offset=1055332 + i32.const 0 + i32.const 1055312 + i32.store offset=1055320 + i32.const 0 + i32.const 1055328 + i32.store offset=1055340 + i32.const 0 + i32.const 1055320 + i32.store offset=1055328 + i32.const 0 + i32.const 1055336 + i32.store offset=1055348 + i32.const 0 + i32.const 1055328 + i32.store offset=1055336 + i32.const 0 + i32.const 1055344 + i32.store offset=1055356 + i32.const 0 + i32.const 1055336 + i32.store offset=1055344 + i32.const 0 + i32.const 1055352 + i32.store offset=1055364 + i32.const 0 + i32.const 1055344 + i32.store offset=1055352 + i32.const 0 + i32.const 1055360 + i32.store offset=1055372 + i32.const 0 + i32.const 1055352 + i32.store offset=1055360 + i32.const 0 + i32.const 1055368 + i32.store offset=1055380 + i32.const 0 + i32.const 1055360 + i32.store offset=1055368 + i32.const 0 + i32.const 1055376 + i32.store offset=1055388 + i32.const 0 + i32.const 1055368 + i32.store offset=1055376 + i32.const 0 + i32.const 1055384 + i32.store offset=1055396 + i32.const 0 + i32.const 1055376 + i32.store offset=1055384 + i32.const 0 + i32.const 1055392 + i32.store offset=1055404 + i32.const 0 + i32.const 1055384 + i32.store offset=1055392 + i32.const 0 + local.get $1 + i32.store offset=1055548 + i32.const 0 + i32.const 1055392 + i32.store offset=1055400 + i32.const 0 + local.get $8 + i32.const -40 + i32.add + local.tee $0 + i32.store offset=1055540 + local.get $1 + local.get $0 + i32.const 1 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.add + i32.const 40 + i32.store offset=4 + i32.const 0 + i32.const 2097152 + i32.store offset=1055576 + i32.const 0 + local.set $3 + i32.const 0 + i32.load offset=1055540 + local.tee $0 + local.get $2 + i32.gt_u + br_if $block_2 + br $block_1 + end ;; $block_18 + local.get $0 + i32.load offset=12 + i32.eqz + br_if $block_15 + br $block_0 + end ;; $block_17 + i32.const 0 + local.set $4 + local.get $7 + i32.eqz + br_if $block_13 + end ;; $block_16 + block $block_49 + block $block_50 + local.get $1 + i32.load offset=28 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.tee $0 + i32.load + local.get $1 + i32.eq + br_if $block_50 + local.get $7 + i32.const 16 + i32.const 20 + local.get $7 + i32.load offset=16 + local.get $1 + i32.eq + select + i32.add + local.get $4 + i32.store + local.get $4 + br_if $block_49 + br $block_13 + end ;; $block_50 + local.get $0 + local.get $4 + i32.store + local.get $4 + i32.eqz + br_if $block_14 + end ;; $block_49 + local.get $4 + local.get $7 + i32.store offset=24 + block $block_51 + local.get $1 + i32.load offset=16 + local.tee $0 + i32.eqz + br_if $block_51 + local.get $4 + local.get $0 + i32.store offset=16 + local.get $0 + local.get $4 + i32.store offset=24 + end ;; $block_51 + local.get $1 + i32.const 20 + i32.add + i32.load + local.tee $0 + i32.eqz + br_if $block_13 + local.get $4 + i32.const 20 + i32.add + local.get $0 + i32.store + local.get $0 + local.get $4 + i32.store offset=24 + local.get $3 + i32.const 15 + i32.le_u + br_if $block_12 + br $block_11 + end ;; $block_15 + local.get $1 + local.get $3 + i32.le_u + br_if $block_0 + local.get $4 + local.get $3 + i32.gt_u + br_if $block_0 + local.get $0 + i32.const 4 + i32.add + local.get $5 + local.get $8 + i32.add + i32.store + i32.const 0 + i32.const 0 + i32.load offset=1055548 + local.tee $0 + i32.const 15 + i32.add + i32.const -8 + i32.and + local.tee $3 + i32.const -8 + i32.add + local.tee $4 + i32.store offset=1055548 + i32.const 0 + i32.const 0 + i32.load offset=1055540 + local.get $8 + i32.add + local.tee $1 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.sub + i32.add + local.tee $3 + i32.store offset=1055540 + local.get $4 + local.get $3 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $1 + i32.add + i32.const 40 + i32.store offset=4 + i32.const 0 + i32.const 2097152 + i32.store offset=1055576 + i32.const 0 + local.set $3 + i32.const 0 + i32.load offset=1055540 + local.tee $0 + local.get $2 + i32.gt_u + br_if $block_4 + br $block_3 + end ;; $block_14 + i32.const 0 + i32.const 0 + i32.load offset=1055140 + i32.const -2 + local.get $1 + i32.const 28 + i32.add + i32.load + i32.rotl + i32.and + i32.store offset=1055140 + end ;; $block_13 + local.get $3 + i32.const 15 + i32.gt_u + br_if $block_11 + end ;; $block_12 + local.get $1 + local.get $3 + local.get $2 + i32.add + local.tee $0 + i32.const 3 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.add + local.tee $0 + local.get $0 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + br $block_10 + end ;; $block_11 + local.get $1 + local.get $2 + i32.const 3 + i32.or + i32.store offset=4 + local.get $1 + local.get $2 + i32.add + local.tee $2 + local.get $3 + i32.const 1 + i32.or + i32.store offset=4 + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.store + block $block_52 + block $block_53 + block $block_54 + block $block_55 + block $block_56 + block $block_57 + block $block_58 + block $block_59 + local.get $3 + i32.const 255 + i32.gt_u + br_if $block_59 + local.get $3 + i32.const 3 + i32.shr_u + local.tee $3 + i32.const 3 + i32.shl + i32.const 1055144 + i32.add + local.set $0 + i32.const 0 + i32.load offset=1055136 + local.tee $4 + i32.const 1 + local.get $3 + i32.const 31 + i32.and + i32.shl + local.tee $3 + i32.and + i32.eqz + br_if $block_58 + local.get $0 + i32.const 8 + i32.add + local.set $4 + local.get $0 + i32.load offset=8 + local.set $3 + br $block_57 + end ;; $block_59 + i32.const 0 + local.set $0 + block $block_60 + local.get $3 + i32.const 8 + i32.shr_u + local.tee $4 + i32.eqz + br_if $block_60 + i32.const 31 + local.set $0 + local.get $3 + i32.const 16777215 + i32.gt_u + br_if $block_60 + local.get $3 + i32.const 38 + local.get $4 + i32.clz + local.tee $0 + i32.sub + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.const 31 + local.get $0 + i32.sub + i32.const 1 + i32.shl + i32.or + local.set $0 + end ;; $block_60 + local.get $2 + i64.const 0 + i64.store offset=16 align=4 + local.get $2 + local.get $0 + i32.store offset=28 + local.get $0 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.set $4 + i32.const 0 + i32.load offset=1055140 + local.tee $5 + i32.const 1 + local.get $0 + i32.const 31 + i32.and + i32.shl + local.tee $8 + i32.and + i32.eqz + br_if $block_56 + local.get $4 + i32.load + local.tee $5 + i32.load offset=4 + i32.const -8 + i32.and + local.get $3 + i32.ne + br_if $block_55 + local.get $5 + local.set $0 + br $block_54 + end ;; $block_58 + i32.const 0 + local.get $4 + local.get $3 + i32.or + i32.store offset=1055136 + local.get $0 + i32.const 8 + i32.add + local.set $4 + local.get $0 + local.set $3 + end ;; $block_57 + local.get $4 + local.get $2 + i32.store + local.get $3 + local.get $2 + i32.store offset=12 + local.get $2 + local.get $0 + i32.store offset=12 + local.get $2 + local.get $3 + i32.store offset=8 + br $block_10 + end ;; $block_56 + i32.const 0 + local.get $5 + local.get $8 + i32.or + i32.store offset=1055140 + local.get $4 + local.get $2 + i32.store + local.get $2 + local.get $4 + i32.store offset=24 + br $block_52 + end ;; $block_55 + local.get $3 + i32.const 0 + i32.const 25 + local.get $0 + i32.const 1 + i32.shr_u + i32.sub + i32.const 31 + i32.and + local.get $0 + i32.const 31 + i32.eq + select + i32.shl + local.set $4 + loop $loop_3 + local.get $5 + local.get $4 + i32.const 29 + i32.shr_u + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee $8 + i32.load + local.tee $0 + i32.eqz + br_if $block_53 + local.get $4 + i32.const 1 + i32.shl + local.set $4 + local.get $0 + local.set $5 + local.get $0 + i32.load offset=4 + i32.const -8 + i32.and + local.get $3 + i32.ne + br_if $loop_3 + end ;; $loop_3 + end ;; $block_54 + local.get $0 + i32.load offset=8 + local.tee $3 + local.get $2 + i32.store offset=12 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + i32.const 0 + i32.store offset=24 + local.get $2 + local.get $0 + i32.store offset=12 + local.get $2 + local.get $3 + i32.store offset=8 + br $block_10 + end ;; $block_53 + local.get $8 + local.get $2 + i32.store + local.get $2 + local.get $5 + i32.store offset=24 + end ;; $block_52 + local.get $2 + local.get $2 + i32.store offset=12 + local.get $2 + local.get $2 + i32.store offset=8 + end ;; $block_10 + local.get $1 + i32.const 8 + i32.add + local.set $3 + br $block_7 + end ;; $block_9 + i32.const 1 + local.set $9 + br $block + end ;; $block_8 + i32.const 42 + local.set $9 + br $block + end ;; $block_7 + i32.const 42 + local.set $9 + br $block + end ;; $block_6 + i32.const 42 + local.set $9 + br $block + end ;; $block_5 + i32.const 42 + local.set $9 + br $block + end ;; $block_4 + i32.const 43 + local.set $9 + br $block + end ;; $block_3 + i32.const 42 + local.set $9 + br $block + end ;; $block_2 + i32.const 43 + local.set $9 + br $block + end ;; $block_1 + i32.const 42 + local.set $9 + br $block + end ;; $block_0 + i32.const 0 + i32.const 0 + i32.load offset=1055580 + local.tee $0 + local.get $1 + local.get $0 + local.get $1 + i32.lt_u + select + i32.store offset=1055580 + local.get $1 + local.get $8 + i32.add + local.set $4 + i32.const 1055560 + local.set $0 + block $block_61 + block $block_62 + block $block_63 + block $block_64 + loop $loop_4 + local.get $0 + i32.load + local.get $4 + i32.eq + br_if $block_64 + local.get $0 + i32.load offset=8 + local.tee $0 + br_if $loop_4 + br $block_63 + end ;; $loop_4 + end ;; $block_64 + local.get $0 + i32.load offset=12 + i32.eqz + br_if $block_62 + end ;; $block_63 + i32.const 1055560 + local.set $0 + i32.const 1055560 + i32.load + local.tee $4 + local.get $3 + i32.le_u + br_if $block_61 + i32.const 28 + local.set $9 + br $block + end ;; $block_62 + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $0 + i32.load offset=4 + local.get $8 + i32.add + i32.store offset=4 + local.get $1 + local.get $2 + i32.const 3 + i32.or + i32.store offset=4 + local.get $1 + local.get $2 + i32.add + local.set $0 + local.get $4 + local.get $1 + i32.sub + local.get $2 + i32.sub + local.set $2 + block $block_65 + block $block_66 + block $block_67 + block $block_68 + block $block_69 + block $block_70 + block $block_71 + block $block_72 + i32.const 0 + i32.load offset=1055548 + local.get $4 + i32.eq + br_if $block_72 + i32.const 0 + i32.load offset=1055544 + local.get $4 + i32.eq + br_if $block_71 + local.get $4 + i32.load offset=4 + local.tee $3 + i32.const 3 + i32.and + i32.const 1 + i32.ne + br_if $block_65 + local.get $3 + i32.const -8 + i32.and + local.tee $6 + i32.const 255 + i32.gt_u + br_if $block_70 + local.get $4 + i32.load offset=12 + local.tee $5 + local.get $4 + i32.load offset=8 + local.tee $8 + i32.eq + br_if $block_69 + local.get $8 + local.get $5 + i32.store offset=12 + local.get $5 + local.get $8 + i32.store offset=8 + br $block_66 + end ;; $block_72 + i32.const 0 + local.get $0 + i32.store offset=1055548 + i32.const 0 + i32.const 0 + i32.load offset=1055540 + local.get $2 + i32.add + local.tee $2 + i32.store offset=1055540 + local.get $0 + local.get $2 + i32.const 1 + i32.or + i32.store offset=4 + local.get $1 + i32.const 8 + i32.add + return + end ;; $block_71 + i32.const 0 + local.get $0 + i32.store offset=1055544 + i32.const 0 + i32.const 0 + i32.load offset=1055536 + local.get $2 + i32.add + local.tee $2 + i32.store offset=1055536 + local.get $0 + local.get $2 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $2 + i32.add + local.get $2 + i32.store + local.get $1 + i32.const 8 + i32.add + return + end ;; $block_70 + local.get $4 + i32.load offset=24 + local.set $11 + local.get $4 + i32.load offset=12 + local.tee $5 + local.get $4 + i32.eq + br_if $block_68 + local.get $4 + i32.load offset=8 + local.tee $3 + local.get $5 + i32.store offset=12 + local.get $5 + local.get $3 + i32.store offset=8 + local.get $11 + br_if $block_67 + br $block_66 + end ;; $block_69 + i32.const 0 + i32.const 0 + i32.load offset=1055136 + i32.const -2 + local.get $3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1055136 + br $block_66 + end ;; $block_68 + block $block_73 + local.get $4 + i32.const 20 + i32.const 16 + local.get $4 + i32.load offset=20 + local.tee $5 + select + i32.add + i32.load + local.tee $3 + i32.eqz + br_if $block_73 + local.get $4 + i32.const 20 + i32.add + local.get $4 + i32.const 16 + i32.add + local.get $5 + select + local.set $8 + loop $loop_5 + local.get $8 + local.set $7 + block $block_74 + local.get $3 + local.tee $5 + i32.const 20 + i32.add + local.tee $8 + i32.load + local.tee $3 + br_if $block_74 + local.get $5 + i32.const 16 + i32.add + local.set $8 + local.get $5 + i32.load offset=16 + local.set $3 + end ;; $block_74 + local.get $3 + br_if $loop_5 + end ;; $loop_5 + local.get $7 + i32.const 0 + i32.store + local.get $11 + br_if $block_67 + br $block_66 + end ;; $block_73 + i32.const 0 + local.set $5 + local.get $11 + i32.eqz + br_if $block_66 + end ;; $block_67 + block $block_75 + block $block_76 + block $block_77 + local.get $4 + i32.load offset=28 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.tee $3 + i32.load + local.get $4 + i32.eq + br_if $block_77 + local.get $11 + i32.const 16 + i32.const 20 + local.get $11 + i32.load offset=16 + local.get $4 + i32.eq + select + i32.add + local.get $5 + i32.store + local.get $5 + br_if $block_76 + br $block_66 + end ;; $block_77 + local.get $3 + local.get $5 + i32.store + local.get $5 + i32.eqz + br_if $block_75 + end ;; $block_76 + local.get $5 + local.get $11 + i32.store offset=24 + block $block_78 + local.get $4 + i32.load offset=16 + local.tee $3 + i32.eqz + br_if $block_78 + local.get $5 + local.get $3 + i32.store offset=16 + local.get $3 + local.get $5 + i32.store offset=24 + end ;; $block_78 + local.get $4 + i32.load offset=20 + local.tee $3 + i32.eqz + br_if $block_66 + local.get $5 + i32.const 20 + i32.add + local.get $3 + i32.store + local.get $3 + local.get $5 + i32.store offset=24 + br $block_66 + end ;; $block_75 + i32.const 0 + i32.const 0 + i32.load offset=1055140 + i32.const -2 + local.get $4 + i32.const 28 + i32.add + i32.load + i32.rotl + i32.and + i32.store offset=1055140 + end ;; $block_66 + local.get $6 + local.get $2 + i32.add + local.set $2 + local.get $4 + local.get $6 + i32.add + local.set $4 + end ;; $block_65 + local.get $4 + local.get $4 + i32.load offset=4 + i32.const -2 + i32.and + i32.store offset=4 + local.get $0 + local.get $2 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $2 + i32.add + local.get $2 + i32.store + block $block_79 + block $block_80 + block $block_81 + block $block_82 + block $block_83 + block $block_84 + block $block_85 + block $block_86 + local.get $2 + i32.const 255 + i32.gt_u + br_if $block_86 + local.get $2 + i32.const 3 + i32.shr_u + local.tee $3 + i32.const 3 + i32.shl + i32.const 1055144 + i32.add + local.set $2 + i32.const 0 + i32.load offset=1055136 + local.tee $4 + i32.const 1 + local.get $3 + i32.const 31 + i32.and + i32.shl + local.tee $3 + i32.and + i32.eqz + br_if $block_85 + local.get $2 + i32.const 8 + i32.add + local.set $4 + local.get $2 + i32.load offset=8 + local.set $3 + br $block_84 + end ;; $block_86 + i32.const 0 + local.set $3 + block $block_87 + local.get $2 + i32.const 8 + i32.shr_u + local.tee $4 + i32.eqz + br_if $block_87 + i32.const 31 + local.set $3 + local.get $2 + i32.const 16777215 + i32.gt_u + br_if $block_87 + local.get $2 + i32.const 38 + local.get $4 + i32.clz + local.tee $3 + i32.sub + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.const 31 + local.get $3 + i32.sub + i32.const 1 + i32.shl + i32.or + local.set $3 + end ;; $block_87 + local.get $0 + i64.const 0 + i64.store offset=16 align=4 + local.get $0 + local.get $3 + i32.store offset=28 + local.get $3 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.set $4 + i32.const 0 + i32.load offset=1055140 + local.tee $5 + i32.const 1 + local.get $3 + i32.const 31 + i32.and + i32.shl + local.tee $8 + i32.and + i32.eqz + br_if $block_83 + local.get $4 + i32.load + local.tee $5 + i32.load offset=4 + i32.const -8 + i32.and + local.get $2 + i32.ne + br_if $block_82 + local.get $5 + local.set $3 + br $block_81 + end ;; $block_85 + i32.const 0 + local.get $4 + local.get $3 + i32.or + i32.store offset=1055136 + local.get $2 + i32.const 8 + i32.add + local.set $4 + local.get $2 + local.set $3 + end ;; $block_84 + local.get $4 + local.get $0 + i32.store + local.get $3 + local.get $0 + i32.store offset=12 + local.get $0 + local.get $2 + i32.store offset=12 + local.get $0 + local.get $3 + i32.store offset=8 + local.get $1 + i32.const 8 + i32.add + return + end ;; $block_83 + i32.const 0 + local.get $5 + local.get $8 + i32.or + i32.store offset=1055140 + local.get $4 + local.get $0 + i32.store + local.get $0 + local.get $4 + i32.store offset=24 + br $block_79 + end ;; $block_82 + local.get $2 + i32.const 0 + i32.const 25 + local.get $3 + i32.const 1 + i32.shr_u + i32.sub + i32.const 31 + i32.and + local.get $3 + i32.const 31 + i32.eq + select + i32.shl + local.set $4 + loop $loop_6 + local.get $5 + local.get $4 + i32.const 29 + i32.shr_u + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee $8 + i32.load + local.tee $3 + i32.eqz + br_if $block_80 + local.get $4 + i32.const 1 + i32.shl + local.set $4 + local.get $3 + local.set $5 + local.get $3 + i32.load offset=4 + i32.const -8 + i32.and + local.get $2 + i32.ne + br_if $loop_6 + end ;; $loop_6 + end ;; $block_81 + local.get $3 + i32.load offset=8 + local.tee $2 + local.get $0 + i32.store offset=12 + local.get $3 + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 0 + i32.store offset=24 + local.get $0 + local.get $3 + i32.store offset=12 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $1 + i32.const 8 + i32.add + return + end ;; $block_80 + local.get $8 + local.get $0 + i32.store + local.get $0 + local.get $5 + i32.store offset=24 + end ;; $block_79 + local.get $0 + local.get $0 + i32.store offset=12 + local.get $0 + local.get $0 + i32.store offset=8 + local.get $1 + i32.const 8 + i32.add + return + end ;; $block_61 + i32.const 27 + local.set $9 + end ;; $block + loop $loop_7 (result i32) + block $block_88 + block $block_89 + block $block_90 + block $block_91 + block $block_92 + block $block_93 + block $block_94 + block $block_95 + block $block_96 + block $block_97 + block $block_98 + block $block_99 + block $block_100 + block $block_101 + block $block_102 + block $block_103 + block $block_104 + block $block_105 + block $block_106 + block $block_107 + block $block_108 + block $block_109 + block $block_110 + block $block_111 + block $block_112 + block $block_113 + block $block_114 + block $block_115 + block $block_116 + block $block_117 + block $block_118 + block $block_119 + block $block_120 + block $block_121 + block $block_122 + block $block_123 + block $block_124 + block $block_125 + block $block_126 + block $block_127 + block $block_128 + block $block_129 + block $block_130 + block $block_131 + block $block_132 + block $block_133 + block $block_134 + block $block_135 + block $block_136 + block $block_137 + block $block_138 + block $block_139 + block $block_140 + block $block_141 + block $block_142 + block $block_143 + block $block_144 + block $block_145 + block $block_146 + block $block_147 + block $block_148 + block $block_149 + block $block_150 + block $block_151 + block $block_152 + block $block_153 + block $block_154 + block $block_155 + block $block_156 + block $block_157 + block $block_158 + block $block_159 + block $block_160 + block $block_161 + block $block_162 + block $block_163 + block $block_164 + block $block_165 + block $block_166 + block $block_167 + block $block_168 + block $block_169 + block $block_170 + block $block_171 + block $block_172 + block $block_173 + block $block_174 + block $block_175 + block $block_176 + block $block_177 + block $block_178 + block $block_179 + block $block_180 + block $block_181 + block $block_182 + block $block_183 + block $block_184 + block $block_185 + local.get $9 + br_table + $block_185 $block_184 $block_183 $block_182 $block_160 $block_159 $block_157 $block_156 $block_155 $block_154 $block_150 $block_149 $block_148 $block_146 $block_145 $block_147 + $block_151 $block_152 $block_158 $block_153 $block_173 $block_172 $block_171 $block_170 $block_168 $block_169 $block_161 $block_180 $block_181 $block_179 $block_178 $block_177 + $block_176 $block_167 $block_166 $block_165 $block_164 $block_163 $block_141 $block_140 $block_139 $block_138 $block_133 $block_134 $block_137 $block_136 $block_135 $block_162 + $block_142 $block_175 $block_174 $block_143 $block_144 + $block_144 ;; default + end ;; $block_185 + local.get $0 + i32.load offset=4 + i32.const -8 + i32.and + local.get $2 + i32.sub + local.tee $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_u + local.tee $1 + select + local.set $3 + local.get $0 + local.get $4 + local.get $1 + select + local.set $4 + local.get $0 + local.tee $1 + i32.load offset=16 + local.tee $0 + br_if $block_131 + i32.const 1 + local.set $9 + br $loop_7 + end ;; $block_184 + local.get $1 + i32.const 20 + i32.add + i32.load + local.tee $0 + br_if $block_130 + i32.const 2 + local.set $9 + br $loop_7 + end ;; $block_183 + local.get $4 + i32.load offset=24 + local.set $7 + local.get $4 + i32.load offset=12 + local.tee $1 + local.get $4 + i32.eq + br_if $block_129 + i32.const 3 + local.set $9 + br $loop_7 + end ;; $block_182 + local.get $4 + i32.load offset=8 + local.tee $0 + local.get $1 + i32.store offset=12 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $7 + br_if $block_127 + br $block_128 + end ;; $block_181 + local.get $0 + i32.load offset=8 + local.tee $0 + i32.load + local.tee $4 + local.get $3 + i32.gt_u + br_if $block_106 + i32.const 27 + local.set $9 + br $loop_7 + end ;; $block_180 + local.get $4 + local.get $0 + i32.load offset=4 + i32.add + local.tee $4 + local.get $3 + i32.le_u + br_if $block_132 + i32.const 29 + local.set $9 + br $loop_7 + end ;; $block_179 + i32.const 0 + local.get $1 + i32.store offset=1055548 + i32.const 0 + local.get $8 + i32.const -40 + i32.add + local.tee $0 + i32.store offset=1055540 + local.get $1 + local.get $0 + i32.const 1 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.add + i32.const 40 + i32.store offset=4 + i32.const 0 + i32.const 2097152 + i32.store offset=1055576 + local.get $3 + local.get $4 + i32.const -32 + i32.add + i32.const -8 + i32.and + i32.const -8 + i32.add + local.tee $0 + local.get $0 + local.get $3 + i32.const 16 + i32.add + i32.lt_u + select + local.tee $5 + i32.const 27 + i32.store offset=4 + i32.const 0 + i64.load offset=1055560 align=4 + local.set $10 + local.get $5 + i32.const 16 + i32.add + i32.const 0 + i64.load offset=1055568 align=4 + i64.store align=4 + local.get $5 + local.get $10 + i64.store offset=8 align=4 + i32.const 0 + local.get $8 + i32.store offset=1055564 + i32.const 0 + local.get $1 + i32.store offset=1055560 + i32.const 0 + local.get $5 + i32.const 8 + i32.add + i32.store offset=1055568 + i32.const 0 + i32.const 0 + i32.store offset=1055572 + local.get $5 + i32.const 28 + i32.add + local.set $0 + i32.const 30 + local.set $9 + br $loop_7 + end ;; $block_178 + local.get $0 + i32.const 7 + i32.store + local.get $4 + local.get $0 + i32.const 4 + i32.add + local.tee $0 + i32.gt_u + br_if $block_105 + i32.const 31 + local.set $9 + br $loop_7 + end ;; $block_177 + local.get $5 + local.get $3 + i32.eq + br_if $block_104 + i32.const 32 + local.set $9 + br $loop_7 + end ;; $block_176 + local.get $5 + local.get $5 + i32.load offset=4 + i32.const -2 + i32.and + i32.store offset=4 + local.get $3 + local.get $5 + local.get $3 + i32.sub + local.tee $1 + i32.const 1 + i32.or + i32.store offset=4 + local.get $5 + local.get $1 + i32.store + local.get $1 + i32.const 255 + i32.gt_u + br_if $block_103 + i32.const 49 + local.set $9 + br $loop_7 + end ;; $block_175 + local.get $1 + i32.const 3 + i32.shr_u + local.tee $4 + i32.const 3 + i32.shl + i32.const 1055144 + i32.add + local.set $0 + i32.const 0 + i32.load offset=1055136 + local.tee $1 + i32.const 1 + local.get $4 + i32.const 31 + i32.and + i32.shl + local.tee $4 + i32.and + i32.eqz + br_if $block_89 + i32.const 50 + local.set $9 + br $loop_7 + end ;; $block_174 + local.get $0 + i32.load offset=8 + local.set $4 + br $block_88 + end ;; $block_173 + local.get $4 + i32.const 20 + i32.const 16 + local.get $4 + i32.const 20 + i32.add + local.tee $1 + i32.load + local.tee $5 + select + i32.add + i32.load + local.tee $0 + i32.eqz + br_if $block_111 + i32.const 21 + local.set $9 + br $loop_7 + end ;; $block_172 + local.get $1 + local.get $4 + i32.const 16 + i32.add + local.get $5 + select + local.set $5 + i32.const 22 + local.set $9 + br $loop_7 + end ;; $block_171 + local.get $5 + local.set $8 + local.get $0 + local.tee $1 + i32.const 20 + i32.add + local.tee $5 + i32.load + local.tee $0 + i32.eqz + br_if $block_107 + i32.const 23 + local.set $9 + br $loop_7 + end ;; $block_170 + local.get $0 + br_if $block_109 + br $block_110 + end ;; $block_169 + local.get $1 + i32.const 16 + i32.add + local.set $5 + local.get $1 + i32.load offset=16 + local.tee $0 + br_if $block_108 + i32.const 24 + local.set $9 + br $loop_7 + end ;; $block_168 + local.get $8 + i32.const 0 + i32.store + local.get $7 + br_if $block_125 + br $block_126 + end ;; $block_167 + i32.const 0 + local.set $0 + local.get $1 + i32.const 8 + i32.shr_u + local.tee $4 + i32.eqz + br_if $block_102 + i32.const 34 + local.set $9 + br $loop_7 + end ;; $block_166 + i32.const 31 + local.set $0 + local.get $1 + i32.const 16777215 + i32.gt_u + br_if $block_101 + i32.const 35 + local.set $9 + br $loop_7 + end ;; $block_165 + local.get $1 + i32.const 38 + local.get $4 + i32.clz + local.tee $0 + i32.sub + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.const 31 + local.get $0 + i32.sub + i32.const 1 + i32.shl + i32.or + local.set $0 + i32.const 36 + local.set $9 + br $loop_7 + end ;; $block_164 + local.get $3 + i64.const 0 + i64.store offset=16 align=4 + local.get $3 + i32.const 28 + i32.add + local.get $0 + i32.store + local.get $0 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.set $4 + i32.const 0 + i32.load offset=1055140 + local.tee $5 + i32.const 1 + local.get $0 + i32.const 31 + i32.and + i32.shl + local.tee $8 + i32.and + i32.eqz + br_if $block_100 + i32.const 37 + local.set $9 + br $loop_7 + end ;; $block_163 + local.get $4 + i32.load + local.tee $5 + i32.load offset=4 + i32.const -8 + i32.and + local.get $1 + i32.ne + br_if $block_99 + i32.const 47 + local.set $9 + br $loop_7 + end ;; $block_162 + local.get $5 + local.set $0 + br $block_96 + end ;; $block_161 + i32.const 0 + local.set $1 + local.get $7 + i32.eqz + br_if $block_124 + i32.const 4 + local.set $9 + br $loop_7 + end ;; $block_160 + local.get $4 + i32.load offset=28 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.tee $0 + i32.load + local.get $4 + i32.eq + br_if $block_123 + i32.const 5 + local.set $9 + br $loop_7 + end ;; $block_159 + local.get $7 + i32.const 16 + i32.const 20 + local.get $7 + i32.load offset=16 + local.get $4 + i32.eq + select + i32.add + local.get $1 + i32.store + local.get $1 + br_if $block_121 + br $block_122 + end ;; $block_158 + local.get $0 + local.get $1 + i32.store + local.get $1 + i32.eqz + br_if $block_120 + i32.const 6 + local.set $9 + br $loop_7 + end ;; $block_157 + local.get $1 + local.get $7 + i32.store offset=24 + local.get $4 + i32.load offset=16 + local.tee $0 + i32.eqz + br_if $block_119 + i32.const 7 + local.set $9 + br $loop_7 + end ;; $block_156 + local.get $1 + local.get $0 + i32.store offset=16 + local.get $0 + local.get $1 + i32.store offset=24 + i32.const 8 + local.set $9 + br $loop_7 + end ;; $block_155 + local.get $4 + i32.const 20 + i32.add + i32.load + local.tee $0 + i32.eqz + br_if $block_118 + i32.const 9 + local.set $9 + br $loop_7 + end ;; $block_154 + local.get $1 + i32.const 20 + i32.add + local.get $0 + i32.store + local.get $0 + local.get $1 + i32.store offset=24 + local.get $3 + i32.const 16 + i32.lt_u + br_if $block_116 + br $block_115 + end ;; $block_153 + i32.const 0 + i32.const 0 + i32.load offset=1055140 + i32.const -2 + local.get $4 + i32.const 28 + i32.add + i32.load + i32.rotl + i32.and + i32.store offset=1055140 + i32.const 17 + local.set $9 + br $loop_7 + end ;; $block_152 + local.get $3 + i32.const 16 + i32.ge_u + br_if $block_117 + i32.const 16 + local.set $9 + br $loop_7 + end ;; $block_151 + local.get $4 + local.get $3 + local.get $2 + i32.add + local.tee $0 + i32.const 3 + i32.or + i32.store offset=4 + local.get $4 + local.get $0 + i32.add + local.tee $0 + local.get $0 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $4 + i32.const 8 + i32.add + return + end ;; $block_150 + local.get $4 + local.get $2 + i32.const 3 + i32.or + i32.store offset=4 + local.get $4 + local.get $2 + i32.add + local.tee $2 + local.get $3 + i32.const 1 + i32.or + i32.store offset=4 + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.store + i32.const 0 + i32.load offset=1055536 + local.tee $0 + i32.eqz + br_if $block_114 + i32.const 11 + local.set $9 + br $loop_7 + end ;; $block_149 + local.get $0 + i32.const 3 + i32.shr_u + local.tee $5 + i32.const 3 + i32.shl + i32.const 1055144 + i32.add + local.set $1 + i32.const 0 + i32.load offset=1055544 + local.set $0 + i32.const 0 + i32.load offset=1055136 + local.tee $8 + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + local.tee $5 + i32.and + i32.eqz + br_if $block_113 + i32.const 12 + local.set $9 + br $loop_7 + end ;; $block_148 + local.get $1 + i32.load offset=8 + local.set $5 + br $block_112 + end ;; $block_147 + i32.const 0 + local.get $8 + local.get $5 + i32.or + i32.store offset=1055136 + local.get $1 + local.set $5 + i32.const 13 + local.set $9 + br $loop_7 + end ;; $block_146 + local.get $1 + i32.const 8 + i32.add + local.get $0 + i32.store + local.get $5 + local.get $0 + i32.store offset=12 + local.get $0 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $5 + i32.store offset=8 + i32.const 14 + local.set $9 + br $loop_7 + end ;; $block_145 + i32.const 0 + local.get $2 + i32.store offset=1055544 + i32.const 0 + local.get $3 + i32.store offset=1055536 + local.get $4 + i32.const 8 + i32.add + return + end ;; $block_144 + i32.const 0 + local.get $1 + local.get $4 + i32.or + i32.store offset=1055136 + local.get $0 + local.set $4 + i32.const 51 + local.set $9 + br $loop_7 + end ;; $block_143 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.store + local.get $4 + local.get $3 + i32.store offset=12 + local.get $3 + local.get $0 + i32.store offset=12 + local.get $3 + local.get $4 + i32.store offset=8 + i32.const 0 + local.set $3 + i32.const 0 + i32.load offset=1055540 + local.tee $0 + local.get $2 + i32.gt_u + br_if $block_92 + br $block_91 + end ;; $block_142 + i32.const 0 + local.get $5 + local.get $8 + i32.or + i32.store offset=1055140 + local.get $4 + local.get $3 + i32.store + local.get $3 + i32.const 24 + i32.add + local.get $4 + i32.store + br $block_90 + end ;; $block_141 + local.get $1 + i32.const 0 + i32.const 25 + local.get $0 + i32.const 1 + i32.shr_u + i32.sub + i32.const 31 + i32.and + local.get $0 + i32.const 31 + i32.eq + select + i32.shl + local.set $4 + i32.const 39 + local.set $9 + br $loop_7 + end ;; $block_140 + local.get $5 + local.get $4 + i32.const 29 + i32.shr_u + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee $8 + i32.load + local.tee $0 + i32.eqz + br_if $block_97 + i32.const 40 + local.set $9 + br $loop_7 + end ;; $block_139 + local.get $4 + i32.const 1 + i32.shl + local.set $4 + local.get $0 + local.set $5 + local.get $0 + i32.load offset=4 + i32.const -8 + i32.and + local.get $1 + i32.ne + br_if $block_98 + i32.const 41 + local.set $9 + br $loop_7 + end ;; $block_138 + local.get $0 + i32.load offset=8 + local.tee $4 + local.get $3 + i32.store offset=12 + local.get $0 + local.get $3 + i32.store offset=8 + local.get $3 + i32.const 24 + i32.add + i32.const 0 + i32.store + local.get $3 + local.get $0 + i32.store offset=12 + local.get $3 + local.get $4 + i32.store offset=8 + i32.const 0 + local.set $3 + i32.const 0 + i32.load offset=1055540 + local.tee $0 + local.get $2 + i32.gt_u + br_if $block_94 + br $block_93 + end ;; $block_137 + local.get $8 + local.get $3 + i32.store + local.get $3 + i32.const 24 + i32.add + local.get $5 + i32.store + i32.const 45 + local.set $9 + br $loop_7 + end ;; $block_136 + local.get $3 + local.get $3 + i32.store offset=12 + local.get $3 + local.get $3 + i32.store offset=8 + i32.const 46 + local.set $9 + br $loop_7 + end ;; $block_135 + i32.const 0 + local.set $3 + i32.const 0 + i32.load offset=1055540 + local.tee $0 + local.get $2 + i32.le_u + br_if $block_95 + i32.const 43 + local.set $9 + br $loop_7 + end ;; $block_134 + i32.const 0 + local.get $0 + local.get $2 + i32.sub + local.tee $3 + i32.store offset=1055540 + i32.const 0 + i32.const 0 + i32.load offset=1055548 + local.tee $0 + local.get $2 + i32.add + local.tee $4 + i32.store offset=1055548 + local.get $4 + local.get $3 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $2 + i32.const 3 + i32.or + i32.store offset=4 + local.get $0 + i32.const 8 + i32.add + return + end ;; $block_133 + local.get $3 + return + end ;; $block_132 + i32.const 28 + local.set $9 + br $loop_7 + end ;; $block_131 + i32.const 0 + local.set $9 + br $loop_7 + end ;; $block_130 + i32.const 0 + local.set $9 + br $loop_7 + end ;; $block_129 + i32.const 20 + local.set $9 + br $loop_7 + end ;; $block_128 + i32.const 17 + local.set $9 + br $loop_7 + end ;; $block_127 + i32.const 4 + local.set $9 + br $loop_7 + end ;; $block_126 + i32.const 17 + local.set $9 + br $loop_7 + end ;; $block_125 + i32.const 4 + local.set $9 + br $loop_7 + end ;; $block_124 + i32.const 17 + local.set $9 + br $loop_7 + end ;; $block_123 + i32.const 18 + local.set $9 + br $loop_7 + end ;; $block_122 + i32.const 17 + local.set $9 + br $loop_7 + end ;; $block_121 + i32.const 6 + local.set $9 + br $loop_7 + end ;; $block_120 + i32.const 19 + local.set $9 + br $loop_7 + end ;; $block_119 + i32.const 8 + local.set $9 + br $loop_7 + end ;; $block_118 + i32.const 17 + local.set $9 + br $loop_7 + end ;; $block_117 + i32.const 10 + local.set $9 + br $loop_7 + end ;; $block_116 + i32.const 16 + local.set $9 + br $loop_7 + end ;; $block_115 + i32.const 10 + local.set $9 + br $loop_7 + end ;; $block_114 + i32.const 14 + local.set $9 + br $loop_7 + end ;; $block_113 + i32.const 15 + local.set $9 + br $loop_7 + end ;; $block_112 + i32.const 13 + local.set $9 + br $loop_7 + end ;; $block_111 + i32.const 26 + local.set $9 + br $loop_7 + end ;; $block_110 + i32.const 24 + local.set $9 + br $loop_7 + end ;; $block_109 + i32.const 22 + local.set $9 + br $loop_7 + end ;; $block_108 + i32.const 22 + local.set $9 + br $loop_7 + end ;; $block_107 + i32.const 25 + local.set $9 + br $loop_7 + end ;; $block_106 + i32.const 28 + local.set $9 + br $loop_7 + end ;; $block_105 + i32.const 30 + local.set $9 + br $loop_7 + end ;; $block_104 + i32.const 46 + local.set $9 + br $loop_7 + end ;; $block_103 + i32.const 33 + local.set $9 + br $loop_7 + end ;; $block_102 + i32.const 36 + local.set $9 + br $loop_7 + end ;; $block_101 + i32.const 36 + local.set $9 + br $loop_7 + end ;; $block_100 + i32.const 48 + local.set $9 + br $loop_7 + end ;; $block_99 + i32.const 38 + local.set $9 + br $loop_7 + end ;; $block_98 + i32.const 39 + local.set $9 + br $loop_7 + end ;; $block_97 + i32.const 44 + local.set $9 + br $loop_7 + end ;; $block_96 + i32.const 41 + local.set $9 + br $loop_7 + end ;; $block_95 + i32.const 42 + local.set $9 + br $loop_7 + end ;; $block_94 + i32.const 43 + local.set $9 + br $loop_7 + end ;; $block_93 + i32.const 42 + local.set $9 + br $loop_7 + end ;; $block_92 + i32.const 43 + local.set $9 + br $loop_7 + end ;; $block_91 + i32.const 42 + local.set $9 + br $loop_7 + end ;; $block_90 + i32.const 45 + local.set $9 + br $loop_7 + end ;; $block_89 + i32.const 52 + local.set $9 + br $loop_7 + end ;; $block_88 + i32.const 51 + local.set $9 + br $loop_7 + end ;; $loop_7 + ) + + (func $dlmalloc::dlmalloc::Dlmalloc::dispose_chunk::hf54af7e93e82e2ab (type $0) + (param $0 i32) + (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $0 + local.get $1 + i32.add + local.set $2 + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + block $block_6 + block $block_7 + block $block_8 + block $block_9 + block $block_10 + block $block_11 + local.get $0 + i32.load offset=4 + local.tee $3 + i32.const 1 + i32.and + br_if $block_11 + local.get $3 + i32.const 3 + i32.and + i32.eqz + br_if $block_7 + local.get $0 + i32.load + local.tee $3 + local.get $1 + i32.add + local.set $1 + block $block_12 + block $block_13 + block $block_14 + block $block_15 + block $block_16 + i32.const 0 + i32.load offset=1055544 + local.get $0 + local.get $3 + i32.sub + local.tee $0 + i32.eq + br_if $block_16 + local.get $3 + i32.const 255 + i32.gt_u + br_if $block_15 + local.get $0 + i32.load offset=12 + local.tee $4 + local.get $0 + i32.load offset=8 + local.tee $5 + i32.eq + br_if $block_14 + local.get $5 + local.get $4 + i32.store offset=12 + local.get $4 + local.get $5 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.tee $3 + i32.const 2 + i32.and + i32.eqz + br_if $block_8 + br $block_9 + end ;; $block_16 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + br_if $block_11 + i32.const 0 + local.get $1 + i32.store offset=1055536 + local.get $2 + i32.const 4 + i32.add + local.tee $3 + local.get $3 + i32.load + i32.const -2 + i32.and + i32.store + local.get $0 + local.get $1 + i32.const 1 + i32.or + i32.store offset=4 + local.get $2 + local.get $1 + i32.store + return + end ;; $block_15 + local.get $0 + i32.load offset=24 + local.set $6 + local.get $0 + i32.load offset=12 + local.tee $4 + local.get $0 + i32.eq + br_if $block_13 + local.get $0 + i32.load offset=8 + local.tee $3 + local.get $4 + i32.store offset=12 + local.get $4 + local.get $3 + i32.store offset=8 + local.get $6 + br_if $block_12 + br $block_11 + end ;; $block_14 + i32.const 0 + i32.const 0 + i32.load offset=1055136 + i32.const -2 + local.get $3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1055136 + local.get $2 + i32.load offset=4 + local.tee $3 + i32.const 2 + i32.and + i32.eqz + br_if $block_8 + br $block_9 + end ;; $block_13 + block $block_17 + local.get $0 + i32.const 20 + i32.const 16 + local.get $0 + i32.load offset=20 + local.tee $4 + select + i32.add + i32.load + local.tee $3 + i32.eqz + br_if $block_17 + local.get $0 + i32.const 20 + i32.add + local.get $0 + i32.const 16 + i32.add + local.get $4 + select + local.set $5 + block $block_18 + loop $loop + local.get $5 + local.set $7 + block $block_19 + local.get $3 + local.tee $4 + i32.const 20 + i32.add + local.tee $5 + i32.load + local.tee $3 + i32.eqz + br_if $block_19 + local.get $3 + br_if $loop + br $block_18 + end ;; $block_19 + local.get $4 + i32.const 16 + i32.add + local.set $5 + local.get $4 + i32.load offset=16 + local.tee $3 + br_if $loop + end ;; $loop + end ;; $block_18 + local.get $7 + i32.const 0 + i32.store + local.get $6 + br_if $block_12 + br $block_11 + end ;; $block_17 + i32.const 0 + local.set $4 + local.get $6 + i32.eqz + br_if $block_11 + end ;; $block_12 + block $block_20 + block $block_21 + local.get $0 + i32.load offset=28 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.tee $3 + i32.load + local.get $0 + i32.eq + br_if $block_21 + local.get $6 + i32.const 16 + i32.const 20 + local.get $6 + i32.load offset=16 + local.get $0 + i32.eq + select + i32.add + local.get $4 + i32.store + local.get $4 + br_if $block_20 + br $block_11 + end ;; $block_21 + local.get $3 + local.get $4 + i32.store + local.get $4 + i32.eqz + br_if $block_10 + end ;; $block_20 + local.get $4 + local.get $6 + i32.store offset=24 + block $block_22 + local.get $0 + i32.load offset=16 + local.tee $3 + i32.eqz + br_if $block_22 + local.get $4 + local.get $3 + i32.store offset=16 + local.get $3 + local.get $4 + i32.store offset=24 + end ;; $block_22 + local.get $0 + i32.load offset=20 + local.tee $3 + i32.eqz + br_if $block_11 + local.get $4 + i32.const 20 + i32.add + local.get $3 + i32.store + local.get $3 + local.get $4 + i32.store offset=24 + end ;; $block_11 + local.get $2 + i32.load offset=4 + local.tee $3 + i32.const 2 + i32.and + br_if $block_9 + br $block_8 + end ;; $block_10 + i32.const 0 + i32.const 0 + i32.load offset=1055140 + i32.const -2 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.rotl + i32.and + i32.store offset=1055140 + local.get $2 + i32.load offset=4 + local.tee $3 + i32.const 2 + i32.and + i32.eqz + br_if $block_8 + end ;; $block_9 + local.get $2 + i32.const 4 + i32.add + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $0 + local.get $1 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $1 + i32.add + local.get $1 + i32.store + br $block + end ;; $block_8 + block $block_23 + i32.const 0 + i32.load offset=1055548 + local.get $2 + i32.eq + br_if $block_23 + i32.const 0 + i32.load offset=1055544 + local.get $2 + i32.eq + br_if $block_6 + local.get $3 + i32.const -8 + i32.and + local.tee $4 + local.get $1 + i32.add + local.set $1 + local.get $4 + i32.const 255 + i32.gt_u + br_if $block_5 + local.get $2 + i32.load offset=12 + local.tee $4 + local.get $2 + i32.load offset=8 + local.tee $2 + i32.eq + br_if $block_3 + local.get $2 + local.get $4 + i32.store offset=12 + local.get $4 + local.get $2 + i32.store offset=8 + br $block_0 + end ;; $block_23 + i32.const 0 + local.get $0 + i32.store offset=1055548 + i32.const 0 + i32.const 0 + i32.load offset=1055540 + local.get $1 + i32.add + local.tee $1 + i32.store offset=1055540 + local.get $0 + local.get $1 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + i32.const 0 + i32.load offset=1055544 + i32.eq + br_if $block_4 + end ;; $block_7 + return + end ;; $block_6 + i32.const 0 + local.get $0 + i32.store offset=1055544 + i32.const 0 + i32.const 0 + i32.load offset=1055536 + local.get $1 + i32.add + local.tee $1 + i32.store offset=1055536 + local.get $0 + local.get $1 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $1 + i32.add + local.get $1 + i32.store + return + end ;; $block_5 + local.get $2 + i32.load offset=24 + local.set $6 + local.get $2 + i32.load offset=12 + local.tee $4 + local.get $2 + i32.eq + br_if $block_2 + local.get $2 + i32.load offset=8 + local.tee $3 + local.get $4 + i32.store offset=12 + local.get $4 + local.get $3 + i32.store offset=8 + local.get $6 + br_if $block_1 + br $block_0 + end ;; $block_4 + i32.const 0 + i32.const 0 + i32.store offset=1055536 + i32.const 0 + i32.const 0 + i32.store offset=1055544 + return + end ;; $block_3 + i32.const 0 + i32.const 0 + i32.load offset=1055136 + i32.const -2 + local.get $3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1055136 + br $block_0 + end ;; $block_2 + block $block_24 + local.get $2 + i32.const 20 + i32.const 16 + local.get $2 + i32.load offset=20 + local.tee $4 + select + i32.add + i32.load + local.tee $3 + i32.eqz + br_if $block_24 + local.get $2 + i32.const 20 + i32.add + local.get $2 + i32.const 16 + i32.add + local.get $4 + select + local.set $5 + block $block_25 + loop $loop_0 + local.get $5 + local.set $7 + block $block_26 + local.get $3 + local.tee $4 + i32.const 20 + i32.add + local.tee $5 + i32.load + local.tee $3 + i32.eqz + br_if $block_26 + local.get $3 + br_if $loop_0 + br $block_25 + end ;; $block_26 + local.get $4 + i32.const 16 + i32.add + local.set $5 + local.get $4 + i32.load offset=16 + local.tee $3 + br_if $loop_0 + end ;; $loop_0 + end ;; $block_25 + local.get $7 + i32.const 0 + i32.store + local.get $6 + br_if $block_1 + br $block_0 + end ;; $block_24 + i32.const 0 + local.set $4 + local.get $6 + i32.eqz + br_if $block_0 + end ;; $block_1 + block $block_27 + block $block_28 + block $block_29 + local.get $2 + i32.load offset=28 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.tee $3 + i32.load + local.get $2 + i32.eq + br_if $block_29 + local.get $6 + i32.const 16 + i32.const 20 + local.get $6 + i32.load offset=16 + local.get $2 + i32.eq + select + i32.add + local.get $4 + i32.store + local.get $4 + br_if $block_28 + br $block_0 + end ;; $block_29 + local.get $3 + local.get $4 + i32.store + local.get $4 + i32.eqz + br_if $block_27 + end ;; $block_28 + local.get $4 + local.get $6 + i32.store offset=24 + block $block_30 + local.get $2 + i32.load offset=16 + local.tee $3 + i32.eqz + br_if $block_30 + local.get $4 + local.get $3 + i32.store offset=16 + local.get $3 + local.get $4 + i32.store offset=24 + end ;; $block_30 + local.get $2 + i32.load offset=20 + local.tee $2 + i32.eqz + br_if $block_0 + local.get $4 + i32.const 20 + i32.add + local.get $2 + i32.store + local.get $2 + local.get $4 + i32.store offset=24 + br $block_0 + end ;; $block_27 + i32.const 0 + i32.const 0 + i32.load offset=1055140 + i32.const -2 + local.get $2 + i32.const 28 + i32.add + i32.load + i32.rotl + i32.and + i32.store offset=1055140 + end ;; $block_0 + local.get $0 + local.get $1 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $1 + i32.add + local.get $1 + i32.store + local.get $0 + i32.const 0 + i32.load offset=1055544 + i32.ne + br_if $block + i32.const 0 + local.get $1 + i32.store offset=1055536 + return + end ;; $block + block $block_31 + block $block_32 + block $block_33 + block $block_34 + block $block_35 + block $block_36 + block $block_37 + local.get $1 + i32.const 255 + i32.gt_u + br_if $block_37 + local.get $1 + i32.const 3 + i32.shr_u + local.tee $2 + i32.const 3 + i32.shl + i32.const 1055144 + i32.add + local.set $1 + i32.const 0 + i32.load offset=1055136 + local.tee $3 + i32.const 1 + local.get $2 + i32.const 31 + i32.and + i32.shl + local.tee $2 + i32.and + i32.eqz + br_if $block_36 + local.get $1 + i32.load offset=8 + local.set $2 + br $block_35 + end ;; $block_37 + i32.const 0 + local.set $2 + block $block_38 + local.get $1 + i32.const 8 + i32.shr_u + local.tee $3 + i32.eqz + br_if $block_38 + i32.const 31 + local.set $2 + local.get $1 + i32.const 16777215 + i32.gt_u + br_if $block_38 + local.get $1 + i32.const 38 + local.get $3 + i32.clz + local.tee $2 + i32.sub + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.const 31 + local.get $2 + i32.sub + i32.const 1 + i32.shl + i32.or + local.set $2 + end ;; $block_38 + local.get $0 + i64.const 0 + i64.store offset=16 align=4 + local.get $0 + i32.const 28 + i32.add + local.get $2 + i32.store + local.get $2 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.set $3 + i32.const 0 + i32.load offset=1055140 + local.tee $4 + i32.const 1 + local.get $2 + i32.const 31 + i32.and + i32.shl + local.tee $5 + i32.and + i32.eqz + br_if $block_34 + local.get $3 + i32.load + local.tee $4 + i32.load offset=4 + i32.const -8 + i32.and + local.get $1 + i32.ne + br_if $block_33 + local.get $4 + local.set $2 + br $block_32 + end ;; $block_36 + i32.const 0 + local.get $3 + local.get $2 + i32.or + i32.store offset=1055136 + local.get $1 + local.set $2 + end ;; $block_35 + local.get $1 + i32.const 8 + i32.add + local.get $0 + i32.store + local.get $2 + local.get $0 + i32.store offset=12 + local.get $0 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $2 + i32.store offset=8 + return + end ;; $block_34 + i32.const 0 + local.get $4 + local.get $5 + i32.or + i32.store offset=1055140 + local.get $3 + local.get $0 + i32.store + local.get $0 + i32.const 24 + i32.add + local.get $3 + i32.store + local.get $0 + local.get $0 + i32.store offset=12 + local.get $0 + local.get $0 + i32.store offset=8 + return + end ;; $block_33 + local.get $1 + i32.const 0 + i32.const 25 + local.get $2 + i32.const 1 + i32.shr_u + i32.sub + i32.const 31 + i32.and + local.get $2 + i32.const 31 + i32.eq + select + i32.shl + local.set $3 + loop $loop_1 + local.get $4 + local.get $3 + i32.const 29 + i32.shr_u + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee $5 + i32.load + local.tee $2 + i32.eqz + br_if $block_31 + local.get $3 + i32.const 1 + i32.shl + local.set $3 + local.get $2 + local.set $4 + local.get $2 + i32.load offset=4 + i32.const -8 + i32.and + local.get $1 + i32.ne + br_if $loop_1 + end ;; $loop_1 + end ;; $block_32 + local.get $2 + i32.load offset=8 + local.tee $1 + local.get $0 + i32.store offset=12 + local.get $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 24 + i32.add + i32.const 0 + i32.store + local.get $0 + local.get $2 + i32.store offset=12 + local.get $0 + local.get $1 + i32.store offset=8 + return + end ;; $block_31 + local.get $5 + local.get $0 + i32.store + local.get $0 + i32.const 24 + i32.add + local.get $4 + i32.store + local.get $0 + local.get $0 + i32.store offset=12 + local.get $0 + local.get $0 + i32.store offset=8 + ) + + (func $__rdl_dealloc (type $5) + (param $0 i32) + local.get $0 + call $dlmalloc::dlmalloc::Dlmalloc::free::h36961b6fbcc40c05 + ) + + (func $dlmalloc::dlmalloc::Dlmalloc::free::h36961b6fbcc40c05 (type $5) + (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $0 + i32.const -8 + i32.add + local.tee $1 + local.get $0 + i32.const -4 + i32.add + i32.load + local.tee $2 + i32.const -8 + i32.and + local.tee $0 + i32.add + local.set $3 + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + local.get $2 + i32.const 1 + i32.and + br_if $block_5 + local.get $2 + i32.const 3 + i32.and + i32.eqz + br_if $block + local.get $1 + i32.load + local.tee $2 + local.get $0 + i32.add + local.set $0 + block $block_6 + block $block_7 + block $block_8 + block $block_9 + block $block_10 + i32.const 0 + i32.load offset=1055544 + local.get $1 + local.get $2 + i32.sub + local.tee $1 + i32.eq + br_if $block_10 + local.get $2 + i32.const 255 + i32.gt_u + br_if $block_9 + local.get $1 + i32.load offset=12 + local.tee $4 + local.get $1 + i32.load offset=8 + local.tee $5 + i32.eq + br_if $block_8 + local.get $5 + local.get $4 + i32.store offset=12 + local.get $4 + local.get $5 + i32.store offset=8 + local.get $3 + i32.load offset=4 + local.tee $2 + i32.const 2 + i32.and + i32.eqz + br_if $block_2 + br $block_3 + end ;; $block_10 + local.get $3 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + br_if $block_5 + i32.const 0 + local.get $0 + i32.store offset=1055536 + local.get $3 + i32.const 4 + i32.add + local.tee $3 + local.get $3 + i32.load + i32.const -2 + i32.and + i32.store + local.get $1 + local.get $0 + i32.const 1 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.add + local.get $0 + i32.store + return + end ;; $block_9 + local.get $1 + i32.load offset=24 + local.set $6 + local.get $1 + i32.load offset=12 + local.tee $4 + local.get $1 + i32.eq + br_if $block_7 + local.get $1 + i32.load offset=8 + local.tee $2 + local.get $4 + i32.store offset=12 + local.get $4 + local.get $2 + i32.store offset=8 + local.get $6 + br_if $block_6 + br $block_5 + end ;; $block_8 + i32.const 0 + i32.const 0 + i32.load offset=1055136 + i32.const -2 + local.get $2 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1055136 + local.get $3 + i32.load offset=4 + local.tee $2 + i32.const 2 + i32.and + i32.eqz + br_if $block_2 + br $block_3 + end ;; $block_7 + block $block_11 + local.get $1 + i32.const 20 + i32.const 16 + local.get $1 + i32.load offset=20 + local.tee $4 + select + i32.add + i32.load + local.tee $2 + i32.eqz + br_if $block_11 + local.get $1 + i32.const 20 + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $4 + select + local.set $5 + block $block_12 + loop $loop + local.get $5 + local.set $7 + block $block_13 + local.get $2 + local.tee $4 + i32.const 20 + i32.add + local.tee $5 + i32.load + local.tee $2 + i32.eqz + br_if $block_13 + local.get $2 + br_if $loop + br $block_12 + end ;; $block_13 + local.get $4 + i32.const 16 + i32.add + local.set $5 + local.get $4 + i32.load offset=16 + local.tee $2 + br_if $loop + end ;; $loop + end ;; $block_12 + local.get $7 + i32.const 0 + i32.store + local.get $6 + br_if $block_6 + br $block_5 + end ;; $block_11 + i32.const 0 + local.set $4 + local.get $6 + i32.eqz + br_if $block_5 + end ;; $block_6 + block $block_14 + block $block_15 + local.get $1 + i32.load offset=28 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.tee $2 + i32.load + local.get $1 + i32.eq + br_if $block_15 + local.get $6 + i32.const 16 + i32.const 20 + local.get $6 + i32.load offset=16 + local.get $1 + i32.eq + select + i32.add + local.get $4 + i32.store + local.get $4 + br_if $block_14 + br $block_5 + end ;; $block_15 + local.get $2 + local.get $4 + i32.store + local.get $4 + i32.eqz + br_if $block_4 + end ;; $block_14 + local.get $4 + local.get $6 + i32.store offset=24 + block $block_16 + local.get $1 + i32.load offset=16 + local.tee $2 + i32.eqz + br_if $block_16 + local.get $4 + local.get $2 + i32.store offset=16 + local.get $2 + local.get $4 + i32.store offset=24 + end ;; $block_16 + local.get $1 + i32.load offset=20 + local.tee $2 + i32.eqz + br_if $block_5 + local.get $4 + i32.const 20 + i32.add + local.get $2 + i32.store + local.get $2 + local.get $4 + i32.store offset=24 + end ;; $block_5 + local.get $3 + i32.load offset=4 + local.tee $2 + i32.const 2 + i32.and + br_if $block_3 + br $block_2 + end ;; $block_4 + i32.const 0 + i32.const 0 + i32.load offset=1055140 + i32.const -2 + local.get $1 + i32.const 28 + i32.add + i32.load + i32.rotl + i32.and + i32.store offset=1055140 + local.get $3 + i32.load offset=4 + local.tee $2 + i32.const 2 + i32.and + i32.eqz + br_if $block_2 + end ;; $block_3 + local.get $3 + i32.const 4 + i32.add + local.get $2 + i32.const -2 + i32.and + i32.store + local.get $1 + local.get $0 + i32.const 1 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.add + local.get $0 + i32.store + br $block_1 + end ;; $block_2 + block $block_17 + block $block_18 + block $block_19 + block $block_20 + block $block_21 + block $block_22 + block $block_23 + block $block_24 + i32.const 0 + i32.load offset=1055548 + local.get $3 + i32.eq + br_if $block_24 + i32.const 0 + i32.load offset=1055544 + local.get $3 + i32.eq + br_if $block_23 + local.get $2 + i32.const -8 + i32.and + local.tee $4 + local.get $0 + i32.add + local.set $0 + local.get $4 + i32.const 255 + i32.gt_u + br_if $block_22 + local.get $3 + i32.load offset=12 + local.tee $4 + local.get $3 + i32.load offset=8 + local.tee $3 + i32.eq + br_if $block_20 + local.get $3 + local.get $4 + i32.store offset=12 + local.get $4 + local.get $3 + i32.store offset=8 + br $block_17 + end ;; $block_24 + i32.const 0 + local.get $1 + i32.store offset=1055548 + i32.const 0 + i32.const 0 + i32.load offset=1055540 + local.get $0 + i32.add + local.tee $0 + i32.store offset=1055540 + local.get $1 + local.get $0 + i32.const 1 + i32.or + i32.store offset=4 + local.get $1 + i32.const 0 + i32.load offset=1055544 + i32.eq + br_if $block_21 + i32.const 0 + local.set $1 + i32.const 0 + i32.load offset=1055576 + local.tee $2 + local.get $0 + i32.ge_u + br_if $block + br $block_0 + end ;; $block_23 + i32.const 0 + local.get $1 + i32.store offset=1055544 + i32.const 0 + i32.const 0 + i32.load offset=1055536 + local.get $0 + i32.add + local.tee $0 + i32.store offset=1055536 + local.get $1 + local.get $0 + i32.const 1 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.add + local.get $0 + i32.store + return + end ;; $block_22 + local.get $3 + i32.load offset=24 + local.set $6 + local.get $3 + i32.load offset=12 + local.tee $4 + local.get $3 + i32.eq + br_if $block_19 + local.get $3 + i32.load offset=8 + local.tee $2 + local.get $4 + i32.store offset=12 + local.get $4 + local.get $2 + i32.store offset=8 + local.get $6 + br_if $block_18 + br $block_17 + end ;; $block_21 + i32.const 0 + i32.const 0 + i32.store offset=1055536 + i32.const 0 + i32.const 0 + i32.store offset=1055544 + i32.const 0 + local.set $1 + i32.const 0 + i32.load offset=1055576 + local.tee $2 + local.get $0 + i32.lt_u + br_if $block_0 + br $block + end ;; $block_20 + i32.const 0 + i32.const 0 + i32.load offset=1055136 + i32.const -2 + local.get $2 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1055136 + br $block_17 + end ;; $block_19 + block $block_25 + local.get $3 + i32.const 20 + i32.const 16 + local.get $3 + i32.load offset=20 + local.tee $4 + select + i32.add + i32.load + local.tee $2 + i32.eqz + br_if $block_25 + local.get $3 + i32.const 20 + i32.add + local.get $3 + i32.const 16 + i32.add + local.get $4 + select + local.set $5 + block $block_26 + loop $loop_0 + local.get $5 + local.set $7 + block $block_27 + local.get $2 + local.tee $4 + i32.const 20 + i32.add + local.tee $5 + i32.load + local.tee $2 + i32.eqz + br_if $block_27 + local.get $2 + br_if $loop_0 + br $block_26 + end ;; $block_27 + local.get $4 + i32.const 16 + i32.add + local.set $5 + local.get $4 + i32.load offset=16 + local.tee $2 + br_if $loop_0 + end ;; $loop_0 + end ;; $block_26 + local.get $7 + i32.const 0 + i32.store + local.get $6 + br_if $block_18 + br $block_17 + end ;; $block_25 + i32.const 0 + local.set $4 + local.get $6 + i32.eqz + br_if $block_17 + end ;; $block_18 + block $block_28 + block $block_29 + block $block_30 + local.get $3 + i32.load offset=28 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.tee $2 + i32.load + local.get $3 + i32.eq + br_if $block_30 + local.get $6 + i32.const 16 + i32.const 20 + local.get $6 + i32.load offset=16 + local.get $3 + i32.eq + select + i32.add + local.get $4 + i32.store + local.get $4 + br_if $block_29 + br $block_17 + end ;; $block_30 + local.get $2 + local.get $4 + i32.store + local.get $4 + i32.eqz + br_if $block_28 + end ;; $block_29 + local.get $4 + local.get $6 + i32.store offset=24 + block $block_31 + local.get $3 + i32.load offset=16 + local.tee $2 + i32.eqz + br_if $block_31 + local.get $4 + local.get $2 + i32.store offset=16 + local.get $2 + local.get $4 + i32.store offset=24 + end ;; $block_31 + local.get $3 + i32.load offset=20 + local.tee $3 + i32.eqz + br_if $block_17 + local.get $4 + i32.const 20 + i32.add + local.get $3 + i32.store + local.get $3 + local.get $4 + i32.store offset=24 + br $block_17 + end ;; $block_28 + i32.const 0 + i32.const 0 + i32.load offset=1055140 + i32.const -2 + local.get $3 + i32.const 28 + i32.add + i32.load + i32.rotl + i32.and + i32.store offset=1055140 + end ;; $block_17 + local.get $1 + local.get $0 + i32.const 1 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.add + local.get $0 + i32.store + local.get $1 + i32.const 0 + i32.load offset=1055544 + i32.ne + br_if $block_1 + i32.const 0 + local.get $0 + i32.store offset=1055536 + return + end ;; $block_1 + block $block_32 + block $block_33 + block $block_34 + block $block_35 + block $block_36 + block $block_37 + block $block_38 + block $block_39 + block $block_40 + local.get $0 + i32.const 255 + i32.gt_u + br_if $block_40 + local.get $0 + i32.const 3 + i32.shr_u + local.tee $3 + i32.const 3 + i32.shl + i32.const 1055144 + i32.add + local.set $0 + i32.const 0 + i32.load offset=1055136 + local.tee $2 + i32.const 1 + local.get $3 + i32.const 31 + i32.and + i32.shl + local.tee $3 + i32.and + i32.eqz + br_if $block_39 + local.get $0 + i32.const 8 + i32.add + local.set $2 + local.get $0 + i32.load offset=8 + local.set $3 + br $block_38 + end ;; $block_40 + i32.const 0 + local.set $3 + block $block_41 + local.get $0 + i32.const 8 + i32.shr_u + local.tee $2 + i32.eqz + br_if $block_41 + i32.const 31 + local.set $3 + local.get $0 + i32.const 16777215 + i32.gt_u + br_if $block_41 + local.get $0 + i32.const 38 + local.get $2 + i32.clz + local.tee $3 + i32.sub + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.const 31 + local.get $3 + i32.sub + i32.const 1 + i32.shl + i32.or + local.set $3 + end ;; $block_41 + local.get $1 + i64.const 0 + i64.store offset=16 align=4 + local.get $1 + i32.const 28 + i32.add + local.get $3 + i32.store + local.get $3 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.set $2 + i32.const 0 + i32.load offset=1055140 + local.tee $4 + i32.const 1 + local.get $3 + i32.const 31 + i32.and + i32.shl + local.tee $5 + i32.and + i32.eqz + br_if $block_37 + local.get $2 + i32.load + local.tee $4 + i32.load offset=4 + i32.const -8 + i32.and + local.get $0 + i32.ne + br_if $block_36 + local.get $4 + local.set $3 + br $block_35 + end ;; $block_39 + i32.const 0 + local.get $2 + local.get $3 + i32.or + i32.store offset=1055136 + local.get $0 + i32.const 8 + i32.add + local.set $2 + local.get $0 + local.set $3 + end ;; $block_38 + local.get $2 + local.get $1 + i32.store + local.get $3 + local.get $1 + i32.store offset=12 + local.get $1 + local.get $0 + i32.store offset=12 + local.get $1 + local.get $3 + i32.store offset=8 + return + end ;; $block_37 + i32.const 0 + local.get $4 + local.get $5 + i32.or + i32.store offset=1055140 + local.get $2 + local.get $1 + i32.store + local.get $1 + i32.const 24 + i32.add + local.get $2 + i32.store + br $block_33 + end ;; $block_36 + local.get $0 + i32.const 0 + i32.const 25 + local.get $3 + i32.const 1 + i32.shr_u + i32.sub + i32.const 31 + i32.and + local.get $3 + i32.const 31 + i32.eq + select + i32.shl + local.set $2 + loop $loop_1 + local.get $4 + local.get $2 + i32.const 29 + i32.shr_u + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee $5 + i32.load + local.tee $3 + i32.eqz + br_if $block_34 + local.get $2 + i32.const 1 + i32.shl + local.set $2 + local.get $3 + local.set $4 + local.get $3 + i32.load offset=4 + i32.const -8 + i32.and + local.get $0 + i32.ne + br_if $loop_1 + end ;; $loop_1 + end ;; $block_35 + local.get $3 + i32.load offset=8 + local.tee $0 + local.get $1 + i32.store offset=12 + local.get $3 + local.get $1 + i32.store offset=8 + local.get $1 + i32.const 24 + i32.add + i32.const 0 + i32.store + local.get $1 + local.get $3 + i32.store offset=12 + local.get $1 + local.get $0 + i32.store offset=8 + br $block_32 + end ;; $block_34 + local.get $5 + local.get $1 + i32.store + local.get $1 + i32.const 24 + i32.add + local.get $4 + i32.store + end ;; $block_33 + local.get $1 + local.get $1 + i32.store offset=12 + local.get $1 + local.get $1 + i32.store offset=8 + end ;; $block_32 + i32.const 0 + i32.const 0 + i32.load offset=1055584 + i32.const -1 + i32.add + local.tee $1 + i32.store offset=1055584 + local.get $1 + br_if $block + block $block_42 + i32.const 0 + i32.load offset=1055568 + local.tee $0 + i32.eqz + br_if $block_42 + i32.const 0 + local.set $1 + loop $loop_2 + local.get $1 + i32.const 1 + i32.add + local.set $1 + local.get $0 + i32.load offset=8 + local.tee $0 + br_if $loop_2 + end ;; $loop_2 + i32.const 0 + local.get $1 + i32.const 4095 + local.get $1 + i32.const 4095 + i32.gt_u + select + i32.store offset=1055584 + return + end ;; $block_42 + i32.const 0 + i32.const 4095 + i32.store offset=1055584 + return + end ;; $block_0 + local.get $1 + i32.load offset=1055548 + local.tee $0 + i32.eqz + br_if $block + block $block_43 + i32.const 0 + i32.load offset=1055540 + local.tee $4 + i32.const 41 + i32.lt_u + br_if $block_43 + i32.const 1055560 + local.set $1 + loop $loop_3 + block $block_44 + local.get $1 + i32.load + local.tee $3 + local.get $0 + i32.gt_u + br_if $block_44 + local.get $3 + local.get $1 + i32.load offset=4 + i32.add + local.get $0 + i32.gt_u + br_if $block_43 + end ;; $block_44 + local.get $1 + i32.load offset=8 + local.tee $1 + br_if $loop_3 + end ;; $loop_3 + end ;; $block_43 + block $block_45 + block $block_46 + i32.const 0 + i32.load offset=1055568 + local.tee $0 + i32.eqz + br_if $block_46 + i32.const 0 + local.set $1 + loop $loop_4 + local.get $1 + i32.const 1 + i32.add + local.set $1 + local.get $0 + i32.load offset=8 + local.tee $0 + br_if $loop_4 + end ;; $loop_4 + i32.const 0 + local.set $0 + i32.const 0 + local.get $1 + i32.const 4095 + local.get $1 + i32.const 4095 + i32.gt_u + select + i32.store offset=1055584 + local.get $4 + local.get $2 + i32.gt_u + br_if $block_45 + br $block + end ;; $block_46 + i32.const 0 + local.set $0 + i32.const 0 + i32.const 4095 + i32.store offset=1055584 + local.get $4 + local.get $2 + i32.le_u + br_if $block + end ;; $block_45 + local.get $0 + i32.const -1 + i32.store offset=1055576 + return + end ;; $block + ) + + (func $__rdl_realloc (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + i32.const 0 + local.set $2 + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + block $block_6 + block $block_7 + local.get $1 + i32.const -65 + i32.gt_u + br_if $block_7 + i32.const 16 + local.get $1 + i32.const 11 + i32.add + i32.const -8 + i32.and + local.get $1 + i32.const 11 + i32.lt_u + select + local.set $3 + local.get $0 + i32.const -4 + i32.add + local.tee $4 + i32.load + local.tee $5 + i32.const -8 + i32.and + local.set $6 + block $block_8 + block $block_9 + block $block_10 + block $block_11 + block $block_12 + local.get $5 + i32.const 3 + i32.and + i32.eqz + br_if $block_12 + local.get $0 + i32.const -8 + i32.add + local.tee $7 + local.get $6 + i32.add + local.set $8 + local.get $6 + local.get $3 + i32.ge_u + br_if $block_11 + i32.const 0 + i32.load offset=1055548 + local.get $8 + i32.eq + br_if $block_10 + i32.const 0 + i32.load offset=1055544 + local.get $8 + i32.eq + br_if $block_9 + local.get $8 + i32.load offset=4 + local.tee $5 + i32.const 2 + i32.and + br_if $block_8 + local.get $5 + i32.const -8 + i32.and + local.tee $9 + local.get $6 + i32.add + local.tee $10 + local.get $3 + i32.lt_u + br_if $block_8 + local.get $10 + local.get $3 + i32.sub + local.set $11 + local.get $9 + i32.const 255 + i32.gt_u + br_if $block_5 + local.get $8 + i32.load offset=12 + local.tee $1 + local.get $8 + i32.load offset=8 + local.tee $2 + i32.eq + br_if $block_4 + local.get $2 + local.get $1 + i32.store offset=12 + local.get $1 + local.get $2 + i32.store offset=8 + local.get $11 + i32.const 15 + i32.le_u + br_if $block_0 + br $block + end ;; $block_12 + local.get $3 + i32.const 256 + i32.lt_u + br_if $block_8 + local.get $6 + local.get $3 + i32.const 4 + i32.or + i32.lt_u + br_if $block_8 + local.get $6 + local.get $3 + i32.sub + i32.const 131073 + i32.ge_u + br_if $block_8 + local.get $0 + return + end ;; $block_11 + block $block_13 + local.get $6 + local.get $3 + i32.sub + local.tee $1 + i32.const 16 + i32.ge_u + br_if $block_13 + local.get $0 + return + end ;; $block_13 + local.get $4 + local.get $3 + local.get $5 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get $7 + local.get $3 + i32.add + local.tee $2 + local.get $1 + i32.const 3 + i32.or + i32.store offset=4 + local.get $8 + local.get $8 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $2 + local.get $1 + call $dlmalloc::dlmalloc::Dlmalloc::dispose_chunk::hf54af7e93e82e2ab + local.get $0 + return + end ;; $block_10 + i32.const 0 + i32.load offset=1055540 + local.get $6 + i32.add + local.tee $6 + local.get $3 + i32.le_u + br_if $block_8 + local.get $4 + local.get $3 + local.get $5 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get $7 + local.get $3 + i32.add + local.tee $1 + local.get $6 + local.get $3 + i32.sub + local.tee $2 + i32.const 1 + i32.or + i32.store offset=4 + i32.const 0 + local.get $2 + i32.store offset=1055540 + i32.const 0 + local.get $1 + i32.store offset=1055548 + local.get $0 + return + end ;; $block_9 + i32.const 0 + i32.load offset=1055536 + local.get $6 + i32.add + local.tee $6 + local.get $3 + i32.ge_u + br_if $block_6 + end ;; $block_8 + local.get $1 + call $dlmalloc::dlmalloc::Dlmalloc::malloc::hb5084b40b14605ec + local.tee $3 + i32.eqz + br_if $block_7 + local.get $3 + local.get $0 + local.get $1 + local.get $4 + i32.load + local.tee $2 + i32.const -8 + i32.and + i32.const 4 + i32.const 8 + local.get $2 + i32.const 3 + i32.and + select + i32.sub + local.tee $2 + local.get $2 + local.get $1 + i32.gt_u + select + call $memcpy + local.set $1 + local.get $0 + call $dlmalloc::dlmalloc::Dlmalloc::free::h36961b6fbcc40c05 + local.get $1 + local.set $2 + end ;; $block_7 + local.get $2 + return + end ;; $block_6 + block $block_14 + block $block_15 + local.get $6 + local.get $3 + i32.sub + local.tee $1 + i32.const 16 + i32.ge_u + br_if $block_15 + local.get $4 + local.get $5 + i32.const 1 + i32.and + local.get $6 + i32.or + i32.const 2 + i32.or + i32.store + local.get $7 + local.get $6 + i32.add + local.tee $1 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + i32.const 0 + local.set $1 + i32.const 0 + local.set $2 + br $block_14 + end ;; $block_15 + local.get $4 + local.get $3 + local.get $5 + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get $7 + local.get $3 + i32.add + local.tee $2 + local.get $1 + i32.const 1 + i32.or + i32.store offset=4 + local.get $7 + local.get $6 + i32.add + local.tee $3 + local.get $1 + i32.store + local.get $3 + local.get $3 + i32.load offset=4 + i32.const -2 + i32.and + i32.store offset=4 + end ;; $block_14 + i32.const 0 + local.get $2 + i32.store offset=1055544 + i32.const 0 + local.get $1 + i32.store offset=1055536 + local.get $0 + return + end ;; $block_5 + local.get $8 + i32.load offset=24 + local.set $9 + local.get $8 + i32.load offset=12 + local.tee $2 + local.get $8 + i32.eq + br_if $block_3 + local.get $8 + i32.load offset=8 + local.tee $1 + local.get $2 + i32.store offset=12 + local.get $2 + local.get $1 + i32.store offset=8 + local.get $9 + br_if $block_2 + br $block_1 + end ;; $block_4 + i32.const 0 + i32.const 0 + i32.load offset=1055136 + i32.const -2 + local.get $5 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1055136 + local.get $11 + i32.const 15 + i32.le_u + br_if $block_0 + br $block + end ;; $block_3 + block $block_16 + local.get $8 + i32.const 20 + i32.const 16 + local.get $8 + i32.load offset=20 + local.tee $2 + select + i32.add + i32.load + local.tee $1 + i32.eqz + br_if $block_16 + local.get $8 + i32.const 20 + i32.add + local.get $8 + i32.const 16 + i32.add + local.get $2 + select + local.set $6 + loop $loop + local.get $6 + local.set $5 + block $block_17 + local.get $1 + local.tee $2 + i32.const 20 + i32.add + local.tee $6 + i32.load + local.tee $1 + br_if $block_17 + local.get $2 + i32.const 16 + i32.add + local.set $6 + local.get $2 + i32.load offset=16 + local.set $1 + end ;; $block_17 + local.get $1 + br_if $loop + end ;; $loop + local.get $5 + i32.const 0 + i32.store + local.get $9 + br_if $block_2 + br $block_1 + end ;; $block_16 + i32.const 0 + local.set $2 + local.get $9 + i32.eqz + br_if $block_1 + end ;; $block_2 + block $block_18 + block $block_19 + block $block_20 + local.get $8 + i32.load offset=28 + i32.const 2 + i32.shl + i32.const 1055408 + i32.add + local.tee $1 + i32.load + local.get $8 + i32.eq + br_if $block_20 + local.get $9 + i32.const 16 + i32.const 20 + local.get $9 + i32.load offset=16 + local.get $8 + i32.eq + select + i32.add + local.get $2 + i32.store + local.get $2 + br_if $block_19 + br $block_1 + end ;; $block_20 + local.get $1 + local.get $2 + i32.store + local.get $2 + i32.eqz + br_if $block_18 + end ;; $block_19 + local.get $2 + local.get $9 + i32.store offset=24 + block $block_21 + local.get $8 + i32.load offset=16 + local.tee $1 + i32.eqz + br_if $block_21 + local.get $2 + local.get $1 + i32.store offset=16 + local.get $1 + local.get $2 + i32.store offset=24 + end ;; $block_21 + local.get $8 + i32.load offset=20 + local.tee $1 + i32.eqz + br_if $block_1 + local.get $2 + i32.const 20 + i32.add + local.get $1 + i32.store + local.get $1 + local.get $2 + i32.store offset=24 + local.get $11 + i32.const 15 + i32.le_u + br_if $block_0 + br $block + end ;; $block_18 + i32.const 0 + i32.const 0 + i32.load offset=1055140 + i32.const -2 + local.get $8 + i32.const 28 + i32.add + i32.load + i32.rotl + i32.and + i32.store offset=1055140 + end ;; $block_1 + local.get $11 + i32.const 15 + i32.gt_u + br_if $block + end ;; $block_0 + local.get $4 + local.get $10 + local.get $4 + i32.load + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get $7 + local.get $10 + i32.add + local.tee $1 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + return + end ;; $block + local.get $4 + local.get $3 + local.get $4 + i32.load + i32.const 1 + i32.and + i32.or + i32.const 2 + i32.or + i32.store + local.get $7 + local.get $3 + i32.add + local.tee $1 + local.get $11 + i32.const 3 + i32.or + i32.store offset=4 + local.get $7 + local.get $10 + i32.add + local.tee $2 + local.get $2 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $1 + local.get $11 + call $dlmalloc::dlmalloc::Dlmalloc::dispose_chunk::hf54af7e93e82e2ab + local.get $0 + ) + + (func $rust_begin_unwind (type $5) + (param $0 i32) + local.get $0 + call $std::panicking::continue_panic_fmt::h9d276daacc0ab278 + unreachable + ) + + (func $core::slice::slice_index_len_fail::h7a4ef59ca849a060 (type $0) + (param $0 i32) + (param $1 i32) + (local $2 i32) + global.get $12 + i32.const 48 + i32.sub + local.tee $2 + global.set $12 + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $0 + i32.store + local.get $2 + i32.const 32 + i32.add + i32.const 12 + i32.add + i32.const 6 + i32.store + local.get $2 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get $2 + i32.const 8 + i32.add + i32.const 12 + i32.add + i32.const 2 + i32.store + local.get $2 + i32.const 6 + i32.store offset=36 + local.get $2 + i32.const 1048928 + i32.store offset=16 + local.get $2 + i32.const 2 + i32.store offset=12 + local.get $2 + i32.const 1053192 + i32.store offset=8 + local.get $2 + local.get $2 + i32.const 4 + i32.add + i32.store offset=40 + local.get $2 + local.get $2 + i32.store offset=32 + local.get $2 + local.get $2 + i32.const 32 + i32.add + i32.store offset=24 + local.get $2 + i32.const 8 + i32.add + i32.const 1053208 + call $core::panicking::panic_fmt::h74ee8034b317ceed + unreachable + ) + + (func $core::fmt::num::::fmt::h4f4d56a15c6233ed (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $12 + i32.const 48 + i32.sub + local.tee $2 + global.set $12 + i32.const 39 + local.set $3 + block $block + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + local.get $0 + i32.load + local.tee $0 + i32.const 10000 + i32.lt_u + br_if $block_4 + i32.const 39 + local.set $3 + loop $loop + local.get $2 + i32.const 9 + i32.add + local.get $3 + i32.add + local.tee $4 + i32.const -4 + i32.add + local.get $0 + local.get $0 + i32.const 10000 + i32.div_u + local.tee $5 + i32.const -10000 + i32.mul + i32.add + local.tee $6 + i32.const 100 + i32.div_u + local.tee $7 + i32.const 1 + i32.shl + i32.const 1049050 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get $4 + i32.const -2 + i32.add + local.get $6 + local.get $7 + i32.const -100 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 1049050 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get $3 + i32.const -4 + i32.add + local.set $3 + local.get $0 + i32.const 99999999 + i32.gt_u + local.set $4 + local.get $5 + local.set $0 + local.get $4 + br_if $loop + end ;; $loop + i32.const 100 + local.set $4 + local.get $5 + i32.const 100 + i32.lt_s + br_if $block_3 + br $block_2 + end ;; $block_4 + i32.const 100 + local.set $4 + local.get $0 + local.tee $5 + i32.const 100 + i32.ge_s + br_if $block_2 + end ;; $block_3 + local.get $5 + local.tee $0 + i32.const 9 + i32.gt_s + br_if $block_1 + br $block_0 + end ;; $block_2 + local.get $2 + i32.const 9 + i32.add + local.get $3 + i32.const -2 + i32.add + local.tee $3 + i32.add + local.get $5 + i32.const 65535 + i32.and + local.get $4 + i32.div_u + local.tee $0 + i32.const -100 + i32.mul + local.get $5 + i32.add + i32.const 65535 + i32.and + i32.const 1 + i32.shl + i32.const 1049050 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get $0 + i32.const 9 + i32.le_s + br_if $block_0 + end ;; $block_1 + local.get $2 + i32.const 9 + i32.add + local.get $3 + i32.const -2 + i32.add + local.tee $3 + i32.add + local.tee $5 + local.get $0 + i32.const 1 + i32.shl + i32.const 1049050 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + br $block + end ;; $block_0 + local.get $2 + i32.const 9 + i32.add + local.get $3 + i32.const -1 + i32.add + local.tee $3 + i32.add + local.tee $5 + local.get $0 + i32.const 48 + i32.add + i32.store8 + end ;; $block + local.get $1 + i32.const 1049000 + i32.const 0 + local.get $5 + i32.const 39 + local.get $3 + i32.sub + call $core::fmt::Formatter::pad_integral::hb6042588a2a3edea + local.set $0 + local.get $2 + i32.const 48 + i32.add + global.set $12 + local.get $0 + ) + + (func $core::panicking::panic_bounds_check::h34b80e64d41db052 (type $3) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (local $3 i32) + global.get $12 + i32.const 48 + i32.sub + local.tee $3 + global.set $12 + local.get $3 + local.get $2 + i32.store offset=4 + local.get $3 + local.get $1 + i32.store + local.get $3 + i32.const 32 + i32.add + i32.const 12 + i32.add + i32.const 6 + i32.store + local.get $3 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get $3 + i32.const 8 + i32.add + i32.const 12 + i32.add + i32.const 2 + i32.store + local.get $3 + i32.const 6 + i32.store offset=36 + local.get $3 + i32.const 1048928 + i32.store offset=16 + local.get $3 + i32.const 2 + i32.store offset=12 + local.get $3 + i32.const 1053160 + i32.store offset=8 + local.get $3 + local.get $3 + i32.store offset=40 + local.get $3 + local.get $3 + i32.const 4 + i32.add + i32.store offset=32 + local.get $3 + local.get $3 + i32.const 32 + i32.add + i32.store offset=24 + local.get $3 + i32.const 8 + i32.add + local.get $0 + call $core::panicking::panic_fmt::h74ee8034b317ceed + unreachable + ) + + (func $core::fmt::Formatter::pad_integral::hb6042588a2a3edea (type $7) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (param $3 i32) + (param $4 i32) + (result i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + global.get $12 + i32.const 16 + i32.sub + local.tee $5 + global.set $12 + local.get $0 + i32.load + local.tee $6 + i32.const 1 + i32.and + local.tee $7 + local.get $4 + i32.add + local.set $8 + block $block + local.get $6 + i32.const 4 + i32.and + local.tee $9 + i32.eqz + br_if $block + i32.const 0 + local.set $10 + block $block_0 + local.get $2 + i32.eqz + br_if $block_0 + local.get $2 + local.set $11 + local.get $1 + local.set $12 + loop $loop + local.get $10 + local.get $12 + i32.load8_u + i32.const 192 + i32.and + i32.const 128 + i32.eq + i32.add + local.set $10 + local.get $12 + i32.const 1 + i32.add + local.set $12 + local.get $11 + i32.const -1 + i32.add + local.tee $11 + br_if $loop + end ;; $loop + end ;; $block_0 + local.get $8 + local.get $2 + i32.add + local.get $10 + i32.sub + local.set $8 + end ;; $block + i32.const 43 + i32.const 1114112 + local.get $7 + select + local.set $13 + local.get $9 + i32.const 2 + i32.shr_u + local.set $9 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + block $block_6 + block $block_7 + block $block_8 + block $block_9 + block $block_10 + block $block_11 + block $block_12 + block $block_13 + block $block_14 + block $block_15 + block $block_16 + block $block_17 + block $block_18 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.ne + br_if $block_18 + local.get $0 + i32.const 12 + i32.add + i32.load + local.tee $10 + local.get $8 + i32.le_u + br_if $block_17 + local.get $6 + i32.const 8 + i32.and + br_if $block_16 + local.get $10 + local.get $8 + i32.sub + local.set $11 + i32.const 1 + local.get $0 + i32.load8_u offset=48 + local.tee $12 + local.get $12 + i32.const 3 + i32.eq + select + i32.const 3 + i32.and + local.tee $12 + i32.eqz + br_if $block_15 + local.get $12 + i32.const 2 + i32.eq + br_if $block_14 + i32.const 0 + local.set $8 + br $block_13 + end ;; $block_18 + block $block_19 + local.get $7 + i32.eqz + br_if $block_19 + i32.const 1 + local.set $12 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $13 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect $10 (type $2) + br_if $block_2 + end ;; $block_19 + block $block_20 + local.get $9 + i32.eqz + br_if $block_20 + i32.const 1 + local.set $12 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $1 + local.get $2 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_2 + end ;; $block_20 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $3 + local.get $4 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + local.set $12 + local.get $5 + i32.const 16 + i32.add + global.set $12 + local.get $12 + return + end ;; $block_17 + block $block_21 + local.get $7 + i32.eqz + br_if $block_21 + i32.const 1 + local.set $12 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $13 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect $10 (type $2) + br_if $block_2 + end ;; $block_21 + block $block_22 + local.get $9 + i32.eqz + br_if $block_22 + i32.const 1 + local.set $12 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $1 + local.get $2 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_2 + end ;; $block_22 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $3 + local.get $4 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + local.set $12 + local.get $5 + i32.const 16 + i32.add + global.set $12 + local.get $12 + return + end ;; $block_16 + i32.const 1 + local.set $12 + local.get $0 + i32.const 1 + i32.store8 offset=48 + local.get $0 + i32.const 48 + i32.store offset=4 + block $block_23 + local.get $7 + i32.eqz + br_if $block_23 + local.get $0 + i32.load offset=24 + local.get $13 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect $10 (type $2) + br_if $block_2 + end ;; $block_23 + block $block_24 + local.get $9 + i32.eqz + br_if $block_24 + local.get $0 + i32.load offset=24 + local.get $1 + local.get $2 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_2 + end ;; $block_24 + local.get $10 + local.get $8 + i32.sub + local.set $11 + i32.const 1 + local.get $0 + i32.const 48 + i32.add + i32.load8_u + local.tee $12 + local.get $12 + i32.const 3 + i32.eq + select + i32.const 3 + i32.and + local.tee $12 + i32.eqz + br_if $block_11 + local.get $12 + i32.const 2 + i32.eq + br_if $block_12 + i32.const 0 + local.set $7 + br $block_10 + end ;; $block_15 + local.get $11 + local.set $8 + i32.const 0 + local.set $11 + br $block_13 + end ;; $block_14 + local.get $11 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set $8 + local.get $11 + i32.const 1 + i32.shr_u + local.set $11 + end ;; $block_13 + local.get $5 + i32.const 0 + i32.store offset=12 + block $block_25 + local.get $0 + i32.load offset=4 + local.tee $12 + i32.const 127 + i32.gt_u + br_if $block_25 + local.get $5 + local.get $12 + i32.store8 offset=12 + i32.const 1 + local.set $10 + br $block_8 + end ;; $block_25 + block $block_26 + local.get $12 + i32.const 2047 + i32.gt_u + br_if $block_26 + local.get $5 + local.get $12 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $5 + local.get $12 + i32.const 6 + i32.shr_u + i32.const 31 + i32.and + i32.const 192 + i32.or + i32.store8 offset=12 + i32.const 2 + local.set $10 + br $block_8 + end ;; $block_26 + local.get $12 + i32.const 65535 + i32.gt_u + br_if $block_9 + local.get $5 + local.get $12 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $5 + local.get $12 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $5 + local.get $12 + i32.const 12 + i32.shr_u + i32.const 15 + i32.and + i32.const 224 + i32.or + i32.store8 offset=12 + i32.const 3 + local.set $10 + br $block_8 + end ;; $block_12 + local.get $11 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set $7 + local.get $11 + i32.const 1 + i32.shr_u + local.set $11 + br $block_10 + end ;; $block_11 + local.get $11 + local.set $7 + i32.const 0 + local.set $11 + end ;; $block_10 + local.get $5 + i32.const 0 + i32.store offset=8 + block $block_27 + local.get $0 + i32.const 4 + i32.add + i32.load + local.tee $12 + i32.const 127 + i32.gt_u + br_if $block_27 + local.get $5 + local.get $12 + i32.store8 offset=8 + i32.const 1 + local.set $10 + br $block_4 + end ;; $block_27 + local.get $12 + i32.const 2047 + i32.gt_u + br_if $block_7 + local.get $5 + local.get $12 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=9 + local.get $5 + local.get $12 + i32.const 6 + i32.shr_u + i32.const 31 + i32.and + i32.const 192 + i32.or + i32.store8 offset=8 + i32.const 2 + local.set $10 + br $block_4 + end ;; $block_9 + local.get $5 + local.get $12 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get $5 + local.get $12 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=12 + local.get $5 + local.get $12 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $5 + local.get $12 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 4 + local.set $10 + end ;; $block_8 + i32.const -1 + local.set $12 + block $block_28 + loop $loop_0 + local.get $12 + i32.const 1 + i32.add + local.tee $12 + local.get $11 + i32.ge_u + br_if $block_28 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $5 + i32.const 12 + i32.add + local.get $10 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + i32.eqz + br_if $loop_0 + br $block_3 + end ;; $loop_0 + end ;; $block_28 + block $block_29 + local.get $7 + i32.eqz + br_if $block_29 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $13 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect $10 (type $2) + br_if $block_3 + end ;; $block_29 + block $block_30 + local.get $9 + i32.eqz + br_if $block_30 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $1 + local.get $2 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_3 + end ;; $block_30 + local.get $0 + i32.const 24 + i32.add + local.tee $11 + i32.load + local.get $3 + local.get $4 + local.get $0 + i32.const 28 + i32.add + local.tee $0 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_3 + i32.const -1 + local.set $12 + loop $loop_1 + local.get $12 + i32.const 1 + i32.add + local.tee $12 + local.get $8 + i32.ge_u + br_if $block_6 + local.get $11 + i32.load + local.get $5 + i32.const 12 + i32.add + local.get $10 + local.get $0 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + i32.eqz + br_if $loop_1 + br $block_3 + end ;; $loop_1 + end ;; $block_7 + local.get $12 + i32.const 65535 + i32.gt_u + br_if $block_5 + local.get $5 + local.get $12 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=10 + local.get $5 + local.get $12 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=9 + local.get $5 + local.get $12 + i32.const 12 + i32.shr_u + i32.const 15 + i32.and + i32.const 224 + i32.or + i32.store8 offset=8 + i32.const 3 + local.set $10 + br $block_4 + end ;; $block_6 + local.get $5 + i32.const 16 + i32.add + global.set $12 + i32.const 0 + return + end ;; $block_5 + local.get $5 + local.get $12 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=11 + local.get $5 + local.get $12 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=8 + local.get $5 + local.get $12 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=10 + local.get $5 + local.get $12 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=9 + i32.const 4 + local.set $10 + end ;; $block_4 + i32.const -1 + local.set $12 + block $block_31 + loop $loop_2 + local.get $12 + i32.const 1 + i32.add + local.tee $12 + local.get $11 + i32.ge_u + br_if $block_31 + local.get $0 + i32.const 24 + i32.add + i32.load + local.get $5 + i32.const 8 + i32.add + local.get $10 + local.get $0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + i32.eqz + br_if $loop_2 + br $block_3 + end ;; $loop_2 + end ;; $block_31 + local.get $0 + i32.const 24 + i32.add + local.tee $11 + i32.load + local.get $3 + local.get $4 + local.get $0 + i32.const 28 + i32.add + local.tee $0 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + br_if $block_3 + i32.const -1 + local.set $12 + loop $loop_3 + local.get $12 + i32.const 1 + i32.add + local.tee $12 + local.get $7 + i32.ge_u + br_if $block_1 + local.get $11 + i32.load + local.get $5 + i32.const 8 + i32.add + local.get $10 + local.get $0 + i32.load + i32.load offset=12 + call_indirect $10 (type $1) + i32.eqz + br_if $loop_3 + end ;; $loop_3 + end ;; $block_3 + i32.const 1 + local.set $12 + end ;; $block_2 + local.get $5 + i32.const 16 + i32.add + global.set $12 + local.get $12 + return + end ;; $block_1 + local.get $5 + i32.const 16 + i32.add + global.set $12 + i32.const 0 + ) + + (func $core::ptr::real_drop_in_place::h181e24faf7b583a9 (type $5) + (param $0 i32) + ) + + (func $::get_type_id::h84858aded9b6f3c7 (type $8) + (param $0 i32) + (result i64) + i64.const -1250764075464007379 + ) + + (func $core::slice::slice_index_order_fail::h845fb1fad3fb5631 (type $0) + (param $0 i32) + (param $1 i32) + (local $2 i32) + global.get $12 + i32.const 48 + i32.sub + local.tee $2 + global.set $12 + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + local.get $0 + i32.store + local.get $2 + i32.const 32 + i32.add + i32.const 12 + i32.add + i32.const 6 + i32.store + local.get $2 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get $2 + i32.const 8 + i32.add + i32.const 12 + i32.add + i32.const 2 + i32.store + local.get $2 + i32.const 6 + i32.store offset=36 + local.get $2 + i32.const 1048928 + i32.store offset=16 + local.get $2 + i32.const 2 + i32.store offset=12 + local.get $2 + i32.const 1053224 + i32.store offset=8 + local.get $2 + local.get $2 + i32.const 4 + i32.add + i32.store offset=40 + local.get $2 + local.get $2 + i32.store offset=32 + local.get $2 + local.get $2 + i32.const 32 + i32.add + i32.store offset=24 + local.get $2 + i32.const 8 + i32.add + i32.const 1053240 + call $core::panicking::panic_fmt::h74ee8034b317ceed + unreachable + ) + + (func $core::str::slice_error_fail::h5395f932d3594937 (type $9) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (param $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $12 + i32.const 112 + i32.sub + local.tee $4 + global.set $12 + local.get $4 + local.get $3 + i32.store offset=12 + local.get $4 + local.get $2 + i32.store offset=8 + i32.const 1 + local.set $5 + local.get $1 + local.set $6 + block $block + local.get $1 + i32.const 257 + i32.lt_u + br_if $block + i32.const 0 + local.get $1 + i32.sub + local.set $7 + i32.const 256 + local.set $8 + block $block_0 + loop $loop + block $block_1 + local.get $8 + local.get $1 + i32.ge_u + br_if $block_1 + local.get $0 + local.get $8 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + br_if $block_0 + end ;; $block_1 + local.get $8 + i32.const -1 + i32.add + local.set $6 + i32.const 0 + local.set $5 + local.get $8 + i32.const 1 + i32.eq + br_if $block + local.get $7 + local.get $8 + i32.add + local.set $9 + local.get $6 + local.set $8 + local.get $9 + i32.const 1 + i32.ne + br_if $loop + br $block + end ;; $loop + end ;; $block_0 + i32.const 0 + local.set $5 + local.get $8 + local.set $6 + end ;; $block + local.get $4 + local.get $6 + i32.store offset=20 + local.get $4 + local.get $0 + i32.store offset=16 + local.get $4 + i32.const 0 + i32.const 5 + local.get $5 + select + i32.store offset=28 + local.get $4 + i32.const 1049000 + i32.const 1049352 + local.get $5 + select + i32.store offset=24 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + block $block_6 + block $block_7 + block $block_8 + block $block_9 + block $block_10 + local.get $2 + local.get $1 + i32.gt_u + local.tee $8 + br_if $block_10 + local.get $3 + local.get $1 + i32.gt_u + br_if $block_10 + local.get $2 + local.get $3 + i32.gt_u + br_if $block_8 + block $block_11 + block $block_12 + local.get $2 + i32.eqz + br_if $block_12 + local.get $1 + local.get $2 + i32.eq + br_if $block_12 + local.get $1 + local.get $2 + i32.le_u + br_if $block_11 + local.get $0 + local.get $2 + i32.add + i32.load8_s + i32.const -64 + i32.lt_s + br_if $block_11 + end ;; $block_12 + local.get $3 + local.set $2 + end ;; $block_11 + local.get $4 + local.get $2 + i32.store offset=32 + local.get $2 + i32.eqz + br_if $block_9 + local.get $2 + local.get $1 + i32.eq + br_if $block_9 + local.get $1 + i32.const 1 + i32.add + local.set $9 + block $block_13 + loop $loop_0 + block $block_14 + local.get $2 + local.get $1 + i32.ge_u + br_if $block_14 + local.get $0 + local.get $2 + i32.add + local.tee $6 + i32.load8_s + i32.const -65 + i32.gt_s + br_if $block_13 + end ;; $block_14 + local.get $2 + i32.const -1 + i32.add + local.set $8 + block $block_15 + local.get $2 + i32.const 1 + i32.eq + br_if $block_15 + local.get $9 + local.get $2 + i32.eq + local.set $6 + local.get $8 + local.set $2 + local.get $6 + i32.eqz + br_if $loop_0 + end ;; $block_15 + end ;; $loop_0 + local.get $0 + local.get $8 + i32.add + local.tee $6 + local.get $0 + local.get $1 + i32.add + local.tee $2 + i32.ne + br_if $block_7 + br $block_6 + end ;; $block_13 + local.get $2 + local.set $8 + local.get $6 + local.get $0 + local.get $1 + i32.add + local.tee $2 + i32.eq + br_if $block_6 + br $block_7 + end ;; $block_10 + local.get $4 + local.get $2 + local.get $3 + local.get $8 + select + i32.store offset=40 + local.get $4 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 1 + i32.store + local.get $4 + i32.const 72 + i32.add + i32.const 12 + i32.add + i32.const 1 + i32.store + local.get $4 + i32.const 48 + i32.add + i32.const 20 + i32.add + i32.const 3 + i32.store + local.get $4 + i32.const 48 + i32.add + i32.const 12 + i32.add + i32.const 3 + i32.store + local.get $4 + i32.const 6 + i32.store offset=76 + local.get $4 + i32.const 1049360 + i32.store offset=56 + local.get $4 + i32.const 3 + i32.store offset=52 + local.get $4 + i32.const 1053256 + i32.store offset=48 + local.get $4 + local.get $4 + i32.const 24 + i32.add + i32.store offset=88 + local.get $4 + local.get $4 + i32.const 16 + i32.add + i32.store offset=80 + local.get $4 + local.get $4 + i32.const 40 + i32.add + i32.store offset=72 + local.get $4 + local.get $4 + i32.const 72 + i32.add + i32.store offset=64 + local.get $4 + i32.const 48 + i32.add + i32.const 1053280 + call $core::panicking::panic_fmt::h74ee8034b317ceed + unreachable + end ;; $block_9 + local.get $0 + local.get $2 + local.tee $8 + i32.add + local.tee $6 + local.get $0 + local.get $1 + i32.add + local.tee $2 + i32.ne + br_if $block_7 + br $block_6 + end ;; $block_8 + local.get $4 + i32.const 100 + i32.add + i32.const 1 + i32.store + local.get $4 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 1 + i32.store + local.get $4 + i32.const 72 + i32.add + i32.const 12 + i32.add + i32.const 6 + i32.store + local.get $4 + i32.const 48 + i32.add + i32.const 20 + i32.add + i32.const 4 + i32.store + local.get $4 + i32.const 48 + i32.add + i32.const 12 + i32.add + i32.const 4 + i32.store + local.get $4 + i32.const 6 + i32.store offset=76 + local.get $4 + i32.const 1049468 + i32.store offset=56 + local.get $4 + i32.const 4 + i32.store offset=52 + local.get $4 + i32.const 1053296 + i32.store offset=48 + local.get $4 + local.get $4 + i32.const 24 + i32.add + i32.store offset=96 + local.get $4 + local.get $4 + i32.const 16 + i32.add + i32.store offset=88 + local.get $4 + local.get $4 + i32.const 12 + i32.add + i32.store offset=80 + local.get $4 + local.get $4 + i32.const 8 + i32.add + i32.store offset=72 + local.get $4 + local.get $4 + i32.const 72 + i32.add + i32.store offset=64 + local.get $4 + i32.const 48 + i32.add + i32.const 1053328 + call $core::panicking::panic_fmt::h74ee8034b317ceed + unreachable + end ;; $block_7 + i32.const 1 + local.set $1 + i32.const 0 + local.set $9 + block $block_16 + local.get $6 + i32.load8_s + local.tee $6 + i32.const 0 + i32.lt_s + br_if $block_16 + local.get $4 + local.get $6 + i32.const 255 + i32.and + i32.store offset=36 + local.get $4 + i32.const 40 + i32.add + local.set $2 + br $block_2 + end ;; $block_16 + local.get $2 + local.set $1 + block $block_17 + local.get $0 + local.get $8 + i32.add + local.tee $0 + i32.const 1 + i32.add + local.get $2 + i32.eq + br_if $block_17 + local.get $0 + i32.const 2 + i32.add + local.set $1 + local.get $0 + i32.const 1 + i32.add + i32.load8_u + i32.const 63 + i32.and + local.set $9 + end ;; $block_17 + local.get $6 + i32.const 31 + i32.and + local.set $0 + local.get $6 + i32.const 255 + i32.and + i32.const 224 + i32.lt_u + br_if $block_5 + i32.const 0 + local.set $5 + local.get $2 + local.set $7 + block $block_18 + local.get $1 + local.get $2 + i32.eq + br_if $block_18 + local.get $1 + i32.const 1 + i32.add + local.set $7 + local.get $1 + i32.load8_u + i32.const 63 + i32.and + local.set $5 + end ;; $block_18 + local.get $5 + local.get $9 + i32.const 6 + i32.shl + i32.or + local.set $1 + local.get $6 + i32.const 255 + i32.and + i32.const 240 + i32.lt_u + br_if $block_4 + i32.const 0 + local.set $6 + block $block_19 + local.get $7 + local.get $2 + i32.eq + br_if $block_19 + local.get $7 + i32.load8_u + i32.const 63 + i32.and + local.set $6 + end ;; $block_19 + local.get $1 + i32.const 6 + i32.shl + local.get $0 + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + local.get $6 + i32.or + local.tee $6 + i32.const 1114112 + i32.ne + br_if $block_3 + end ;; $block_6 + i32.const 1053344 + call $core::panicking::panic::h13421bef49a1c627 + unreachable + end ;; $block_5 + local.get $9 + local.get $0 + i32.const 6 + i32.shl + i32.or + local.set $6 + br $block_3 + end ;; $block_4 + local.get $1 + local.get $0 + i32.const 12 + i32.shl + i32.or + local.set $6 + end ;; $block_3 + local.get $4 + local.get $6 + i32.store offset=36 + i32.const 1 + local.set $1 + local.get $4 + i32.const 40 + i32.add + local.set $2 + local.get $6 + i32.const 128 + i32.lt_u + br_if $block_2 + i32.const 2 + local.set $1 + local.get $6 + i32.const 2048 + i32.lt_u + br_if $block_2 + i32.const 3 + i32.const 4 + local.get $6 + i32.const 65536 + i32.lt_u + select + local.set $1 + end ;; $block_2 + local.get $4 + local.get $8 + i32.store offset=40 + local.get $4 + local.get $1 + local.get $8 + i32.add + i32.store offset=44 + local.get $4 + i32.const 108 + i32.add + i32.const 1 + i32.store + local.get $4 + i32.const 100 + i32.add + i32.const 1 + i32.store + local.get $4 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 7 + i32.store + local.get $4 + i32.const 72 + i32.add + i32.const 12 + i32.add + i32.const 8 + i32.store + local.get $4 + i32.const 48 + i32.add + i32.const 20 + i32.add + i32.const 5 + i32.store + local.get $4 + i32.const 48 + i32.add + i32.const 12 + i32.add + i32.const 5 + i32.store + local.get $4 + local.get $2 + i32.store offset=88 + local.get $4 + i32.const 6 + i32.store offset=76 + local.get $4 + i32.const 1049612 + i32.store offset=56 + local.get $4 + i32.const 5 + i32.store offset=52 + local.get $4 + i32.const 1053368 + i32.store offset=48 + local.get $4 + local.get $4 + i32.const 24 + i32.add + i32.store offset=104 + local.get $4 + local.get $4 + i32.const 16 + i32.add + i32.store offset=96 + local.get $4 + local.get $4 + i32.const 36 + i32.add + i32.store offset=80 + local.get $4 + local.get $4 + i32.const 32 + i32.add + i32.store offset=72 + local.get $4 + local.get $4 + i32.const 72 + i32.add + i32.store offset=64 + local.get $4 + i32.const 48 + i32.add + i32.const 1053408 + call $core::panicking::panic_fmt::h74ee8034b317ceed + unreachable + ) + + (func $_as_core::fmt::Debug>::fmt::hd43772a3c2cd5a20 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + global.get $12 + i32.const 48 + i32.sub + local.tee $2 + global.set $12 + local.get $2 + i32.const 8 + i32.add + i32.const 12 + i32.add + i32.const 9 + i32.store + local.get $2 + i32.const 9 + i32.store offset=12 + local.get $2 + local.get $0 + i32.store offset=8 + local.get $2 + local.get $0 + i32.const 4 + i32.add + i32.store offset=16 + local.get $1 + i32.const 28 + i32.add + i32.load + local.set $0 + local.get $1 + i32.load offset=24 + local.set $1 + local.get $2 + i32.const 44 + i32.add + i32.const 2 + i32.store + local.get $2 + i32.const 24 + i32.add + i32.const 12 + i32.add + i32.const 2 + i32.store + local.get $2 + i32.const 1048928 + i32.store offset=32 + local.get $2 + i32.const 2 + i32.store offset=28 + local.get $2 + i32.const 1053424 + i32.store offset=24 + local.get $2 + local.get $2 + i32.const 8 + i32.add + i32.store offset=40 + local.get $1 + local.get $0 + local.get $2 + i32.const 24 + i32.add + call $core::fmt::write::h2bc7cdeb5edd0d71 + local.set $1 + local.get $2 + i32.const 48 + i32.add + global.set $12 + local.get $1 + ) + + (func $::fmt::hda62120a64941310 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const 1 + local.set $2 + block $block + local.get $1 + i32.load offset=24 + i32.const 39 + local.get $1 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect $10 (type $2) + br_if $block + i32.const 2 + local.set $2 + block $block_0 + block $block_1 + block $block_2 + block $block_3 + block $block_4 + block $block_5 + block $block_6 + block $block_7 + block $block_8 + block $block_9 + block $block_10 + block $block_11 + block $block_12 + block $block_13 + block $block_14 + block $block_15 + block $block_16 + block $block_17 + local.get $0 + i32.load + local.tee $0 + i32.const -9 + i32.add + local.tee $3 + i32.const 30 + i32.gt_u + br_if $block_17 + i32.const 116 + local.set $4 + block $block_18 + local.get $3 + br_table + $block_0 $block_18 $block_16 $block_16 $block_15 $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 + $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 $block_16 $block_2 $block_16 $block_16 $block_16 $block_16 $block_2 + $block_0 ;; default + end ;; $block_18 + i32.const 110 + local.set $4 + br $block_14 + end ;; $block_17 + local.get $0 + i32.const 92 + i32.eq + br_if $block_2 + end ;; $block_16 + local.get $0 + i32.const 2048 + i32.ge_u + br_if $block_13 + local.get $0 + i32.const 3 + i32.shr_u + i32.const 262136 + i32.and + i32.const 1053472 + i32.add + local.set $2 + br $block_12 + end ;; $block_15 + i32.const 114 + local.set $4 + end ;; $block_14 + br $block_0 + end ;; $block_13 + block $block_19 + local.get $0 + i32.const 65536 + i32.ge_u + br_if $block_19 + local.get $0 + i32.const 6 + i32.shr_u + i32.const -32 + i32.add + local.tee $2 + i32.const 992 + i32.ge_u + br_if $block_11 + local.get $2 + i32.const 1053752 + i32.add + i32.load8_u + local.tee $2 + i32.const 73 + i32.gt_u + br_if $block_10 + local.get $2 + i32.const 3 + i32.shl + i32.const 1051248 + i32.add + local.set $2 + br $block_12 + end ;; $block_19 + local.get $0 + i32.const 12 + i32.shr_u + i32.const -16 + i32.add + local.tee $2 + i32.const 256 + i32.ge_u + br_if $block_9 + local.get $2 + i32.const 1054744 + i32.add + i32.load8_u + i32.const 6 + i32.shl + local.get $0 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.or + local.tee $2 + i32.const 511 + i32.gt_u + br_if $block_8 + local.get $2 + i32.const 1051840 + i32.add + i32.load8_u + local.tee $2 + i32.const 54 + i32.gt_u + br_if $block_7 + local.get $2 + i32.const 3 + i32.shl + i32.const 1052352 + i32.add + local.set $2 + end ;; $block_12 + block $block_20 + block $block_21 + block $block_22 + block $block_23 + local.get $2 + i64.load + i64.const 1 + local.get $0 + i32.const 63 + i32.and + i64.extend_i32_u + i64.shl + i64.and + i64.eqz + br_if $block_23 + local.get $0 + i32.const 1 + i32.or + i32.clz + i32.const 2 + i32.shr_u + i32.const 7 + i32.xor + i64.extend_i32_u + i64.const 21474836480 + i64.or + local.set $5 + br $block_22 + end ;; $block_23 + block $block_24 + block $block_25 + local.get $0 + i32.const 65535 + i32.gt_u + br_if $block_25 + local.get $0 + i32.const 65280 + i32.and + i32.const 8 + i32.shr_u + local.set $6 + i32.const 1049912 + local.set $3 + i32.const 0 + local.set $7 + local.get $0 + i32.const 255 + i32.and + local.set $8 + block $block_26 + loop $loop + local.get $3 + i32.const 2 + i32.add + local.set $9 + local.get $7 + local.get $3 + i32.load8_u offset=1 + local.tee $2 + i32.add + local.set $4 + block $block_27 + block $block_28 + local.get $3 + i32.load8_u + local.tee $3 + local.get $6 + i32.ne + br_if $block_28 + local.get $4 + local.get $7 + i32.lt_u + br_if $block_21 + local.get $4 + i32.const 304 + i32.ge_u + br_if $block_20 + local.get $7 + i32.const 1049992 + i32.add + local.set $3 + loop $loop_0 + local.get $2 + i32.eqz + br_if $block_27 + local.get $2 + i32.const -1 + i32.add + local.set $2 + local.get $3 + i32.load8_u + local.set $7 + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $7 + local.get $8 + i32.ne + br_if $loop_0 + br $block_24 + end ;; $loop_0 + end ;; $block_28 + local.get $3 + local.get $6 + i32.gt_u + br_if $block_26 + local.get $4 + local.set $7 + local.get $9 + local.set $3 + local.get $9 + i32.const 1049992 + i32.ne + br_if $loop + br $block_26 + end ;; $block_27 + local.get $4 + local.set $7 + local.get $9 + local.set $3 + local.get $9 + i32.const 1049992 + i32.ne + br_if $loop + end ;; $loop + end ;; $block_26 + local.get $0 + i32.const 65535 + i32.and + local.set $3 + i32.const 1050295 + local.set $2 + i32.const 1 + local.set $7 + block $block_29 + loop $loop_1 + local.get $2 + i32.const 1 + i32.add + local.set $8 + block $block_30 + block $block_31 + local.get $2 + i32.load8_u + local.tee $4 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee $9 + i32.const -1 + i32.le_s + br_if $block_31 + local.get $8 + local.set $2 + local.get $3 + local.get $4 + i32.sub + local.tee $3 + i32.const 0 + i32.ge_s + br_if $block_30 + br $block_29 + end ;; $block_31 + local.get $8 + i32.const 1050611 + i32.eq + br_if $block_4 + local.get $2 + i32.const 1 + i32.add + local.set $8 + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $3 + local.get $9 + i32.const 127 + i32.and + i32.const 8 + i32.shl + local.get $8 + i32.load8_u + i32.or + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + br_if $block_29 + end ;; $block_30 + local.get $7 + i32.const 1 + i32.xor + local.set $7 + local.get $2 + i32.const 1050611 + i32.ne + br_if $loop_1 + end ;; $loop_1 + end ;; $block_29 + i32.const 1 + local.set $2 + local.get $7 + i32.const 1 + i32.and + i32.eqz + br_if $block_24 + br $block_2 + end ;; $block_25 + block $block_32 + local.get $0 + i32.const 131071 + i32.gt_u + br_if $block_32 + local.get $0 + i32.const 65280 + i32.and + i32.const 8 + i32.shr_u + local.set $6 + i32.const 1050611 + local.set $3 + i32.const 0 + local.set $7 + local.get $0 + i32.const 255 + i32.and + local.set $8 + block $block_33 + loop $loop_2 + local.get $3 + i32.const 2 + i32.add + local.set $9 + local.get $7 + local.get $3 + i32.load8_u offset=1 + local.tee $2 + i32.add + local.set $4 + block $block_34 + block $block_35 + local.get $3 + i32.load8_u + local.tee $3 + local.get $6 + i32.ne + br_if $block_35 + local.get $4 + local.get $7 + i32.lt_u + br_if $block_6 + local.get $4 + i32.const 159 + i32.ge_u + br_if $block_5 + local.get $7 + i32.const 1050677 + i32.add + local.set $3 + loop $loop_3 + local.get $2 + i32.eqz + br_if $block_34 + local.get $2 + i32.const -1 + i32.add + local.set $2 + local.get $3 + i32.load8_u + local.set $7 + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $7 + local.get $8 + i32.ne + br_if $loop_3 + br $block_24 + end ;; $loop_3 + end ;; $block_35 + local.get $3 + local.get $6 + i32.gt_u + br_if $block_33 + local.get $4 + local.set $7 + local.get $9 + local.set $3 + local.get $9 + i32.const 1050677 + i32.ne + br_if $loop_2 + br $block_33 + end ;; $block_34 + local.get $4 + local.set $7 + local.get $9 + local.set $3 + local.get $9 + i32.const 1050677 + i32.ne + br_if $loop_2 + end ;; $loop_2 + end ;; $block_33 + local.get $0 + i32.const 65535 + i32.and + local.set $3 + i32.const 1050835 + local.set $2 + i32.const 1 + local.set $7 + block $block_36 + loop $loop_4 + local.get $2 + i32.const 1 + i32.add + local.set $8 + block $block_37 + block $block_38 + local.get $2 + i32.load8_u + local.tee $4 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee $9 + i32.const -1 + i32.le_s + br_if $block_38 + local.get $8 + local.set $2 + local.get $3 + local.get $4 + i32.sub + local.tee $3 + i32.const 0 + i32.ge_s + br_if $block_37 + br $block_36 + end ;; $block_38 + local.get $8 + i32.const 1051216 + i32.eq + br_if $block_3 + local.get $2 + i32.const 1 + i32.add + local.set $8 + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $3 + local.get $9 + i32.const 127 + i32.and + i32.const 8 + i32.shl + local.get $8 + i32.load8_u + i32.or + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + br_if $block_36 + end ;; $block_37 + local.get $7 + i32.const 1 + i32.xor + local.set $7 + local.get $2 + i32.const 1051216 + i32.ne + br_if $loop_4 + end ;; $loop_4 + end ;; $block_36 + i32.const 1 + local.set $2 + local.get $7 + i32.const 1 + i32.and + i32.eqz + br_if $block_24 + br $block_2 + end ;; $block_32 + local.get $0 + i32.const 917999 + i32.gt_u + br_if $block_24 + local.get $0 + i32.const -195102 + i32.add + i32.const 722658 + i32.lt_u + br_if $block_24 + local.get $0 + i32.const -191457 + i32.add + i32.const 3103 + i32.lt_u + br_if $block_24 + local.get $0 + i32.const -183970 + i32.add + i32.const 14 + i32.lt_u + br_if $block_24 + local.get $0 + i32.const 2097150 + i32.and + i32.const 178206 + i32.eq + br_if $block_24 + local.get $0 + i32.const -173783 + i32.add + i32.const 41 + i32.lt_u + br_if $block_24 + local.get $0 + i32.const -177973 + i32.add + i32.const 10 + i32.le_u + br_if $block_24 + i32.const 1 + local.set $2 + br $block_2 + end ;; $block_24 + local.get $0 + i32.const 1 + i32.or + i32.clz + i32.const 2 + i32.shr_u + i32.const 7 + i32.xor + i64.extend_i32_u + i64.const 21474836480 + i64.or + local.set $5 + end ;; $block_22 + i32.const 3 + local.set $2 + br $block_1 + end ;; $block_21 + local.get $7 + local.get $4 + call $core::slice::slice_index_order_fail::h845fb1fad3fb5631 + unreachable + end ;; $block_20 + local.get $4 + i32.const 303 + call $core::slice::slice_index_len_fail::h7a4ef59ca849a060 + unreachable + end ;; $block_11 + i32.const 1055000 + local.get $2 + i32.const 992 + call $core::panicking::panic_bounds_check::h34b80e64d41db052 + unreachable + end ;; $block_10 + i32.const 1055016 + local.get $2 + i32.const 74 + call $core::panicking::panic_bounds_check::h34b80e64d41db052 + unreachable + end ;; $block_9 + i32.const 1055032 + local.get $2 + i32.const 256 + call $core::panicking::panic_bounds_check::h34b80e64d41db052 + unreachable + end ;; $block_8 + i32.const 1055048 + local.get $2 + i32.const 512 + call $core::panicking::panic_bounds_check::h34b80e64d41db052 + unreachable + end ;; $block_7 + i32.const 1055064 + local.get $2 + i32.const 55 + call $core::panicking::panic_bounds_check::h34b80e64d41db052 + unreachable + end ;; $block_6 + local.get $7 + local.get $4 + call $core::slice::slice_index_order_fail::h845fb1fad3fb5631 + unreachable + end ;; $block_5 + local.get $4 + i32.const 158 + call $core::slice::slice_index_len_fail::h7a4ef59ca849a060 + unreachable + end ;; $block_4 + i32.const 1053344 + call $core::panicking::panic::h13421bef49a1c627 + unreachable + end ;; $block_3 + i32.const 1053344 + call $core::panicking::panic::h13421bef49a1c627 + unreachable + end ;; $block_2 + end ;; $block_1 + local.get $0 + local.set $4 + end ;; $block_0 + local.get $5 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $8 + local.get $5 + i32.wrap_i64 + local.set $9 + local.get $1 + i32.const 24 + i32.add + local.set $3 + local.get $1 + i32.const 28 + i32.add + local.set $7 + loop $loop_5 + block $block_39 + block $block_40 + block $block_41 + block $block_42 + block $block_43 + block $block_44 + local.get $2 + i32.const 1 + i32.eq + br_if $block_44 + i32.const 92 + local.set $0 + block $block_45 + local.get $2 + i32.const 2 + i32.eq + br_if $block_45 + local.get $2 + i32.const 3 + i32.ne + br_if $block_40 + local.get $8 + i32.const 255 + i32.and + local.set $2 + i32.const 4 + local.set $8 + local.get $2 + i32.const -1 + i32.add + local.tee $6 + i32.const 4 + i32.gt_u + br_if $block_40 + i32.const 3 + local.set $2 + block $block_46 + local.get $6 + br_table + $block_46 $block_42 $block_41 $block_43 $block_39 + $block_46 ;; default + end ;; $block_46 + i32.const 0 + local.set $8 + i32.const 125 + local.set $0 + br $block_39 + end ;; $block_45 + i32.const 1 + local.set $2 + br $block_39 + end ;; $block_44 + i32.const 0 + local.set $2 + local.get $4 + local.set $0 + br $block_39 + end ;; $block_43 + i32.const 3 + local.set $2 + i32.const 117 + local.set $0 + i32.const 3 + local.set $8 + br $block_39 + end ;; $block_42 + local.get $4 + local.get $9 + i32.const 2 + i32.shl + i32.const 28 + i32.and + i32.shr_u + i32.const 15 + i32.and + local.tee $0 + i32.const 48 + i32.or + local.get $0 + i32.const 87 + i32.add + local.get $0 + i32.const 10 + i32.lt_u + select + local.set $0 + i32.const 2 + i32.const 1 + local.get $9 + select + local.set $8 + local.get $9 + i32.const -1 + i32.add + i32.const 0 + local.get $9 + select + local.set $9 + br $block_39 + end ;; $block_41 + i32.const 2 + local.set $8 + i32.const 123 + local.set $0 + br $block_39 + end ;; $block_40 + local.get $1 + i32.const 24 + i32.add + i32.load + i32.const 39 + local.get $1 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect $10 (type $2) + local.set $2 + br $block + end ;; $block_39 + local.get $3 + i32.load + local.get $0 + local.get $7 + i32.load + i32.load offset=16 + call_indirect $10 (type $2) + i32.eqz + br_if $loop_5 + end ;; $loop_5 + i32.const 1 + return + end ;; $block + local.get $2 + ) + + (func $core::fmt::num::::fmt::h2a5aa117bff2c084 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $12 + i32.const 128 + i32.sub + local.tee $2 + global.set $12 + block $block + block $block_0 + block $block_1 + block $block_2 + local.get $1 + i32.load + local.tee $3 + i32.const 16 + i32.and + br_if $block_2 + local.get $3 + i32.const 32 + i32.and + br_if $block_1 + local.get $0 + local.get $1 + call $core::fmt::num::::fmt::h4f4d56a15c6233ed + local.set $0 + local.get $2 + i32.const 128 + i32.add + global.set $12 + local.get $0 + return + end ;; $block_2 + local.get $0 + i32.load + local.set $3 + i32.const 0 + local.set $0 + loop $loop + local.get $2 + local.get $0 + i32.add + i32.const 127 + i32.add + local.get $3 + i32.const 15 + i32.and + local.tee $4 + i32.const 48 + i32.or + local.get $4 + i32.const 87 + i32.add + local.get $4 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get $0 + i32.const -1 + i32.add + local.set $0 + local.get $3 + i32.const 4 + i32.shr_u + local.tee $3 + br_if $loop + end ;; $loop + local.get $0 + i32.const 128 + i32.add + local.tee $3 + i32.const 129 + i32.ge_u + br_if $block_0 + local.get $1 + i32.const 1049350 + i32.const 2 + local.get $2 + local.get $0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get $0 + i32.sub + call $core::fmt::Formatter::pad_integral::hb6042588a2a3edea + local.set $0 + local.get $2 + i32.const 128 + i32.add + global.set $12 + local.get $0 + return + end ;; $block_1 + local.get $0 + i32.load + local.set $3 + i32.const 0 + local.set $0 + loop $loop_0 + local.get $2 + local.get $0 + i32.add + i32.const 127 + i32.add + local.get $3 + i32.const 15 + i32.and + local.tee $4 + i32.const 48 + i32.or + local.get $4 + i32.const 55 + i32.add + local.get $4 + i32.const 10 + i32.lt_u + select + i32.store8 + local.get $0 + i32.const -1 + i32.add + local.set $0 + local.get $3 + i32.const 4 + i32.shr_u + local.tee $3 + br_if $loop_0 + end ;; $loop_0 + local.get $0 + i32.const 128 + i32.add + local.tee $3 + i32.const 129 + i32.ge_u + br_if $block + local.get $1 + i32.const 1049350 + i32.const 2 + local.get $2 + local.get $0 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get $0 + i32.sub + call $core::fmt::Formatter::pad_integral::hb6042588a2a3edea + local.set $0 + local.get $2 + i32.const 128 + i32.add + global.set $12 + local.get $0 + return + end ;; $block_0 + local.get $3 + i32.const 128 + call $core::slice::slice_index_order_fail::h845fb1fad3fb5631 + unreachable + end ;; $block + local.get $3 + i32.const 128 + call $core::slice::slice_index_order_fail::h845fb1fad3fb5631 + unreachable + ) + + (func $core::fmt::ArgumentV1::show_usize::h7e76c008016dd45f (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + local.get $0 + local.get $1 + call $core::fmt::num::::fmt::h4f4d56a15c6233ed + ) + + (func $core::slice::memchr::memchr::h2712233316cf809b (type $9) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (param $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + i32.const 0 + local.set $4 + block $block + local.get $2 + i32.const 3 + i32.and + local.tee $5 + i32.eqz + br_if $block + i32.const 4 + local.get $5 + i32.sub + local.tee $5 + i32.eqz + br_if $block + local.get $2 + local.get $3 + local.get $5 + local.get $5 + local.get $3 + i32.gt_u + select + local.tee $4 + i32.add + local.set $6 + i32.const 0 + local.set $5 + local.get $1 + i32.const 255 + i32.and + local.set $7 + local.get $4 + local.set $8 + local.get $2 + local.set $9 + block $block_0 + block $block_1 + loop $loop + local.get $6 + local.get $9 + i32.sub + i32.const 3 + i32.le_u + br_if $block_1 + local.get $5 + local.get $9 + i32.load8_u + local.tee $10 + local.get $7 + i32.ne + i32.add + local.set $5 + local.get $10 + local.get $7 + i32.eq + br_if $block_0 + local.get $5 + local.get $9 + i32.const 1 + i32.add + i32.load8_u + local.tee $10 + local.get $7 + i32.ne + i32.add + local.set $5 + local.get $10 + local.get $7 + i32.eq + br_if $block_0 + local.get $5 + local.get $9 + i32.const 2 + i32.add + i32.load8_u + local.tee $10 + local.get $7 + i32.ne + i32.add + local.set $5 + local.get $10 + local.get $7 + i32.eq + br_if $block_0 + local.get $5 + local.get $9 + i32.const 3 + i32.add + i32.load8_u + local.tee $10 + local.get $7 + i32.ne + i32.add + local.set $5 + local.get $8 + i32.const -4 + i32.add + local.set $8 + local.get $9 + i32.const 4 + i32.add + local.set $9 + local.get $10 + local.get $7 + i32.ne + br_if $loop + br $block_0 + end ;; $loop + end ;; $block_1 + i32.const 0 + local.set $7 + local.get $1 + i32.const 255 + i32.and + local.set $6 + loop $loop_0 + local.get $8 + i32.eqz + br_if $block + local.get $9 + local.get $7 + i32.add + local.set $10 + local.get $8 + i32.const -1 + i32.add + local.set $8 + local.get $7 + i32.const 1 + i32.add + local.set $7 + local.get $10 + i32.load8_u + local.tee $10 + local.get $6 + i32.ne + br_if $loop_0 + end ;; $loop_0 + local.get $10 + local.get $1 + i32.const 255 + i32.and + i32.eq + i32.const 1 + i32.add + i32.const 1 + i32.and + local.get $5 + i32.add + local.get $7 + i32.add + i32.const -1 + i32.add + local.set $5 + end ;; $block_0 + local.get $0 + local.get $5 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.store + return + end ;; $block + local.get $1 + i32.const 255 + i32.and + local.set $7 + block $block_2 + block $block_3 + local.get $3 + i32.const 8 + i32.lt_u + br_if $block_3 + local.get $4 + local.get $3 + i32.const -8 + i32.add + local.tee $10 + i32.gt_u + br_if $block_3 + local.get $7 + i32.const 16843009 + i32.mul + local.set $5 + block $block_4 + loop $loop_1 + local.get $2 + local.get $4 + i32.add + local.tee $9 + i32.const 4 + i32.add + i32.load + local.get $5 + i32.xor + local.tee $8 + i32.const -1 + i32.xor + local.get $8 + i32.const -16843009 + i32.add + i32.and + local.get $9 + i32.load + local.get $5 + i32.xor + local.tee $9 + i32.const -1 + i32.xor + local.get $9 + i32.const -16843009 + i32.add + i32.and + i32.or + i32.const -2139062144 + i32.and + br_if $block_4 + local.get $4 + i32.const 8 + i32.add + local.tee $4 + local.get $10 + i32.le_u + br_if $loop_1 + end ;; $loop_1 + end ;; $block_4 + local.get $4 + local.get $3 + i32.gt_u + br_if $block_2 + end ;; $block_3 + local.get $2 + local.get $4 + i32.add + local.set $9 + local.get $2 + local.get $3 + i32.add + local.set $2 + local.get $3 + local.get $4 + i32.sub + local.set $8 + i32.const 0 + local.set $5 + block $block_5 + block $block_6 + block $block_7 + loop $loop_2 + local.get $2 + local.get $9 + i32.sub + i32.const 3 + i32.le_u + br_if $block_7 + local.get $5 + local.get $9 + i32.load8_u + local.tee $10 + local.get $7 + i32.ne + i32.add + local.set $5 + local.get $10 + local.get $7 + i32.eq + br_if $block_6 + local.get $5 + local.get $9 + i32.const 1 + i32.add + i32.load8_u + local.tee $10 + local.get $7 + i32.ne + i32.add + local.set $5 + local.get $10 + local.get $7 + i32.eq + br_if $block_6 + local.get $5 + local.get $9 + i32.const 2 + i32.add + i32.load8_u + local.tee $10 + local.get $7 + i32.ne + i32.add + local.set $5 + local.get $10 + local.get $7 + i32.eq + br_if $block_6 + local.get $5 + local.get $9 + i32.const 3 + i32.add + i32.load8_u + local.tee $10 + local.get $7 + i32.ne + i32.add + local.set $5 + local.get $8 + i32.const -4 + i32.add + local.set $8 + local.get $9 + i32.const 4 + i32.add + local.set $9 + local.get $10 + local.get $7 + i32.ne + br_if $loop_2 + br $block_6 + end ;; $loop_2 + end ;; $block_7 + i32.const 0 + local.set $7 + local.get $1 + i32.const 255 + i32.and + local.set $2 + loop $loop_3 + local.get $8 + i32.eqz + br_if $block_5 + local.get $9 + local.get $7 + i32.add + local.set $10 + local.get $8 + i32.const -1 + i32.add + local.set $8 + local.get $7 + i32.const 1 + i32.add + local.set $7 + local.get $10 + i32.load8_u + local.tee $10 + local.get $2 + i32.ne + br_if $loop_3 + end ;; $loop_3 + local.get $10 + local.get $1 + i32.const 255 + i32.and + i32.eq + i32.const 1 + i32.add + i32.const 1 + i32.and + local.get $5 + i32.add + local.get $7 + i32.add + i32.const -1 + i32.add + local.set $5 + end ;; $block_6 + local.get $0 + local.get $5 + local.get $4 + i32.add + i32.store offset=4 + local.get $0 + i32.const 1 + i32.store + return + end ;; $block_5 + local.get $0 + local.get $5 + local.get $7 + i32.add + local.get $4 + i32.add + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + return + end ;; $block_2 + local.get $4 + local.get $3 + call $core::slice::slice_index_order_fail::h845fb1fad3fb5631 + unreachable + ) + + (func $core::ptr::real_drop_in_place::h7a6e9b3a26682e2c (type $5) + (param $0 i32) + ) + + (func $core::fmt::Write::write_char::h699f698034020179 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + global.get $12 + i32.const 16 + i32.sub + local.tee $2 + global.set $12 + local.get $2 + i32.const 0 + i32.store offset=12 + block $block + block $block_0 + local.get $1 + i32.const 127 + i32.gt_u + br_if $block_0 + local.get $2 + local.get $1 + i32.store8 offset=12 + i32.const 1 + local.set $1 + br $block + end ;; $block_0 + block $block_1 + local.get $1 + i32.const 2047 + i32.gt_u + br_if $block_1 + local.get $2 + local.get $1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $2 + local.get $1 + i32.const 6 + i32.shr_u + i32.const 31 + i32.and + i32.const 192 + i32.or + i32.store8 offset=12 + i32.const 2 + local.set $1 + br $block + end ;; $block_1 + block $block_2 + local.get $1 + i32.const 65535 + i32.gt_u + br_if $block_2 + local.get $2 + local.get $1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $2 + local.get $1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $2 + local.get $1 + i32.const 12 + i32.shr_u + i32.const 15 + i32.and + i32.const 224 + i32.or + i32.store8 offset=12 + i32.const 3 + local.set $1 + br $block + end ;; $block_2 + local.get $2 + local.get $1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get $2 + local.get $1 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=12 + local.get $2 + local.get $1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $2 + local.get $1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 4 + local.set $1 + end ;; $block + local.get $0 + local.get $2 + i32.const 12 + i32.add + local.get $1 + call $_as_core::fmt::Write>::write_str::heb6658a92b0d254f + local.set $1 + local.get $2 + i32.const 16 + i32.add + global.set $12 + local.get $1 + ) + + (func $core::fmt::Write::write_fmt::h88700fc7b71e07ba (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + global.get $12 + i32.const 32 + i32.sub + local.tee $2 + global.set $12 + local.get $2 + local.get $0 + i32.store offset=4 + local.get $2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get $1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get $2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get $2 + local.get $1 + i64.load align=4 + i64.store offset=8 + local.get $2 + i32.const 4 + i32.add + i32.const 1055104 + local.get $2 + i32.const 8 + i32.add + call $core::fmt::write::h2bc7cdeb5edd0d71 + local.set $1 + local.get $2 + i32.const 32 + i32.add + global.set $12 + local.get $1 + ) + + (func $core::ptr::real_drop_in_place::h0e270dec7857294a (type $5) + (param $0 i32) + ) + + (func $<&mut_W_as_core::fmt::Write>::write_str::h5e939bfff6b7262a (type $1) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (result i32) + local.get $0 + i32.load + local.get $1 + local.get $2 + call $_as_core::fmt::Write>::write_str::heb6658a92b0d254f + ) + + (func $<&mut_W_as_core::fmt::Write>::write_char::h6c366a2088812c15 (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + global.get $12 + i32.const 16 + i32.sub + local.tee $2 + global.set $12 + local.get $0 + i32.load + local.set $0 + local.get $2 + i32.const 0 + i32.store offset=12 + block $block + block $block_0 + local.get $1 + i32.const 127 + i32.gt_u + br_if $block_0 + local.get $2 + local.get $1 + i32.store8 offset=12 + i32.const 1 + local.set $1 + br $block + end ;; $block_0 + block $block_1 + local.get $1 + i32.const 2047 + i32.gt_u + br_if $block_1 + local.get $2 + local.get $1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $2 + local.get $1 + i32.const 6 + i32.shr_u + i32.const 31 + i32.and + i32.const 192 + i32.or + i32.store8 offset=12 + i32.const 2 + local.set $1 + br $block + end ;; $block_1 + block $block_2 + local.get $1 + i32.const 65535 + i32.gt_u + br_if $block_2 + local.get $2 + local.get $1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $2 + local.get $1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get $2 + local.get $1 + i32.const 12 + i32.shr_u + i32.const 15 + i32.and + i32.const 224 + i32.or + i32.store8 offset=12 + i32.const 3 + local.set $1 + br $block + end ;; $block_2 + local.get $2 + local.get $1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get $2 + local.get $1 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.store8 offset=12 + local.get $2 + local.get $1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get $2 + local.get $1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 4 + local.set $1 + end ;; $block + local.get $0 + local.get $2 + i32.const 12 + i32.add + local.get $1 + call $_as_core::fmt::Write>::write_str::heb6658a92b0d254f + local.set $1 + local.get $2 + i32.const 16 + i32.add + global.set $12 + local.get $1 + ) + + (func $<&mut_W_as_core::fmt::Write>::write_fmt::h1bb28d0d3f773a6a (type $2) + (param $0 i32) + (param $1 i32) + (result i32) + (local $2 i32) + global.get $12 + i32.const 32 + i32.sub + local.tee $2 + global.set $12 + local.get $2 + local.get $0 + i32.load + i32.store offset=4 + local.get $2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get $1 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get $2 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get $2 + local.get $1 + i64.load align=4 + i64.store offset=8 + local.get $2 + i32.const 4 + i32.add + i32.const 1055104 + local.get $2 + i32.const 8 + i32.add + call $core::fmt::write::h2bc7cdeb5edd0d71 + local.set $1 + local.get $2 + i32.const 32 + i32.add + global.set $12 + local.get $1 + ) + + (func $memcpy (type $1) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (result i32) + (local $3 i32) + block $block + local.get $2 + i32.eqz + br_if $block + local.get $0 + local.set $3 + loop $loop + local.get $3 + local.get $1 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $1 + i32.const 1 + i32.add + local.set $1 + local.get $2 + i32.const -1 + i32.add + local.tee $2 + br_if $loop + end ;; $loop + end ;; $block + local.get $0 + ) + + (func $memcmp (type $1) + (param $0 i32) + (param $1 i32) + (param $2 i32) + (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $block + block $block_0 + local.get $2 + i32.eqz + br_if $block_0 + i32.const 0 + local.set $3 + loop $loop + local.get $0 + local.get $3 + i32.add + i32.load8_u + local.tee $4 + local.get $1 + local.get $3 + i32.add + i32.load8_u + local.tee $5 + i32.ne + br_if $block + local.get $3 + i32.const 1 + i32.add + local.tee $3 + local.get $2 + i32.lt_u + br_if $loop + end ;; $loop + i32.const 0 + return + end ;; $block_0 + i32.const 0 + return + end ;; $block + local.get $4 + local.get $5 + i32.sub + ) + ;; User section "producers": + ;; "\02\08language\01\04Rust\042018\0cprocessed-" + ;; "by\01\05rustc\1d1.33.0 (2aa4c46cf 2019" + ;; "-02-28)" + ) \ No newline at end of file diff --git a/test/extensions/wasm/test_data/logging_rust/Cargo.toml b/test/extensions/wasm/test_data/logging_rust/Cargo.toml new file mode 100644 index 0000000000000..bc71fe2129d01 --- /dev/null +++ b/test/extensions/wasm/test_data/logging_rust/Cargo.toml @@ -0,0 +1,18 @@ +[package] +description = "Proxy-WASM logging test using Rust" +name = "logging_rust" +version = "0.0.1" +authors = ["Piotr Sikora "] +edition = "2018" + +[dependencies] +proxy_wasm = { path = "../../../../../api/wasm/rust" } +log = "0.4" + +[lib] +crate-type = ["cdylib"] + +[profile.release] +lto = true +opt-level = 3 +panic = "abort" diff --git a/test/extensions/wasm/test_data/logging_rust/src/lib.rs b/test/extensions/wasm/test_data/logging_rust/src/lib.rs new file mode 100644 index 0000000000000..d36b33497062c --- /dev/null +++ b/test/extensions/wasm/test_data/logging_rust/src/lib.rs @@ -0,0 +1,25 @@ +// Include exports from Proxy-WASM at link-time. +#[allow(unused_imports)] +use proxy_wasm; + +use log::{debug, error, info, trace, warn}; + +#[no_mangle] +#[allow(non_snake_case)] +pub fn _proxy_onConfigure(message: &str) { + warn!("warn {}", message); +} + +#[no_mangle] +#[allow(non_snake_case)] +pub fn _proxy_onStart() { + trace!("test trace logging"); + debug!("test debug logging"); + error!("test error logging"); +} + +#[no_mangle] +#[allow(non_snake_case)] +pub fn _proxy_onTick() { + info!("test tick logging"); +} diff --git a/test/extensions/wasm/wasm_test.cc b/test/extensions/wasm/wasm_test.cc index 4d0527a2e9949..13c36cd80c69b 100644 --- a/test/extensions/wasm/wasm_test.cc +++ b/test/extensions/wasm/wasm_test.cc @@ -27,7 +27,11 @@ class TestContext : public Extensions::Common::Wasm::Context { MOCK_METHOD1(setTickPeriodMilliseconds, void(uint32_t tick_period_milliseconds)); }; -TEST(WasmTest, Logging) { +class WasmTestCppRust : public TestBaseWithParam {}; + +INSTANTIATE_TEST_SUITE_P(SourceLanguages, WasmTestCppRust, testing::Values("cpp", "rust")); + +TEST_P(WasmTestCppRust, Logging) { Stats::IsolatedStoreImpl stats_store; Api::ApiPtr api = Api::createApiForTest(stats_store); Upstream::MockClusterManager cluster_manager; @@ -35,15 +39,17 @@ TEST(WasmTest, Logging) { auto wasm = std::make_unique("envoy.wasm.vm.wavm", "", "", cluster_manager, dispatcher); EXPECT_NE(wasm, nullptr); - const auto code = TestEnvironment::readFileToStringForTest(TestEnvironment::substitute( - "{{ test_rundir }}/test/extensions/wasm/test_data/logging_cpp.wasm")); + const auto code = + TestEnvironment::readFileToStringForTest(TestEnvironment::substitute(absl::StrCat( + "{{ test_rundir }}/test/extensions/wasm/test_data/logging_", GetParam(), ".wasm"))); EXPECT_FALSE(code.empty()); auto context = std::make_unique(wasm.get()); - EXPECT_CALL(*context, scriptLog(spdlog::level::debug, Eq("test debug logging"))); - EXPECT_CALL(*context, scriptLog(spdlog::level::info, Eq("test info logging"))); EXPECT_CALL(*context, scriptLog(spdlog::level::warn, Eq("warn configure-test"))); - EXPECT_CALL(*context, scriptLog(spdlog::level::err, Eq("test tick logging"))); + EXPECT_CALL(*context, scriptLog(spdlog::level::trace, Eq("test trace logging"))); + EXPECT_CALL(*context, scriptLog(spdlog::level::debug, Eq("test debug logging"))); + EXPECT_CALL(*context, scriptLog(spdlog::level::err, Eq("test error logging"))); + EXPECT_CALL(*context, scriptLog(spdlog::level::info, Eq("test tick logging"))); EXPECT_TRUE(wasm->initialize(code, "", false)); // NB: Must be done after initialize has created the context. From 914c384f2f3ea92bcdd58abb68f0ad85b539dcc3 Mon Sep 17 00:00:00 2001 From: Piotr Sikora Date: Fri, 22 Mar 2019 11:25:10 +0000 Subject: [PATCH 2/2] review: drop the TODO. Signed-off-by: Piotr Sikora --- api/wasm/rust/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/api/wasm/rust/src/lib.rs b/api/wasm/rust/src/lib.rs index 79e383e064a20..db727226d18c5 100644 --- a/api/wasm/rust/src/lib.rs +++ b/api/wasm/rust/src/lib.rs @@ -53,7 +53,6 @@ fn _malloc(size: usize) -> *mut u8 { } /// Allow host to free memory. -// TODO(PiotrSikora): make sure ptr is within acceptable range. #[no_mangle] fn _free(ptr: *mut u8) { if !ptr.is_null() {