commit ce39ed9a9af56deeab689db2ce8a636aecb4ec2e Author: Deukhoofd Date: Sun Jul 24 09:25:37 2022 +0200 Initial work on creating a WASM interface for PkmnLibRs diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..e8dede4 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,3 @@ +[build] +target = "wasm32-unknown-unknown" +rustflags = ["-C", "target-feature=+reference-types,+multivalue"] \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4fbbf9d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/target +**/*.rs.bk +Cargo.lock +bin/ +.idea \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..3e41385 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,12 @@ +[workspace] + +members = [ + "pkmn_lib_interface", + "gen_7_scripts" +] + +[profile.release] +# Tell `rustc` to optimize for small code size. +opt-level = "s" +lto = false +debug-assertions = true \ No newline at end of file diff --git a/gen7_scripts.wat b/gen7_scripts.wat new file mode 100644 index 0000000..7894d0b --- /dev/null +++ b/gen7_scripts.wat @@ -0,0 +1,34428 @@ +(module + (type (;0;) (func (param i32) (result i32))) + (type (;1;) (func (param i32 i32) (result i32))) + (type (;2;) (func (param i32))) + (type (;3;) (func (param i32 i32 i32) (result i32 i32))) + (type (;4;) (func (param i32) (result i32 i32))) + (type (;5;) (func (param i32 i32 i32 i32))) + (type (;6;) (func (param i32 i32))) + (type (;7;) (func (param i32 i32 i32) (result i32))) + (type (;8;) (func (param i32) (result i64))) + (type (;9;) (func (param i32) (result f32))) + (type (;10;) (func (param i32 i32 i32 i32 i32 i32))) + (type (;11;) (func (param i32 i32 i32 i32 i32))) + (type (;12;) (func (result i32))) + (type (;13;) (func)) + (type (;14;) (func (param i32 i32 i32))) + (type (;15;) (func (param i32 i32 i32 i32) (result i32))) + (type (;16;) (func (param i32 i32) (result i32 i32))) + (type (;17;) (func (param i32 i32 i32 i32 i32) (result i32))) + (type (;18;) (func (param i32 i32 i64))) + (type (;19;) (func (param i32 i32 i32 i32 i32 i32 i64 i64 i64))) + (type (;20;) (func (param i32 i32 i32 i32 i32 i32 i32))) + (type (;21;) (func (param i32 f32 i32 i32) (result i32))) + (type (;22;) (func (param i32 i32 i32 i32 i32 i32) (result i32))) + (type (;23;) (func (param i32 i32 i32 i32 i32 i32 i32) (result i32))) + (type (;24;) (func (param i64 i32 i32) (result i32))) + (import "env" "_vec_extern_ref_get_value" (func $_vec_extern_ref_get_value (type 1))) + (import "env" "battle_library_get_static_data" (func $battle_library_get_static_data (type 0))) + (import "env" "move_library_get_move_by_hash" (func $move_library_get_move_by_hash (type 1))) + (import "env" "static_data_get_move_library" (func $static_data_get_move_library (type 0))) + (import "env" "effect_parameter_get_type" (func $effect_parameter_get_type (type 0))) + (import "env" "effect_parameter_as_bool" (func $effect_parameter_as_bool (type 0))) + (import "env" "effect_parameter_as_int" (func $effect_parameter_as_int (type 8))) + (import "env" "effect_parameter_as_float" (func $effect_parameter_as_float (type 9))) + (import "env" "effect_parameter_as_string" (func $effect_parameter_as_string (type 0))) + (import "env" "move_data_get_base_power" (func $move_data_get_base_power (type 0))) + (import "env" "move_data_get_type" (func $move_data_get_type (type 0))) + (import "env" "move_data_get_priority" (func $move_data_get_priority (type 0))) + (import "env" "move_data_get_name" (func $move_data_get_name (type 0))) + (import "env" "move_data_get_category" (func $move_data_get_category (type 0))) + (import "env" "move_data_get_target" (func $move_data_get_target (type 0))) + (import "env" "move_data_get_accuracy" (func $move_data_get_accuracy (type 0))) + (import "env" "string_key_get_str" (func $string_key_get_str (type 0))) + (import "env" "string_key_get_hash" (func $string_key_get_hash (type 0))) + (import "env" "_print" (func $_print (type 6))) + (import "env" "_error" (func $_error (type 10))) + (func $_ZN5alloc11collections5btree4node115NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$4push17h3491244d095194aeE (type 7) (param i32 i32 i32) (result i32) + (local i32 i32) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + i32.const 10 + i32.gt_u + br_if 0 (;@1;) + local.get 3 + local.get 4 + i32.const 1 + i32.add + i32.store16 offset=94 + local.get 3 + i32.const 4 + i32.add + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h5640f0cc812782e7E + drop + local.get 4 + i32.const 2 + i32.shl + local.tee 3 + i32.add + local.get 1 + i32.store + local.get 0 + i32.load offset=4 + i32.const 48 + i32.add + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E + drop + local.get 3 + i32.add + local.tee 0 + local.get 2 + i32.store + local.get 0 + return + end + i32.const 1048576 + i32.const 32 + i32.const 1048700 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node119NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$4push17h252af93f310847b4E (type 11) (param i32 i32 i32 i32 i32) + (local i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load + i32.const -1 + i32.add + local.get 3 + i32.ne + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 5 + i32.const 10 + i32.le_u + br_if 1 (;@1;) + i32.const 1048576 + i32.const 32 + i32.const 1048780 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1048716 + i32.const 48 + i32.const 1048764 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 3 + local.get 5 + i32.const 1 + i32.add + local.tee 6 + i32.store16 offset=94 + local.get 3 + i32.const 4 + i32.add + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h5640f0cc812782e7E + drop + local.get 5 + i32.const 2 + i32.shl + local.tee 3 + i32.add + local.get 1 + i32.store + local.get 0 + i32.load offset=4 + i32.const 48 + i32.add + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E + drop + local.get 3 + i32.add + local.get 2 + i32.store + local.get 0 + i32.load offset=4 + local.tee 0 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + local.get 4 + i32.store + local.get 4 + local.get 0 + i32.store + local.get 4 + local.get 6 + i32.store16 offset=92) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17he4a0fbcd622b1e8eE (type 7) (param i32 i32 i32) (result i32) + (local i32 i32) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.set 4 + local.get 3 + i32.const 4 + i32.add + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h5640f0cc812782e7E + drop + local.get 4 + i32.const 1 + i32.add + local.tee 4 + local.get 0 + i32.load offset=8 + local.tee 0 + local.get 1 + call $_ZN5alloc11collections5btree4node12slice_insert17h24721096433ef716E + local.get 3 + i32.const 48 + i32.add + local.tee 1 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E + drop + local.get 4 + local.get 0 + local.get 2 + call $_ZN5alloc11collections5btree4node12slice_insert17h415b83088931aa29E + local.get 3 + local.get 4 + i32.store16 offset=94 + local.get 1 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E + drop + local.get 0 + i32.const 2 + i32.shl + i32.add) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17h9498b2b96c3d2addE (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.load + i32.store + local.get 4 + local.get 1 + i64.load align=4 + i64.store + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 4 + i32.load offset=4 + local.tee 5 + i32.load16_u offset=94 + i32.const 11 + i32.lt_u + br_if 0 (;@7;) + local.get 4 + i32.const 16 + i32.add + local.get 4 + i32.load offset=8 + call $_ZN5alloc11collections5btree4node10splitpoint17hae767fb783475e91E + local.get 4 + i32.const 16 + i32.add + i32.const 8 + i32.add + i32.load + local.set 6 + local.get 4 + i32.load offset=20 + local.set 7 + local.get 4 + i32.load offset=16 + local.set 8 + local.get 4 + i32.load + local.set 1 + i32.const 0 + local.set 9 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17he62c257a060cf195E + local.tee 10 + i32.const 0 + i32.store + local.get 10 + local.get 5 + i32.load16_u offset=94 + local.tee 11 + local.get 8 + i32.const -1 + i32.xor + i32.add + local.tee 12 + i32.store16 offset=94 + local.get 5 + i32.const 4 + i32.add + local.tee 13 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h5640f0cc812782e7E + drop + local.get 8 + i32.const 2 + i32.shl + local.tee 14 + i32.add + i32.load + local.set 15 + local.get 5 + i32.const 48 + i32.add + local.tee 16 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E + drop + local.get 14 + i32.add + i32.load + local.set 14 + local.get 13 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h5640f0cc812782e7E + drop + local.set 13 + local.get 12 + i32.const 12 + i32.ge_u + br_if 2 (;@5;) + local.get 13 + local.get 8 + i32.const 1 + i32.add + local.tee 17 + i32.const 2 + i32.shl + local.tee 18 + i32.add + local.get 11 + local.get 17 + i32.sub + local.tee 13 + local.get 10 + i32.const 4 + i32.add + local.get 12 + call $_ZN5alloc11collections5btree4node13move_to_slice17h0cfab12f08595f20E + local.get 16 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E + drop + local.get 18 + i32.add + local.get 13 + local.get 10 + i32.const 48 + i32.add + local.get 12 + call $_ZN5alloc11collections5btree4node13move_to_slice17h6bce851203b1f57aE + local.get 5 + local.get 8 + i32.store16 offset=94 + local.get 4 + local.get 6 + i32.store offset=24 + local.get 4 + local.get 10 + local.get 5 + local.get 7 + select + i32.store offset=20 + local.get 4 + i32.const 0 + local.get 1 + local.get 7 + select + i32.store offset=16 + local.get 4 + i32.const 16 + i32.add + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17he4a0fbcd622b1e8eE + local.set 19 + block ;; label = @8 + block ;; label = @9 + local.get 5 + i32.load + local.tee 2 + i32.eqz + br_if 0 (;@9;) + i32.const 0 + local.set 12 + loop ;; label = @10 + local.get 4 + local.get 5 + i32.load16_u offset=92 + local.tee 5 + i32.store offset=8 + local.get 4 + local.get 2 + local.tee 3 + i32.store offset=4 + local.get 4 + local.get 1 + i32.const 1 + i32.add + local.tee 9 + i32.store + local.get 1 + local.get 12 + i32.ne + br_if 6 (;@4;) + local.get 3 + i32.load16_u offset=94 + i32.const 11 + i32.lt_u + br_if 2 (;@8;) + local.get 4 + i32.const 16 + i32.add + local.get 5 + call $_ZN5alloc11collections5btree4node10splitpoint17hae767fb783475e91E + local.get 4 + i32.load offset=24 + local.set 18 + local.get 4 + i32.load offset=20 + local.set 20 + local.get 4 + i32.load offset=16 + local.set 1 + local.get 3 + i32.load16_u offset=94 + local.set 16 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hcbcc44bfbe3494f5E + local.tee 8 + i32.const 0 + i32.store + local.get 8 + local.get 3 + i32.load16_u offset=94 + local.tee 6 + local.get 1 + i32.const -1 + i32.xor + i32.add + local.tee 5 + i32.store16 offset=94 + local.get 3 + i32.const 4 + i32.add + local.tee 2 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h5640f0cc812782e7E + drop + local.get 1 + i32.const 2 + i32.shl + local.tee 12 + i32.add + i32.load + local.set 7 + local.get 3 + i32.const 48 + i32.add + local.tee 11 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E + drop + local.get 12 + i32.add + i32.load + local.set 13 + local.get 2 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h5640f0cc812782e7E + drop + local.set 12 + local.get 5 + i32.const 12 + i32.ge_u + br_if 7 (;@3;) + local.get 12 + local.get 1 + i32.const 1 + i32.add + local.tee 17 + i32.const 2 + i32.shl + local.tee 2 + i32.add + local.get 6 + local.get 17 + i32.sub + local.tee 12 + local.get 8 + i32.const 4 + i32.add + local.get 5 + call $_ZN5alloc11collections5btree4node13move_to_slice17h0cfab12f08595f20E + local.get 11 + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E + drop + local.get 2 + i32.add + local.get 12 + local.get 8 + i32.const 48 + i32.add + local.get 5 + call $_ZN5alloc11collections5btree4node13move_to_slice17h6bce851203b1f57aE + local.get 3 + local.get 1 + i32.store16 offset=94 + local.get 8 + i32.load16_u offset=94 + local.tee 5 + i32.const 1 + i32.add + local.set 12 + local.get 5 + i32.const 12 + i32.ge_u + br_if 8 (;@2;) + local.get 16 + local.get 1 + i32.sub + local.tee 1 + local.get 12 + i32.ne + br_if 9 (;@1;) + local.get 8 + i32.const 96 + i32.add + local.get 3 + local.get 2 + i32.add + i32.const 96 + i32.add + local.get 1 + i32.const 2 + i32.shl + call $memcpy + drop + i32.const 0 + local.set 1 + block ;; label = @11 + loop ;; label = @12 + local.get 8 + local.get 1 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 2 + local.get 1 + i32.store16 offset=92 + local.get 2 + local.get 8 + i32.store + local.get 1 + local.get 5 + i32.ge_u + br_if 1 (;@11;) + local.get 1 + local.get 1 + local.get 5 + i32.lt_u + i32.add + local.tee 1 + local.get 5 + i32.le_u + br_if 0 (;@12;) + end + end + local.get 4 + local.get 18 + i32.store offset=24 + local.get 4 + local.get 9 + i32.store offset=16 + local.get 4 + local.get 8 + local.get 3 + local.get 20 + select + i32.store offset=20 + local.get 4 + i32.const 16 + i32.add + local.get 15 + local.get 14 + local.get 10 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17ha5da4f0786e5e32aE + local.get 9 + local.set 1 + local.get 3 + local.set 5 + local.get 7 + local.set 15 + local.get 13 + local.set 14 + local.get 9 + local.set 12 + local.get 8 + local.set 10 + local.get 3 + i32.load + local.tee 2 + br_if 0 (;@10;) + end + local.get 8 + local.set 10 + local.get 13 + local.set 14 + local.get 7 + local.set 15 + local.get 3 + local.set 5 + local.get 9 + local.set 1 + end + local.get 0 + local.get 15 + i32.store offset=8 + local.get 0 + local.get 5 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 10 + i32.store + local.get 0 + i32.const 16 + i32.add + local.get 9 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 14 + i32.store + br 2 (;@6;) + end + local.get 4 + local.get 15 + local.get 14 + local.get 10 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17ha5da4f0786e5e32aE + local.get 0 + i32.const 0 + i32.store offset=4 + br 1 (;@6;) + end + local.get 4 + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17he4a0fbcd622b1e8eE + local.set 19 + local.get 0 + i32.const 0 + i32.store offset=4 + end + local.get 0 + local.get 19 + i32.store offset=24 + local.get 4 + i32.const 32 + i32.add + global.set $__stack_pointer + return + end + local.get 12 + i32.const 11 + i32.const 1048852 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1048884 + i32.const 53 + i32.const 1048940 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 5 + i32.const 11 + i32.const 1048852 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 12 + i32.const 12 + i32.const 1048868 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1048796 + i32.const 40 + i32.const 1048836 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17ha5da4f0786e5e32aE (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32) + local.get 0 + i32.load offset=4 + local.tee 4 + i32.load16_u offset=94 + local.set 5 + local.get 4 + i32.const 4 + i32.add + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h5640f0cc812782e7E + drop + local.get 5 + i32.const 1 + i32.add + local.tee 6 + local.get 0 + i32.load offset=8 + local.tee 0 + local.get 1 + call $_ZN5alloc11collections5btree4node12slice_insert17h24721096433ef716E + local.get 4 + i32.const 48 + i32.add + call $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E + drop + local.get 6 + local.get 0 + local.get 2 + call $_ZN5alloc11collections5btree4node12slice_insert17h415b83088931aa29E + local.get 4 + i32.const 96 + i32.add + local.set 1 + local.get 0 + i32.const 1 + i32.add + local.set 2 + block ;; label = @1 + local.get 0 + i32.const 2 + i32.add + local.tee 7 + local.get 5 + i32.const 2 + i32.add + local.tee 8 + i32.ge_u + br_if 0 (;@1;) + local.get 1 + local.get 7 + i32.const 2 + i32.shl + i32.add + local.get 1 + local.get 2 + i32.const 2 + i32.shl + i32.add + local.get 5 + local.get 0 + i32.sub + i32.const 2 + i32.shl + call $memmove + drop + end + local.get 1 + local.get 2 + i32.const 2 + i32.shl + i32.add + local.get 3 + i32.store + local.get 4 + local.get 6 + i32.store16 offset=94 + block ;; label = @1 + local.get 2 + local.get 8 + i32.ge_u + br_if 0 (;@1;) + local.get 5 + i32.const 1 + i32.add + local.set 6 + local.get 4 + local.get 0 + i32.const 2 + i32.shl + i32.add + i32.const 100 + i32.add + local.set 5 + loop ;; label = @2 + local.get 5 + i32.load + local.tee 2 + local.get 0 + i32.const 1 + i32.add + local.tee 0 + i32.store16 offset=92 + local.get 2 + local.get 4 + i32.store + local.get 5 + i32.const 4 + i32.add + local.set 5 + local.get 6 + local.get 0 + i32.ne + br_if 0 (;@2;) + end + end) + (func $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h7dfd9dc4743709f5E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 3 + i32.load + local.set 5 + block ;; label = @1 + loop ;; label = @2 + local.get 4 + local.get 2 + i32.const 4 + i32.add + local.tee 3 + local.get 3 + local.get 2 + i32.load16_u offset=94 + local.tee 6 + i32.const 2 + i32.shl + i32.add + call $_ZN4core4iter8adapters9enumerate18Enumerate$LT$I$GT$3new17h420fa26edce66c5fE + local.get 4 + i32.load offset=8 + i32.const -1 + i32.add + local.set 7 + local.get 4 + i32.load offset=4 + local.set 8 + local.get 4 + i32.load + local.set 3 + block ;; label = @3 + block ;; label = @4 + loop ;; label = @5 + block ;; label = @6 + local.get 3 + local.get 8 + i32.ne + br_if 0 (;@6;) + local.get 6 + local.set 7 + br 2 (;@4;) + end + local.get 3 + call $_ZN51_$LT$T$u20$as$u20$core..borrow..Borrow$LT$T$GT$$GT$6borrow17h172a00d40da61f8dE + local.set 9 + local.get 7 + i32.const 1 + i32.add + local.set 7 + local.get 3 + i32.const 4 + i32.add + local.set 3 + i32.const -1 + local.get 5 + local.get 9 + i32.load + local.tee 9 + i32.ne + local.get 5 + local.get 9 + i32.lt_u + select + local.tee 9 + i32.const 1 + i32.eq + br_if 0 (;@5;) + end + local.get 9 + i32.const 255 + i32.and + i32.eqz + br_if 1 (;@3;) + end + block ;; label = @4 + local.get 1 + br_if 0 (;@4;) + i32.const 1 + local.set 3 + i32.const 0 + local.set 1 + br 3 (;@1;) + end + local.get 1 + i32.const -1 + i32.add + local.set 1 + local.get 2 + local.get 7 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.set 2 + br 1 (;@2;) + end + end + i32.const 0 + local.set 3 + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 7 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17hdb336fda93e41fd7E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 3 + i32.load + local.set 5 + block ;; label = @1 + loop ;; label = @2 + local.get 4 + local.get 2 + i32.const 4 + i32.add + local.tee 3 + local.get 3 + local.get 2 + i32.load16_u offset=94 + local.tee 6 + i32.const 2 + i32.shl + i32.add + call $_ZN4core4iter8adapters9enumerate18Enumerate$LT$I$GT$3new17h420fa26edce66c5fE + local.get 4 + i32.load offset=8 + i32.const -1 + i32.add + local.set 7 + local.get 4 + i32.load offset=4 + local.set 8 + local.get 4 + i32.load + local.set 3 + block ;; label = @3 + block ;; label = @4 + loop ;; label = @5 + block ;; label = @6 + local.get 3 + local.get 8 + i32.ne + br_if 0 (;@6;) + local.get 6 + local.set 7 + br 2 (;@4;) + end + local.get 3 + call $_ZN51_$LT$T$u20$as$u20$core..borrow..Borrow$LT$T$GT$$GT$6borrow17h172a00d40da61f8dE + local.set 9 + local.get 7 + i32.const 1 + i32.add + local.set 7 + local.get 3 + i32.const 4 + i32.add + local.set 3 + i32.const -1 + local.get 5 + local.get 9 + i32.load + local.tee 9 + i32.ne + local.get 5 + local.get 9 + i32.lt_u + select + local.tee 9 + i32.const 1 + i32.eq + br_if 0 (;@5;) + end + local.get 9 + i32.const 255 + i32.and + i32.eqz + br_if 1 (;@3;) + end + block ;; label = @4 + local.get 1 + br_if 0 (;@4;) + i32.const 1 + local.set 3 + i32.const 0 + local.set 1 + br 3 (;@1;) + end + local.get 1 + i32.const -1 + i32.add + local.set 1 + local.get 2 + local.get 7 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.set 2 + br 1 (;@2;) + end + end + i32.const 0 + local.set 3 + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 7 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hcbcc44bfbe3494f5E (type 12) (result i32) + (local i32) + block ;; label = @1 + i32.const 144 + i32.const 4 + call $__rust_alloc + local.tee 0 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 144 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + local.get 0) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17he62c257a060cf195E (type 12) (result i32) + (local i32) + block ;; label = @1 + i32.const 96 + i32.const 4 + call $__rust_alloc + local.tee 0 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 96 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + local.get 0) + (func $_ZN4core3ops8function2Fn4call17h690e8ac702f33c93E (type 3) (param i32 i32 i32) (result i32 i32) + (local i32) + i32.const 0 + local.set 3 + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@1;) + local.get 2 + call $_ZN18pkmn_lib_interface13app_interface10string_key9StringKey4hash17h55bfb6c367f4fe28E + i32.const -662733300 + i32.eq + local.set 3 + end + local.get 3 + i32.const 1048980) + (func $_ZN4core3ops8function5FnMut8call_mut17hd3dbd180068d218fE (type 3) (param i32 i32 i32) (result i32 i32) + (local i32) + i32.const 0 + local.set 3 + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@1;) + local.get 2 + call $_ZN18pkmn_lib_interface13app_interface10string_key9StringKey4hash17h55bfb6c367f4fe28E + i32.const -662733300 + i32.eq + local.set 3 + end + local.get 3 + i32.const 1048980) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hd8afd096f09d3d1bE (type 3) (param i32 i32 i32) (result i32 i32) + (local i32) + i32.const 0 + local.set 3 + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@1;) + local.get 2 + call $_ZN18pkmn_lib_interface13app_interface10string_key9StringKey4hash17h55bfb6c367f4fe28E + i32.const -662733300 + i32.eq + local.set 3 + end + local.get 3 + i32.const 1048980) + (func $_ZN4core3ptr65drop_in_place$LT$gen7_scripts..registered_scripts..get_script$GT$17h0dc43b2c5ae4601bE (type 2) (param i32)) + (func $_init (type 13) + i32.const 1 + i32.const 1048956 + call $_ZN18pkmn_lib_interface18set_load_script_fn17hb8f8ff42931d08d8E) + (func $_ZN4core3ptr58drop_in_place$LT$gen7_scripts..test_script..TestScript$GT$17h5dce4db582a781ccE.llvm.7819689321721894569 (type 2) (param i32)) + (func $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h05b953505afdbae0E (type 2) (param i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 1 + global.set $__stack_pointer + local.get 1 + local.get 0 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hf0a3e71d037d82f7E + block ;; label = @1 + local.get 1 + i32.load offset=8 + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.load + local.get 2 + local.get 0 + call $__rust_dealloc + end + local.get 1 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN85_$LT$spin..rwlock..RwLockWriteGuard$LT$T$C$R$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h65dd415546bcc452E (type 2) (param i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 1 + global.set $__stack_pointer + local.get 1 + local.get 0 + i32.load + local.tee 0 + i32.load + i32.const 1 + i32.and + local.tee 2 + i32.store offset=4 + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + local.get 0 + local.get 0 + i32.load + i32.const -4 + i32.and + i32.store + local.get 1 + i32.const 32 + i32.add + global.set $__stack_pointer + return + end + local.get 1 + i32.const 0 + i32.store offset=8 + i32.const 0 + local.get 1 + i32.const 4 + i32.add + i32.const 1049256 + local.get 1 + i32.const 8 + i32.add + i32.const 1049260 + call $_ZN4core9panicking13assert_failed17hdcd52d5a4c6ee7c6E + unreachable) + (func $_ZN85_$LT$spin..rwlock..RwLockWriteGuard$LT$T$C$R$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17ha5d71d79800ac4aeE (type 2) (param i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 1 + global.set $__stack_pointer + local.get 1 + local.get 0 + i32.load + local.tee 0 + i32.load + i32.const 1 + i32.and + local.tee 2 + i32.store offset=4 + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + local.get 0 + local.get 0 + i32.load + i32.const -4 + i32.and + i32.store + local.get 1 + i32.const 32 + i32.add + global.set $__stack_pointer + return + end + local.get 1 + i32.const 0 + i32.store offset=8 + i32.const 0 + local.get 1 + i32.const 4 + i32.add + i32.const 1049256 + local.get 1 + i32.const 8 + i32.add + i32.const 1049260 + call $_ZN4core9panicking13assert_failed17hdcd52d5a4c6ee7c6E + unreachable) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h0a1965f3b267b689E (type 1) (param i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 3 + br_if 0 (;@2;) + i32.const 0 + local.set 0 + br 1 (;@1;) + end + local.get 2 + local.get 0 + i32.load + local.get 3 + local.get 1 + call $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h7dfd9dc4743709f5E + i32.const 0 + local.get 2 + i32.const 8 + i32.add + i32.load + local.get 2 + i32.const 12 + i32.add + i32.load + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.get 2 + i32.load + select + local.set 0 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$6insert17hc795154430eeedb2E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 1 + i32.store offset=28 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load offset=4 + local.tee 4 + br_if 0 (;@4;) + i32.const 0 + local.set 4 + br 1 (;@3;) + end + local.get 3 + i32.const 8 + i32.add + local.get 0 + i32.load + local.get 4 + local.get 3 + i32.const 28 + i32.add + call $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17hdb336fda93e41fd7E + local.get 3 + i32.load offset=8 + i32.eqz + br_if 1 (;@2;) + local.get 3 + i32.const 20 + i32.add + i32.load + local.set 5 + local.get 3 + i32.const 16 + i32.add + i32.load + local.set 4 + local.get 3 + i32.load offset=12 + local.set 6 + end + local.get 3 + i32.const 20 + i32.add + local.get 5 + i32.store + local.get 3 + i32.const 16 + i32.add + local.get 4 + i32.store + local.get 3 + local.get 0 + i32.store offset=24 + local.get 3 + local.get 6 + i32.store offset=12 + local.get 3 + local.get 1 + i32.store offset=8 + local.get 3 + i32.const 8 + i32.add + local.get 2 + call $_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17he164505dd6178d3aE + drop + i32.const 0 + local.set 0 + br 1 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + i32.load + local.get 3 + i32.const 20 + i32.add + i32.load + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.tee 1 + i32.load + local.set 0 + local.get 1 + local.get 2 + i32.store + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN18pkmn_lib_interface8handling6script6Script14on_before_turn17heeedff4752085793E (type 6) (param i32 i32)) + (func $_ZN102_$LT$gen7_scripts..test_script..TestScript$u20$as$u20$pkmn_lib_interface..handling..script..Script$GT$7destroy17h70fb7a2ee51390cbE (type 2) (param i32)) + (func $_ZN102_$LT$gen7_scripts..test_script..TestScript$u20$as$u20$pkmn_lib_interface..handling..script..Script$GT$8get_name17h2c55acbc60ee6fbcE (type 4) (param i32) (result i32 i32) + i32.const 1049319 + i32.const 10) + (func $_ZN102_$LT$gen7_scripts..test_script..TestScript$u20$as$u20$pkmn_lib_interface..handling..script..Script$GT$16get_capabilities17h01e49f38fbb9423dE (type 4) (param i32) (result i32 i32) + i32.const 1049329 + i32.const 1) + (func $_ZN102_$LT$gen7_scripts..test_script..TestScript$u20$as$u20$pkmn_lib_interface..handling..script..Script$GT$13on_initialize17h2e4907a42435a179E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i64) + global.get $__stack_pointer + i32.const 96 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + local.get 1 + call $_ZN18pkmn_lib_interface13app_interface8battling14battle_library13BattleLibrary12data_library17hfd37f2c1792ad8faE + i32.store offset=8 + local.get 4 + local.get 4 + i32.const 8 + i32.add + call $_ZN18pkmn_lib_interface13app_interface7library14data_libraries10StaticData12move_library17hfb7008fbd5119d13E + i32.store offset=12 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 4 + i32.const 12 + i32.add + i32.const 480411097 + call $_ZN18pkmn_lib_interface13app_interface7library14data_libraries11DataLibrary11get_by_hash17h91e164fb2e0e894bE + local.tee 1 + i32.eqz + br_if 0 (;@3;) + local.get 4 + local.get 1 + i32.store offset=16 + i32.const 11 + i32.const 0 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h8272de75d1569f6bE + local.set 5 + local.tee 1 + i32.const 0 + i64.load offset=1049380 align=1 + i64.store align=1 + local.get 1 + i32.const 7 + i32.add + i32.const 0 + i32.load offset=1049387 align=1 + i32.store align=1 + local.get 4 + local.get 1 + i32.store offset=72 + local.get 4 + local.get 5 + i32.store offset=76 + local.get 4 + i32.const 11 + i32.store offset=80 + local.get 4 + i32.load offset=72 + i32.const 11 + call $_ZN18pkmn_lib_interface5utils9print_raw17h53247f909dd4e53fE + local.get 4 + i32.const 72 + i32.add + call $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h05b953505afdbae0E + local.get 4 + local.get 4 + i32.const 16 + i32.add + call $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData4name17hb861488e2f38c58fE + i32.store offset=40 + local.get 4 + local.get 4 + i32.const 40 + i32.add + call $_ZN18pkmn_lib_interface13app_interface10string_key9StringKey3str17h38ef68358b2d1e02E + i32.store offset=68 + local.get 4 + i32.const 16 + i32.add + call $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData10base_power17h4288a3a2c97568a8E + local.set 1 + local.get 4 + i32.const 60 + i32.add + i32.const 11 + i32.store + local.get 4 + i32.const 12 + i32.store offset=52 + local.get 4 + local.get 1 + i32.store8 offset=23 + local.get 4 + local.get 4 + i32.const 23 + i32.add + i32.store offset=56 + local.get 4 + local.get 4 + i32.const 68 + i32.add + i32.store offset=48 + local.get 4 + i32.const 92 + i32.add + i32.const 2 + i32.store + local.get 4 + i64.const 3 + i64.store offset=76 align=4 + local.get 4 + i32.const 1049408 + i32.store offset=72 + local.get 4 + local.get 4 + i32.const 48 + i32.add + i32.store offset=88 + local.get 4 + i32.const 24 + i32.add + local.get 4 + i32.const 72 + i32.add + call $_ZN5alloc3fmt6format12format_inner17h7f067f6face2a838E + local.get 4 + i32.const 40 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + local.get 4 + i32.const 72 + i32.add + i32.const 8 + i32.add + local.get 4 + i32.const 24 + i32.add + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.store + local.get 4 + local.get 4 + i64.load offset=24 + local.tee 6 + i64.store offset=72 + local.get 6 + i32.wrap_i64 + local.get 1 + call $_ZN18pkmn_lib_interface5utils9print_raw17h53247f909dd4e53fE + local.get 4 + i32.const 72 + i32.add + call $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h05b953505afdbae0E + local.get 2 + i32.eqz + br_if 1 (;@2;) + local.get 4 + local.get 3 + i32.store offset=68 + local.get 4 + i32.const 72 + i32.add + local.get 4 + i32.const 68 + i32.add + i32.const 0 + call $_ZN18pkmn_lib_interface13app_interface4list22ImmutableList$LT$T$GT$3get17h5cfc3eec03f06761E + local.get 4 + i32.load8_u offset=72 + i32.const 5 + i32.eq + br_if 2 (;@1;) + local.get 4 + i32.const 48 + i32.add + i32.const 8 + i32.add + local.get 4 + i32.const 72 + i32.add + i32.const 8 + i32.add + local.tee 1 + i64.load + i64.store + local.get 4 + local.get 4 + i64.load offset=72 + i64.store offset=48 + local.get 4 + i32.const 13 + i32.store offset=44 + local.get 4 + local.get 4 + i32.const 48 + i32.add + i32.store offset=40 + local.get 4 + i32.const 92 + i32.add + i32.const 1 + i32.store + local.get 4 + i64.const 1 + i64.store offset=76 align=4 + local.get 4 + i32.const 1049464 + i32.store offset=72 + local.get 4 + local.get 4 + i32.const 40 + i32.add + i32.store offset=88 + local.get 4 + i32.const 24 + i32.add + local.get 4 + i32.const 72 + i32.add + call $_ZN5alloc3fmt6format12format_inner17h7f067f6face2a838E + block ;; label = @4 + local.get 4 + i32.load8_u offset=48 + i32.const 4 + i32.lt_u + br_if 0 (;@4;) + local.get 4 + i32.const 48 + i32.add + i32.const 4 + i32.or + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + end + local.get 1 + local.get 4 + i32.const 24 + i32.add + i32.const 8 + i32.add + i32.load + local.tee 2 + i32.store + local.get 4 + local.get 4 + i64.load offset=24 + local.tee 6 + i64.store offset=72 + local.get 6 + i32.wrap_i64 + local.get 2 + call $_ZN18pkmn_lib_interface5utils9print_raw17h53247f909dd4e53fE + local.get 4 + i32.const 16 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hb21b2573a665d88cE + local.get 4 + i32.const 12 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h5b90f553a6918b14E + local.get 4 + i32.const 72 + i32.add + call $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h05b953505afdbae0E + local.get 4 + i32.const 96 + i32.add + global.set $__stack_pointer + return + end + i32.const 1049276 + i32.const 43 + i32.const 1049364 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1049276 + i32.const 43 + i32.const 1049472 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1049276 + i32.const 43 + i32.const 1049488 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17he164505dd6178d3aE (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 8 + i32.add + i32.load + br_if 0 (;@3;) + local.get 0 + i32.load offset=16 + local.set 3 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17he62c257a060cf195E + local.tee 4 + i32.const 0 + i32.store16 offset=94 + local.get 4 + i32.const 0 + i32.store + local.get 2 + local.get 4 + i32.store offset=4 + local.get 2 + i32.const 0 + i32.store + local.get 2 + local.get 0 + i32.load + local.get 1 + call $_ZN5alloc11collections5btree4node115NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$4push17h3491244d095194aeE + local.set 5 + local.get 3 + i32.const 1 + i32.store offset=8 + local.get 3 + local.get 4 + i32.store offset=4 + local.get 3 + i32.const 0 + i32.store + br 1 (;@2;) + end + local.get 2 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.get 0 + i32.const 12 + i32.add + i32.load + i32.store + local.get 2 + local.get 0 + i64.load offset=4 align=4 + i64.store offset=32 + local.get 2 + local.get 2 + i32.const 32 + i32.add + local.get 0 + i32.load + local.get 1 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17h9498b2b96c3d2addE + local.get 2 + i32.load offset=24 + local.set 5 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.load offset=4 + br_if 0 (;@4;) + local.get 0 + i32.load offset=16 + local.set 0 + br 1 (;@3;) + end + local.get 0 + i32.load offset=16 + local.tee 0 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 2 (;@1;) + local.get 2 + i32.const 20 + i32.add + i32.load + local.set 4 + local.get 2 + i32.const 12 + i32.add + i32.load + local.set 6 + local.get 2 + i32.const 16 + i32.add + i32.load + local.set 7 + local.get 2 + i32.load offset=8 + local.set 8 + local.get 0 + i32.load + local.set 9 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hcbcc44bfbe3494f5E + local.tee 1 + local.get 3 + i32.store offset=96 + local.get 1 + i32.const 0 + i32.store16 offset=94 + local.get 1 + i32.const 0 + i32.store + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 9 + i32.const 1 + i32.add + local.tee 9 + i32.store + local.get 3 + i32.const 0 + i32.store16 offset=92 + local.get 3 + local.get 1 + i32.store + local.get 2 + local.get 1 + i32.store offset=36 + local.get 2 + local.get 9 + i32.store offset=32 + local.get 2 + i32.const 32 + i32.add + local.get 8 + local.get 6 + local.get 7 + local.get 4 + call $_ZN5alloc11collections5btree4node119NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$4push17h252af93f310847b4E + end + local.get 0 + local.get 0 + i32.load offset=8 + i32.const 1 + i32.add + i32.store offset=8 + end + local.get 2 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 5 + return + end + i32.const 1049504 + i32.const 43 + i32.const 1049644 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN18pkmn_lib_interface13app_interface4list22ImmutableList$LT$T$GT$3get17h5cfc3eec03f06761E (type 14) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i64 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 1 + i32.load + local.tee 4 + i32.eqz + br_if 0 (;@8;) + local.get 4 + local.get 4 + i32.load offset=8 + local.tee 5 + i32.const 4 + i32.add + i32.store offset=8 + local.get 4 + i32.const 8 + i32.add + local.set 1 + block ;; label = @9 + block ;; label = @10 + local.get 5 + i32.const 2147483644 + i32.gt_u + br_if 0 (;@10;) + loop ;; label = @11 + local.get 5 + i32.const 3 + i32.and + i32.eqz + br_if 2 (;@9;) + local.get 1 + i32.load + i32.const -4 + i32.add + local.tee 5 + i32.const 2147483644 + i32.le_u + br_if 0 (;@11;) + end + end + local.get 1 + local.get 1 + i32.load + i32.const -4 + i32.add + i32.store + i32.const 1049012 + i32.const 44 + i32.const 1049144 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 4 + i32.const 20 + i32.add + i32.load + local.get 2 + i32.le_u + br_if 1 (;@7;) + block ;; label = @9 + block ;; label = @10 + local.get 4 + i32.const 12 + i32.add + local.tee 6 + i32.load + local.tee 7 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.load8_u + local.tee 5 + i32.const 6 + i32.eq + br_if 0 (;@10;) + block ;; label = @11 + block ;; label = @12 + local.get 5 + i32.const 5 + i32.ne + br_if 0 (;@12;) + local.get 0 + i32.const 5 + i32.store8 + br 1 (;@11;) + end + i32.const 0 + local.set 4 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + block ;; label = @16 + block ;; label = @17 + block ;; label = @18 + local.get 5 + br_table 6 (;@12;) 0 (;@18;) 1 (;@17;) 2 (;@16;) 3 (;@15;) 6 (;@12;) + end + local.get 7 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.load8_u offset=1 + local.set 6 + i32.const 1 + local.set 4 + br 4 (;@13;) + end + local.get 7 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.const 8 + i32.add + i64.load + local.set 8 + i32.const 2 + local.set 4 + br 4 (;@12;) + end + local.get 7 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.const 4 + i32.add + i32.load + local.set 9 + i32.const 3 + local.set 4 + br 1 (;@14;) + end + i32.const 4 + local.set 4 + local.get 7 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.const 4 + i32.add + i32.load + local.tee 5 + local.get 5 + i32.load + local.tee 2 + i32.const 1 + i32.add + local.tee 6 + call $_ZN4core4cell13Cell$LT$T$GT$7replace17hc78ae098bfc89cccE + drop + local.get 6 + local.get 2 + i32.lt_u + br_if 8 (;@6;) + local.get 5 + call $_ZN5alloc2rc11Rc$LT$T$GT$10from_inner17h4cf67c0ee6cad385E + local.set 9 + end + end + end + local.get 0 + local.get 6 + i32.store8 offset=1 + local.get 0 + local.get 4 + i32.store8 + local.get 0 + i32.const 8 + i32.add + local.get 8 + i64.store + local.get 0 + i32.const 4 + i32.add + local.get 9 + i32.store + end + local.get 1 + i32.load + i32.const 3 + i32.le_u + br_if 5 (;@5;) + local.get 1 + local.get 1 + i32.load + i32.const -4 + i32.add + i32.store + br 1 (;@9;) + end + local.get 1 + i32.load + i32.const 3 + i32.le_u + br_if 5 (;@4;) + local.get 4 + local.get 4 + i32.load offset=8 + i32.const -4 + i32.add + i32.store offset=8 + local.get 4 + call $_ZN18pkmn_lib_interface8handling10extern_ref21VecExternRef$LT$T$GT$18get_internal_index17h3b6b96e581abe44bE + local.get 2 + call $_vec_extern_ref_get_value + local.set 5 + call $_ZN77_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$core..default..Default$GT$7default17hebe5f401ed8d1273E + block ;; label = @10 + block ;; label = @11 + local.get 5 + i32.eqz + br_if 0 (;@11;) + local.get 3 + i32.const 8 + i32.add + local.get 5 + call $_ZN161_$LT$pkmn_lib_interface..app_interface..library..effect_parameter..EffectParameter$u20$as$u20$pkmn_lib_interface..handling..extern_ref..ExternalReferenceType$GT$17from_extern_value17h23b8b0077a8feb20E + br 1 (;@10;) + end + local.get 3 + i32.const 5 + i32.store8 offset=8 + end + loop ;; label = @10 + local.get 1 + local.get 1 + i32.load + local.tee 5 + i32.const 1 + local.get 5 + select + i32.store + local.get 5 + br_if 0 (;@10;) + end + local.get 3 + local.get 6 + i32.store offset=28 + local.get 3 + local.get 1 + i32.store offset=24 + local.get 4 + i32.load offset=20 + local.tee 1 + local.get 2 + i32.le_u + br_if 6 (;@3;) + block ;; label = @10 + local.get 6 + i32.load + local.tee 7 + local.get 2 + i32.const 4 + i32.shl + i32.add + local.tee 1 + i32.load8_u + local.tee 5 + i32.const 6 + i32.eq + br_if 0 (;@10;) + local.get 5 + i32.const 29 + i32.shl + i32.const 29 + i32.shr_s + i32.const -1 + i32.gt_s + br_if 0 (;@10;) + local.get 5 + i32.const 7 + i32.and + i32.const 5 + i32.eq + br_if 0 (;@10;) + local.get 7 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.const 4 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + end + local.get 1 + local.get 3 + i64.load offset=8 + i64.store + local.get 1 + i32.const 8 + i32.add + local.get 3 + i32.const 8 + i32.add + i32.const 8 + i32.add + i64.load + i64.store + local.get 4 + i32.load offset=20 + local.tee 1 + local.get 2 + i32.le_u + br_if 7 (;@2;) + local.get 6 + i32.load + local.tee 5 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.load8_u + local.tee 1 + i32.const 6 + i32.eq + br_if 8 (;@1;) + block ;; label = @10 + block ;; label = @11 + local.get 1 + i32.const 5 + i32.ne + br_if 0 (;@11;) + local.get 0 + i32.const 5 + i32.store8 + br 1 (;@10;) + end + i32.const 0 + local.set 4 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + block ;; label = @16 + block ;; label = @17 + local.get 1 + br_table 6 (;@11;) 0 (;@17;) 1 (;@16;) 2 (;@15;) 3 (;@14;) 6 (;@11;) + end + local.get 5 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.load8_u offset=1 + local.set 7 + i32.const 1 + local.set 4 + br 4 (;@12;) + end + local.get 5 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.const 8 + i32.add + i64.load + local.set 8 + i32.const 2 + local.set 4 + br 4 (;@11;) + end + local.get 5 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.const 4 + i32.add + i32.load + local.set 6 + i32.const 3 + local.set 4 + br 1 (;@13;) + end + i32.const 4 + local.set 4 + local.get 5 + local.get 2 + i32.const 4 + i32.shl + i32.add + i32.const 4 + i32.add + i32.load + local.tee 1 + local.get 1 + i32.load + local.tee 5 + i32.const 1 + i32.add + local.tee 2 + call $_ZN4core4cell13Cell$LT$T$GT$7replace17hc78ae098bfc89cccE + drop + local.get 2 + local.get 5 + i32.lt_u + br_if 7 (;@6;) + local.get 1 + call $_ZN5alloc2rc11Rc$LT$T$GT$10from_inner17h4cf67c0ee6cad385E + local.set 6 + end + end + end + local.get 0 + local.get 7 + i32.store8 offset=1 + local.get 0 + local.get 4 + i32.store8 + local.get 0 + i32.const 8 + i32.add + local.get 8 + i64.store + local.get 0 + i32.const 4 + i32.add + local.get 6 + i32.store + end + local.get 3 + i32.const 24 + i32.add + call $_ZN85_$LT$spin..rwlock..RwLockWriteGuard$LT$T$C$R$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17ha5d71d79800ac4aeE + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer + return + end + i32.const 1049840 + i32.const 43 + i32.const 1049760 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1049840 + i32.const 43 + i32.const 1049776 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + unreachable + unreachable + end + i32.const 1049160 + i32.const 78 + i32.const 1049240 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1049160 + i32.const 78 + i32.const 1049240 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 2 + local.get 1 + i32.const 1049792 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 2 + local.get 1 + i32.const 1049808 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + i32.const 1049840 + i32.const 43 + i32.const 1049824 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN18pkmn_lib_interface13app_interface7library14data_libraries11DataLibrary11get_by_hash17h91e164fb2e0e894bE (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 1 + i32.store + local.get 0 + call $_ZN248_$LT$pkmn_lib_interface..app_interface..library..data_libraries..move_library..MoveLibrary$u20$as$u20$pkmn_lib_interface..app_interface..library..data_libraries..DataLibrary$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData$GT$$GT$9get_cache17hb60c9f486fe6daabE + local.tee 3 + local.get 3 + i32.load + local.tee 1 + i32.const 4 + i32.add + i32.store + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 2147483644 + i32.gt_u + br_if 0 (;@2;) + loop ;; label = @3 + local.get 1 + i32.const 3 + i32.and + i32.eqz + br_if 2 (;@1;) + local.get 3 + i32.load + i32.const -4 + i32.add + local.tee 1 + i32.const 2147483644 + i32.le_u + br_if 0 (;@3;) + end + end + local.get 3 + local.get 3 + i32.load + i32.const -4 + i32.add + i32.store + i32.const 1049012 + i32.const 44 + i32.const 1049144 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 3 + i32.const 4 + i32.add + local.get 2 + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h0a1965f3b267b689E + local.tee 1 + i32.eqz + br_if 0 (;@5;) + local.get 1 + i32.load + local.tee 1 + local.get 1 + i32.load + local.tee 4 + i32.const 1 + i32.add + local.tee 0 + call $_ZN4core4cell13Cell$LT$T$GT$7replace17hc78ae098bfc89cccE + drop + local.get 0 + local.get 4 + i32.lt_u + br_if 2 (;@3;) + local.get 1 + call $_ZN5alloc2rc11Rc$LT$T$GT$10from_inner17hcc7a73b0c2860ec6E + local.set 4 + local.get 3 + i32.load + i32.const 3 + i32.le_u + br_if 3 (;@2;) + local.get 3 + local.get 3 + i32.load + i32.const -4 + i32.add + i32.store + br 1 (;@4;) + end + local.get 3 + i32.load + i32.const 3 + i32.le_u + br_if 3 (;@1;) + local.get 3 + local.get 3 + i32.load + i32.const -4 + i32.add + i32.store + block ;; label = @5 + local.get 0 + call $_ZN248_$LT$pkmn_lib_interface..app_interface..library..data_libraries..move_library..MoveLibrary$u20$as$u20$pkmn_lib_interface..app_interface..library..data_libraries..DataLibrary$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData$GT$$GT$12get_self_ref17hd38ccacb984ec5fdE + local.get 2 + i32.load + call $_ZN248_$LT$pkmn_lib_interface..app_interface..library..data_libraries..move_library..MoveLibrary$u20$as$u20$pkmn_lib_interface..app_interface..library..data_libraries..DataLibrary$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData$GT$$GT$16_get_ref_by_hash17h5103b1a59a611ff1E + local.tee 1 + br_if 0 (;@5;) + i32.const 0 + local.set 4 + br 1 (;@4;) + end + local.get 1 + call $_ZN147_$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData$u20$as$u20$pkmn_lib_interface..handling..extern_ref..ExternalReferenceType$GT$17from_extern_value17h0774b6710cbbe0e5E + local.set 4 + local.get 0 + call $_ZN248_$LT$pkmn_lib_interface..app_interface..library..data_libraries..move_library..MoveLibrary$u20$as$u20$pkmn_lib_interface..app_interface..library..data_libraries..DataLibrary$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData$GT$$GT$9get_cache17hb60c9f486fe6daabE + local.set 3 + loop ;; label = @5 + local.get 3 + local.get 3 + i32.load + local.tee 1 + i32.const 1 + local.get 1 + select + i32.store + local.get 1 + br_if 0 (;@5;) + end + local.get 2 + local.get 3 + i32.store offset=8 + local.get 2 + local.get 3 + i32.const 4 + i32.add + local.tee 0 + i32.store offset=12 + local.get 2 + i32.load + local.set 5 + local.get 4 + local.get 4 + i32.load + local.tee 1 + i32.const 1 + i32.add + local.tee 3 + call $_ZN4core4cell13Cell$LT$T$GT$7replace17hc78ae098bfc89cccE + drop + local.get 3 + local.get 1 + i32.lt_u + br_if 1 (;@3;) + local.get 2 + local.get 0 + local.get 5 + local.get 4 + call $_ZN5alloc2rc11Rc$LT$T$GT$10from_inner17hcc7a73b0c2860ec6E + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$6insert17hc795154430eeedb2E + local.tee 1 + i32.store offset=4 + block ;; label = @5 + local.get 1 + i32.eqz + br_if 0 (;@5;) + local.get 2 + i32.const 4 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hb21b2573a665d88cE + end + local.get 2 + i32.const 8 + i32.add + call $_ZN85_$LT$spin..rwlock..RwLockWriteGuard$LT$T$C$R$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h65dd415546bcc452E + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 4 + return + end + unreachable + unreachable + end + i32.const 1049160 + i32.const 78 + i32.const 1049240 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1049160 + i32.const 78 + i32.const 1049240 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $__rust_alloc (type 1) (param i32 i32) (result i32) + (local i32) + local.get 0 + local.get 1 + call $__rg_alloc + local.set 2 + local.get 2 + return) + (func $__rust_dealloc (type 14) (param i32 i32 i32) + local.get 0 + local.get 1 + local.get 2 + call $__rg_dealloc + return) + (func $__rust_realloc (type 15) (param i32 i32 i32 i32) (result i32) + (local i32) + local.get 0 + local.get 1 + local.get 2 + local.get 3 + call $__rg_realloc + local.set 4 + local.get 4 + return) + (func $__rust_alloc_zeroed (type 1) (param i32 i32) (result i32) + (local i32) + local.get 0 + local.get 1 + call $__rg_alloc_zeroed + local.set 2 + local.get 2 + return) + (func $__rust_alloc_error_handler (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $__rg_oom + return) + (func $_ZN5alloc11collections5btree4node119NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$4push17h1ff350c8ee7d46c9E (type 11) (param i32 i32 i32 i32 i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load + i32.const -1 + i32.add + local.get 3 + i32.ne + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.tee 0 + i32.load16_u offset=94 + local.tee 3 + i32.const 10 + i32.le_u + br_if 1 (;@1;) + i32.const 1049883 + i32.const 32 + i32.const 1050072 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1050006 + i32.const 48 + i32.const 1050056 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 0 + local.get 3 + i32.const 1 + i32.add + local.tee 5 + i32.store16 offset=94 + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + local.tee 3 + i32.const 48 + i32.add + local.get 2 + i32.store + local.get 3 + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 0 + local.get 5 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + local.get 4 + i32.store + local.get 4 + local.get 5 + i32.store16 offset=92 + local.get 4 + local.get 0 + i32.store) + (func $_ZN5alloc11collections5btree4node119NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$4push17h2e57a3d25f68c980E (type 11) (param i32 i32 i32 i32 i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load + i32.const -1 + i32.add + local.get 3 + i32.ne + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.tee 0 + i32.load16_u offset=94 + local.tee 3 + i32.const 10 + i32.le_u + br_if 1 (;@1;) + i32.const 1049883 + i32.const 32 + i32.const 1050072 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1050006 + i32.const 48 + i32.const 1050056 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 0 + local.get 3 + i32.const 1 + i32.add + local.tee 5 + i32.store16 offset=94 + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + local.tee 3 + i32.const 48 + i32.add + local.get 2 + i32.store + local.get 3 + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 0 + local.get 5 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + local.get 4 + i32.store + local.get 4 + local.get 5 + i32.store16 offset=92 + local.get 4 + local.get 0 + i32.store) + (func $_ZN5alloc11collections5btree4node119NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$4push17hf37807a595b2708fE (type 11) (param i32 i32 i32 i32 i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load + i32.const -1 + i32.add + local.get 3 + i32.ne + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.tee 0 + i32.load16_u offset=94 + local.tee 3 + i32.const 10 + i32.le_u + br_if 1 (;@1;) + i32.const 1049883 + i32.const 32 + i32.const 1050072 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1050006 + i32.const 48 + i32.const 1050056 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 0 + local.get 3 + i32.const 1 + i32.add + local.tee 5 + i32.store16 offset=94 + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + local.tee 3 + i32.const 48 + i32.add + local.get 2 + i32.store + local.get 3 + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 0 + local.get 5 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + local.get 4 + i32.store + local.get 4 + local.get 5 + i32.store16 offset=92 + local.get 4 + local.get 0 + i32.store) + (func $_ZN5alloc11collections5btree4node12slice_insert17h24721096433ef716E (type 5) (param i32 i32 i32 i32) + (local i32) + block ;; label = @1 + local.get 2 + i32.const 1 + i32.add + local.tee 4 + local.get 1 + i32.ge_u + br_if 0 (;@1;) + local.get 0 + local.get 4 + i32.const 2 + i32.shl + i32.add + local.get 0 + local.get 2 + i32.const 2 + i32.shl + i32.add + local.get 2 + i32.const -1 + i32.xor + local.get 1 + i32.add + i32.const 2 + i32.shl + call $memmove + drop + end + local.get 0 + local.get 2 + i32.const 2 + i32.shl + i32.add + local.get 3 + i32.store) + (func $_ZN5alloc11collections5btree4node12slice_insert17h415b83088931aa29E (type 5) (param i32 i32 i32 i32) + (local i32) + block ;; label = @1 + local.get 2 + i32.const 1 + i32.add + local.tee 4 + local.get 1 + i32.ge_u + br_if 0 (;@1;) + local.get 0 + local.get 4 + i32.const 2 + i32.shl + i32.add + local.get 0 + local.get 2 + i32.const 2 + i32.shl + i32.add + local.get 2 + i32.const -1 + i32.xor + local.get 1 + i32.add + i32.const 2 + i32.shl + call $memmove + drop + end + local.get 0 + local.get 2 + i32.const 2 + i32.shl + i32.add + local.get 3 + i32.store) + (func $_ZN5alloc11collections5btree4node13move_to_slice17h0cfab12f08595f20E (type 5) (param i32 i32 i32 i32) + block ;; label = @1 + local.get 1 + local.get 3 + i32.ne + br_if 0 (;@1;) + local.get 2 + local.get 0 + local.get 1 + i32.const 2 + i32.shl + call $memcpy + drop + return + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node13move_to_slice17h6bce851203b1f57aE (type 5) (param i32 i32 i32 i32) + block ;; label = @1 + local.get 1 + local.get 3 + i32.ne + br_if 0 (;@1;) + local.get 2 + local.get 0 + local.get 1 + i32.const 2 + i32.shl + call $memcpy + drop + return + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17h0d87eaa725bd16e8E (type 14) (param i32 i32 i32) + (local i32 i32 i32 i32 i32) + local.get 2 + local.get 1 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + local.get 1 + i32.load offset=8 + local.tee 5 + i32.const -1 + i32.xor + i32.add + local.tee 1 + i32.store16 offset=94 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 12 + i32.ge_u + br_if 0 (;@2;) + local.get 4 + local.get 5 + i32.const 1 + i32.add + local.tee 6 + i32.sub + local.get 1 + i32.ne + br_if 1 (;@1;) + local.get 3 + local.get 5 + i32.const 2 + i32.shl + i32.add + local.tee 4 + i32.const 48 + i32.add + i32.load + local.set 7 + local.get 4 + i32.const 4 + i32.add + i32.load + local.set 4 + local.get 2 + i32.const 4 + i32.add + local.get 3 + local.get 6 + i32.const 2 + i32.shl + i32.add + local.tee 6 + i32.const 4 + i32.add + local.get 1 + i32.const 2 + i32.shl + local.tee 1 + call $memcpy + drop + local.get 2 + i32.const 48 + i32.add + local.get 6 + i32.const 48 + i32.add + local.get 1 + call $memcpy + drop + local.get 0 + local.get 7 + i32.store offset=4 + local.get 0 + local.get 4 + i32.store + local.get 3 + local.get 5 + i32.store16 offset=94 + return + end + local.get 1 + i32.const 11 + i32.const 1050144 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17h100aa824486207e8E (type 14) (param i32 i32 i32) + (local i32 i32 i32 i32 i32) + local.get 2 + local.get 1 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + local.get 1 + i32.load offset=8 + local.tee 5 + i32.const -1 + i32.xor + i32.add + local.tee 1 + i32.store16 offset=94 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 12 + i32.ge_u + br_if 0 (;@2;) + local.get 4 + local.get 5 + i32.const 1 + i32.add + local.tee 6 + i32.sub + local.get 1 + i32.ne + br_if 1 (;@1;) + local.get 3 + local.get 5 + i32.const 2 + i32.shl + i32.add + local.tee 4 + i32.const 48 + i32.add + i32.load + local.set 7 + local.get 4 + i32.const 4 + i32.add + i32.load + local.set 4 + local.get 2 + i32.const 4 + i32.add + local.get 3 + local.get 6 + i32.const 2 + i32.shl + i32.add + local.tee 6 + i32.const 4 + i32.add + local.get 1 + i32.const 2 + i32.shl + local.tee 1 + call $memcpy + drop + local.get 2 + i32.const 48 + i32.add + local.get 6 + i32.const 48 + i32.add + local.get 1 + call $memcpy + drop + local.get 0 + local.get 7 + i32.store offset=4 + local.get 0 + local.get 4 + i32.store + local.get 3 + local.get 5 + i32.store16 offset=94 + return + end + local.get 1 + i32.const 11 + i32.const 1050144 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17h76d6ac139cdde820E (type 16) (param i32 i32) (result i32 i32) + (local i32 i32 i32 i32 i32) + local.get 1 + local.get 0 + i32.load offset=4 + local.tee 2 + i32.load16_u offset=94 + local.tee 3 + local.get 0 + i32.load offset=8 + local.tee 4 + i32.const -1 + i32.xor + i32.add + local.tee 0 + i32.store16 offset=94 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.const 12 + i32.ge_u + br_if 0 (;@2;) + local.get 3 + local.get 4 + i32.const 1 + i32.add + local.tee 5 + i32.sub + local.get 0 + i32.ne + br_if 1 (;@1;) + local.get 2 + local.get 4 + i32.const 2 + i32.shl + i32.add + local.tee 3 + i32.const 48 + i32.add + i32.load + local.set 6 + local.get 3 + i32.const 4 + i32.add + i32.load + local.set 3 + local.get 1 + i32.const 4 + i32.add + local.get 2 + local.get 5 + i32.const 2 + i32.shl + i32.add + local.tee 5 + i32.const 4 + i32.add + local.get 0 + i32.const 2 + i32.shl + local.tee 0 + call $memcpy + drop + local.get 1 + i32.const 48 + i32.add + local.get 5 + i32.const 48 + i32.add + local.get 0 + call $memcpy + drop + local.get 2 + local.get 4 + i32.store16 offset=94 + local.get 3 + local.get 6 + return + end + local.get 0 + i32.const 11 + i32.const 1050144 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17h8bc6aca7f2bb2f95E (type 14) (param i32 i32 i32) + (local i32 i32 i32 i32 i32) + local.get 2 + local.get 1 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + local.get 1 + i32.load offset=8 + local.tee 5 + i32.const -1 + i32.xor + i32.add + local.tee 1 + i32.store16 offset=94 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 12 + i32.ge_u + br_if 0 (;@2;) + local.get 4 + local.get 5 + i32.const 1 + i32.add + local.tee 6 + i32.sub + local.get 1 + i32.ne + br_if 1 (;@1;) + local.get 3 + local.get 5 + i32.const 2 + i32.shl + i32.add + local.tee 4 + i32.const 48 + i32.add + i32.load + local.set 7 + local.get 4 + i32.const 4 + i32.add + i32.load + local.set 4 + local.get 2 + i32.const 4 + i32.add + local.get 3 + local.get 6 + i32.const 2 + i32.shl + i32.add + local.tee 6 + i32.const 4 + i32.add + local.get 1 + i32.const 2 + i32.shl + local.tee 1 + call $memcpy + drop + local.get 2 + i32.const 48 + i32.add + local.get 6 + i32.const 48 + i32.add + local.get 1 + call $memcpy + drop + local.get 0 + local.get 7 + i32.store offset=4 + local.get 0 + local.get 4 + i32.store + local.get 3 + local.get 5 + i32.store16 offset=94 + return + end + local.get 1 + i32.const 11 + i32.const 1050144 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17hef24c47206206f5eE (type 16) (param i32 i32) (result i32 i32) + (local i32 i32 i32 i32 i32) + local.get 1 + local.get 0 + i32.load offset=4 + local.tee 2 + i32.load16_u offset=94 + local.tee 3 + local.get 0 + i32.load offset=8 + local.tee 4 + i32.const -1 + i32.xor + i32.add + local.tee 0 + i32.store16 offset=94 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.const 12 + i32.ge_u + br_if 0 (;@2;) + local.get 3 + local.get 4 + i32.const 1 + i32.add + local.tee 5 + i32.sub + local.get 0 + i32.ne + br_if 1 (;@1;) + local.get 2 + local.get 4 + i32.const 2 + i32.shl + i32.add + local.tee 3 + i32.const 48 + i32.add + i32.load + local.set 6 + local.get 3 + i32.const 4 + i32.add + i32.load + local.set 3 + local.get 1 + i32.const 4 + i32.add + local.get 2 + local.get 5 + i32.const 2 + i32.shl + i32.add + local.tee 5 + i32.const 4 + i32.add + local.get 0 + i32.const 2 + i32.shl + local.tee 0 + call $memcpy + drop + local.get 1 + i32.const 48 + i32.add + local.get 5 + i32.const 48 + i32.add + local.get 0 + call $memcpy + drop + local.get 2 + local.get 4 + i32.store16 offset=94 + local.get 3 + local.get 6 + return + end + local.get 0 + i32.const 11 + i32.const 1050144 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17hfd072c745e66b777E (type 14) (param i32 i32 i32) + (local i32 i32 i32 i32 i32) + local.get 2 + local.get 1 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + local.get 1 + i32.load offset=8 + local.tee 5 + i32.const -1 + i32.xor + i32.add + local.tee 1 + i32.store16 offset=94 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 12 + i32.ge_u + br_if 0 (;@2;) + local.get 4 + local.get 5 + i32.const 1 + i32.add + local.tee 6 + i32.sub + local.get 1 + i32.ne + br_if 1 (;@1;) + local.get 3 + local.get 5 + i32.const 2 + i32.shl + i32.add + local.tee 4 + i32.const 48 + i32.add + i32.load + local.set 7 + local.get 4 + i32.const 4 + i32.add + i32.load + local.set 4 + local.get 2 + i32.const 4 + i32.add + local.get 3 + local.get 6 + i32.const 2 + i32.shl + i32.add + local.tee 6 + i32.const 4 + i32.add + local.get 1 + i32.const 2 + i32.shl + local.tee 1 + call $memcpy + drop + local.get 2 + i32.const 48 + i32.add + local.get 6 + i32.const 48 + i32.add + local.get 1 + call $memcpy + drop + local.get 0 + local.get 7 + i32.store offset=4 + local.get 0 + local.get 4 + i32.store + local.get 3 + local.get 5 + i32.store16 offset=94 + return + end + local.get 1 + i32.const 11 + i32.const 1050144 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h6438ffb97529cfcdE (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=8 + local.tee 3 + i32.const 1 + i32.add + local.tee 4 + local.get 0 + i32.load offset=4 + local.tee 0 + i32.load16_u offset=94 + local.tee 5 + i32.le_u + br_if 0 (;@2;) + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + br 1 (;@1;) + end + local.get 0 + i32.const 4 + i32.add + local.tee 6 + local.get 4 + i32.const 2 + i32.shl + local.tee 4 + i32.add + local.get 6 + local.get 3 + i32.const 2 + i32.shl + local.tee 7 + i32.add + local.tee 6 + local.get 5 + local.get 3 + i32.sub + i32.const 2 + i32.shl + local.tee 8 + call $memmove + drop + local.get 6 + local.get 1 + i32.store + local.get 0 + i32.const 48 + i32.add + local.tee 1 + local.get 4 + i32.add + local.get 1 + local.get 7 + i32.add + local.get 8 + call $memmove + drop + end + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.tee 3 + local.get 2 + i32.store + local.get 0 + local.get 5 + i32.const 1 + i32.add + i32.store16 offset=94 + local.get 3) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h80aad89254f69c99E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=8 + local.tee 3 + i32.const 1 + i32.add + local.tee 4 + local.get 0 + i32.load offset=4 + local.tee 0 + i32.load16_u offset=94 + local.tee 5 + i32.le_u + br_if 0 (;@2;) + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + br 1 (;@1;) + end + local.get 0 + i32.const 4 + i32.add + local.tee 6 + local.get 4 + i32.const 2 + i32.shl + local.tee 4 + i32.add + local.get 6 + local.get 3 + i32.const 2 + i32.shl + local.tee 7 + i32.add + local.tee 6 + local.get 5 + local.get 3 + i32.sub + i32.const 2 + i32.shl + local.tee 8 + call $memmove + drop + local.get 6 + local.get 1 + i32.store + local.get 0 + i32.const 48 + i32.add + local.tee 1 + local.get 4 + i32.add + local.get 1 + local.get 7 + i32.add + local.get 8 + call $memmove + drop + end + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.tee 3 + local.get 2 + i32.store + local.get 0 + local.get 5 + i32.const 1 + i32.add + i32.store16 offset=94 + local.get 3) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17hd44308bdbba63af7E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32) + local.get 0 + i32.load offset=4 + local.tee 3 + local.get 0 + i32.load offset=8 + local.tee 0 + i32.const 2 + i32.shl + local.tee 4 + i32.add + i32.const 4 + i32.add + local.set 5 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.const 1 + i32.add + local.tee 6 + local.get 3 + i32.load16_u offset=94 + local.tee 7 + i32.le_u + br_if 0 (;@2;) + local.get 5 + local.get 1 + i32.store + br 1 (;@1;) + end + local.get 3 + i32.const 4 + i32.add + local.tee 8 + local.get 6 + i32.const 2 + i32.shl + local.tee 6 + i32.add + local.get 5 + local.get 7 + local.get 0 + i32.sub + i32.const 2 + i32.shl + local.tee 9 + call $memmove + drop + local.get 8 + local.get 4 + i32.add + local.get 1 + i32.store + local.get 3 + i32.const 48 + i32.add + local.tee 1 + local.get 6 + i32.add + local.get 1 + local.get 4 + i32.add + local.get 9 + call $memmove + drop + end + local.get 3 + local.get 0 + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.tee 0 + local.get 2 + i32.store + local.get 3 + local.get 7 + i32.const 1 + i32.add + i32.store16 offset=94 + local.get 0) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17h98f81a2af80d5892E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.load + i32.store + local.get 4 + local.get 1 + i64.load align=4 + i64.store offset=32 + local.get 4 + local.get 4 + i32.const 32 + i32.add + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17hb57c4bbc022be675E + local.get 4 + i32.load offset=24 + local.set 5 + block ;; label = @1 + block ;; label = @2 + local.get 4 + i32.load offset=4 + local.tee 1 + br_if 0 (;@2;) + local.get 0 + local.get 5 + i32.store offset=24 + local.get 0 + i32.const 0 + i32.store offset=4 + br 1 (;@1;) + end + local.get 4 + i32.const 20 + i32.add + i32.load + local.set 2 + local.get 4 + i32.const 16 + i32.add + i32.load + local.set 3 + local.get 4 + i32.const 12 + i32.add + i32.load + local.set 6 + local.get 4 + i32.load offset=8 + local.set 7 + local.get 4 + i32.load + local.set 8 + block ;; label = @2 + local.get 1 + i32.load + local.tee 9 + i32.eqz + br_if 0 (;@2;) + loop ;; label = @3 + local.get 4 + local.get 1 + i32.load16_u offset=92 + i32.store offset=40 + local.get 4 + local.get 9 + i32.store offset=36 + local.get 4 + local.get 8 + i32.const 1 + i32.add + i32.store offset=32 + local.get 4 + local.get 4 + i32.const 32 + i32.add + local.get 7 + local.get 6 + local.get 3 + local.get 2 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17h7512231cce529884E + block ;; label = @4 + local.get 4 + i32.load offset=4 + local.tee 1 + br_if 0 (;@4;) + local.get 0 + local.get 5 + i32.store offset=24 + local.get 0 + i32.const 0 + i32.store offset=4 + br 3 (;@1;) + end + local.get 4 + i32.load offset=20 + local.set 2 + local.get 4 + i32.load offset=16 + local.set 3 + local.get 4 + i32.load offset=12 + local.set 6 + local.get 4 + i32.load offset=8 + local.set 7 + local.get 4 + i32.load + local.set 8 + local.get 1 + i32.load + local.tee 9 + br_if 0 (;@3;) + end + end + local.get 0 + local.get 5 + i32.store offset=24 + local.get 0 + local.get 7 + i32.store offset=8 + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 8 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 2 + i32.store + local.get 0 + i32.const 16 + i32.add + local.get 3 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + end + local.get 4 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17hb57c4bbc022be675E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i64) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 4 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 5 + i32.load16_u offset=94 + i32.const 11 + i32.lt_u + br_if 0 (;@2;) + local.get 4 + i32.const 8 + i32.add + local.get 1 + i32.load offset=8 + call $_ZN5alloc11collections5btree4node10splitpoint17hae767fb783475e91E + local.get 4 + i32.const 16 + i32.add + i32.load + local.set 6 + local.get 4 + i32.load offset=12 + local.set 7 + local.get 1 + i32.load + local.set 8 + local.get 4 + local.get 4 + i32.load offset=8 + i32.store offset=16 + local.get 4 + local.get 5 + i32.store offset=12 + local.get 4 + local.get 8 + i32.store offset=8 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hd0a8eef00f530b0eE + local.tee 1 + i32.const 0 + i32.store16 offset=94 + local.get 1 + i32.const 0 + i32.store + local.get 4 + i32.const 24 + i32.add + local.get 4 + i32.const 8 + i32.add + local.get 1 + call $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17h0d87eaa725bd16e8E + local.get 4 + i64.load offset=24 + local.set 9 + local.get 4 + local.get 6 + i32.store offset=16 + local.get 4 + local.get 1 + local.get 5 + local.get 7 + select + i32.store offset=12 + local.get 4 + i32.const 0 + local.get 8 + local.get 7 + select + i32.store offset=8 + local.get 4 + i32.const 8 + i32.add + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h80aad89254f69c99E + local.set 2 + local.get 0 + i32.const 20 + i32.add + local.get 1 + i32.store + local.get 0 + i32.const 16 + i32.add + i32.const 0 + i32.store + local.get 0 + local.get 9 + i64.store offset=8 align=4 + local.get 0 + local.get 5 + i32.store offset=4 + local.get 0 + local.get 8 + i32.store + br 1 (;@1;) + end + local.get 1 + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h80aad89254f69c99E + local.set 2 + local.get 0 + i32.const 0 + i32.store offset=4 + end + local.get 0 + local.get 2 + i32.store offset=24 + local.get 4 + i32.const 32 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17h7512231cce529884E (type 10) (param i32 i32 i32 i32 i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 6 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.load + local.tee 7 + i32.const -1 + i32.add + local.get 4 + i32.ne + br_if 0 (;@3;) + local.get 1 + i32.load offset=4 + local.tee 4 + i32.load16_u offset=94 + i32.const 11 + i32.lt_u + br_if 1 (;@2;) + local.get 6 + i32.const 8 + i32.add + local.get 1 + i32.load offset=8 + call $_ZN5alloc11collections5btree4node10splitpoint17hae767fb783475e91E + local.get 6 + i32.const 16 + i32.add + i32.load + local.set 1 + local.get 6 + i32.load offset=12 + local.set 8 + local.get 6 + local.get 6 + i32.load offset=8 + i32.store offset=40 + local.get 6 + local.get 4 + i32.store offset=36 + local.get 6 + local.get 7 + i32.store offset=32 + local.get 6 + i32.const 8 + i32.add + local.get 6 + i32.const 32 + i32.add + call $_ZN5alloc11collections5btree4node212Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..KV$GT$5split17h1ced9d3ebacb88ebE + block ;; label = @4 + block ;; label = @5 + local.get 8 + br_if 0 (;@5;) + local.get 6 + local.get 6 + i32.load offset=8 + i32.store offset=32 + local.get 6 + i32.load offset=12 + local.set 4 + br 1 (;@4;) + end + local.get 6 + local.get 6 + i32.load offset=24 + i32.store offset=32 + local.get 6 + i32.const 28 + i32.add + i32.load + local.set 4 + end + local.get 6 + local.get 1 + i32.store offset=40 + local.get 6 + local.get 4 + i32.store offset=36 + local.get 6 + i32.const 32 + i32.add + local.get 2 + local.get 3 + local.get 6 + local.get 5 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h571f257e8232aac8E + local.get 0 + i32.const 16 + i32.add + local.get 6 + i32.const 8 + i32.add + i32.const 16 + i32.add + i64.load + i64.store align=4 + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.const 8 + i32.add + i32.const 8 + i32.add + i64.load + i64.store align=4 + local.get 0 + local.get 6 + i64.load offset=8 + i64.store align=4 + br 2 (;@1;) + end + i32.const 1050176 + i32.const 53 + i32.const 1050232 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 1 + local.get 2 + local.get 3 + local.get 6 + local.get 5 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h571f257e8232aac8E + local.get 0 + i32.const 0 + i32.store offset=4 + end + local.get 6 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17hc841b4bf1672076bE (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.load + i32.store + local.get 4 + local.get 1 + i64.load align=4 + i64.store offset=32 + local.get 4 + local.get 4 + i32.const 32 + i32.add + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17h538fddab051faeceE + local.get 4 + i32.load offset=24 + local.set 5 + block ;; label = @1 + block ;; label = @2 + local.get 4 + i32.load offset=4 + local.tee 1 + br_if 0 (;@2;) + local.get 0 + local.get 5 + i32.store offset=24 + local.get 0 + i32.const 0 + i32.store offset=4 + br 1 (;@1;) + end + local.get 4 + i32.const 20 + i32.add + i32.load + local.set 2 + local.get 4 + i32.const 16 + i32.add + i32.load + local.set 3 + local.get 4 + i32.const 12 + i32.add + i32.load + local.set 6 + local.get 4 + i32.load offset=8 + local.set 7 + local.get 4 + i32.load + local.set 8 + block ;; label = @2 + local.get 1 + i32.load + local.tee 9 + i32.eqz + br_if 0 (;@2;) + loop ;; label = @3 + local.get 4 + local.get 1 + i32.load16_u offset=92 + i32.store offset=40 + local.get 4 + local.get 9 + i32.store offset=36 + local.get 4 + local.get 8 + i32.const 1 + i32.add + i32.store offset=32 + local.get 4 + local.get 4 + i32.const 32 + i32.add + local.get 7 + local.get 6 + local.get 3 + local.get 2 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17hecbf93dddfd40a46E + block ;; label = @4 + local.get 4 + i32.load offset=4 + local.tee 1 + br_if 0 (;@4;) + local.get 0 + local.get 5 + i32.store offset=24 + local.get 0 + i32.const 0 + i32.store offset=4 + br 3 (;@1;) + end + local.get 4 + i32.load offset=20 + local.set 2 + local.get 4 + i32.load offset=16 + local.set 3 + local.get 4 + i32.load offset=12 + local.set 6 + local.get 4 + i32.load offset=8 + local.set 7 + local.get 4 + i32.load + local.set 8 + local.get 1 + i32.load + local.tee 9 + br_if 0 (;@3;) + end + end + local.get 0 + local.get 5 + i32.store offset=24 + local.get 0 + local.get 7 + i32.store offset=8 + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 8 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 2 + i32.store + local.get 0 + i32.const 16 + i32.add + local.get 3 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + end + local.get 4 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17h538fddab051faeceE (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i64) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 4 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 5 + i32.load16_u offset=94 + i32.const 11 + i32.lt_u + br_if 0 (;@2;) + local.get 4 + i32.const 8 + i32.add + local.get 1 + i32.load offset=8 + call $_ZN5alloc11collections5btree4node10splitpoint17hae767fb783475e91E + local.get 4 + i32.const 16 + i32.add + i32.load + local.set 6 + local.get 4 + i32.load offset=12 + local.set 7 + local.get 1 + i32.load + local.set 8 + local.get 4 + local.get 4 + i32.load offset=8 + i32.store offset=16 + local.get 4 + local.get 5 + i32.store offset=12 + local.get 4 + local.get 8 + i32.store offset=8 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hb8756242aac42e6fE + local.tee 1 + i32.const 0 + i32.store16 offset=94 + local.get 1 + i32.const 0 + i32.store + local.get 4 + i32.const 24 + i32.add + local.get 4 + i32.const 8 + i32.add + local.get 1 + call $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17h100aa824486207e8E + local.get 4 + i64.load offset=24 + local.set 9 + local.get 4 + local.get 6 + i32.store offset=16 + local.get 4 + local.get 1 + local.get 5 + local.get 7 + select + i32.store offset=12 + local.get 4 + i32.const 0 + local.get 8 + local.get 7 + select + i32.store offset=8 + local.get 4 + i32.const 8 + i32.add + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h6438ffb97529cfcdE + local.set 2 + local.get 0 + i32.const 20 + i32.add + local.get 1 + i32.store + local.get 0 + i32.const 16 + i32.add + i32.const 0 + i32.store + local.get 0 + local.get 9 + i64.store offset=8 align=4 + local.get 0 + local.get 5 + i32.store offset=4 + local.get 0 + local.get 8 + i32.store + br 1 (;@1;) + end + local.get 1 + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h6438ffb97529cfcdE + local.set 2 + local.get 0 + i32.const 0 + i32.store offset=4 + end + local.get 0 + local.get 2 + i32.store offset=24 + local.get 4 + i32.const 32 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17hecbf93dddfd40a46E (type 10) (param i32 i32 i32 i32 i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 6 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.load + local.tee 7 + i32.const -1 + i32.add + local.get 4 + i32.ne + br_if 0 (;@3;) + local.get 1 + i32.load offset=4 + local.tee 4 + i32.load16_u offset=94 + i32.const 11 + i32.lt_u + br_if 1 (;@2;) + local.get 6 + i32.const 8 + i32.add + local.get 1 + i32.load offset=8 + call $_ZN5alloc11collections5btree4node10splitpoint17hae767fb783475e91E + local.get 6 + i32.const 16 + i32.add + i32.load + local.set 1 + local.get 6 + i32.load offset=12 + local.set 8 + local.get 6 + local.get 6 + i32.load offset=8 + i32.store offset=40 + local.get 6 + local.get 4 + i32.store offset=36 + local.get 6 + local.get 7 + i32.store offset=32 + local.get 6 + i32.const 8 + i32.add + local.get 6 + i32.const 32 + i32.add + call $_ZN5alloc11collections5btree4node212Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..KV$GT$5split17h3affa5419035f7c2E + block ;; label = @4 + block ;; label = @5 + local.get 8 + br_if 0 (;@5;) + local.get 6 + local.get 6 + i32.load offset=8 + i32.store offset=32 + local.get 6 + i32.load offset=12 + local.set 4 + br 1 (;@4;) + end + local.get 6 + local.get 6 + i32.load offset=24 + i32.store offset=32 + local.get 6 + i32.const 28 + i32.add + i32.load + local.set 4 + end + local.get 6 + local.get 1 + i32.store offset=40 + local.get 6 + local.get 4 + i32.store offset=36 + local.get 6 + i32.const 32 + i32.add + local.get 2 + local.get 3 + local.get 6 + local.get 5 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17hb6588d43ec0df074E + local.get 0 + i32.const 16 + i32.add + local.get 6 + i32.const 8 + i32.add + i32.const 16 + i32.add + i64.load + i64.store align=4 + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.const 8 + i32.add + i32.const 8 + i32.add + i64.load + i64.store align=4 + local.get 0 + local.get 6 + i64.load offset=8 + i64.store align=4 + br 2 (;@1;) + end + i32.const 1050176 + i32.const 53 + i32.const 1050232 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 1 + local.get 2 + local.get 3 + local.get 6 + local.get 5 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17hb6588d43ec0df074E + local.get 0 + i32.const 0 + i32.store offset=4 + end + local.get 6 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17hed5f0f0493742c46E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.load + i32.store + local.get 4 + local.get 1 + i64.load align=4 + i64.store offset=32 + local.get 4 + local.get 4 + i32.const 32 + i32.add + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17h2fd328a70b09c322E + local.get 4 + i32.load offset=24 + local.set 5 + block ;; label = @1 + block ;; label = @2 + local.get 4 + i32.load offset=4 + local.tee 1 + br_if 0 (;@2;) + local.get 0 + local.get 5 + i32.store offset=24 + local.get 0 + i32.const 0 + i32.store offset=4 + br 1 (;@1;) + end + local.get 4 + i32.const 20 + i32.add + i32.load + local.set 2 + local.get 4 + i32.const 16 + i32.add + i32.load + local.set 3 + local.get 4 + i32.const 12 + i32.add + i32.load + local.set 6 + local.get 4 + i32.load offset=8 + local.set 7 + local.get 4 + i32.load + local.set 8 + block ;; label = @2 + local.get 1 + i32.load + local.tee 9 + i32.eqz + br_if 0 (;@2;) + loop ;; label = @3 + local.get 4 + local.get 1 + i32.load16_u offset=92 + i32.store offset=40 + local.get 4 + local.get 9 + i32.store offset=36 + local.get 4 + local.get 8 + i32.const 1 + i32.add + i32.store offset=32 + local.get 4 + local.get 4 + i32.const 32 + i32.add + local.get 7 + local.get 6 + local.get 3 + local.get 2 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17h5c956e25dd981340E + block ;; label = @4 + local.get 4 + i32.load offset=4 + local.tee 1 + br_if 0 (;@4;) + local.get 0 + local.get 5 + i32.store offset=24 + local.get 0 + i32.const 0 + i32.store offset=4 + br 3 (;@1;) + end + local.get 4 + i32.load offset=20 + local.set 2 + local.get 4 + i32.load offset=16 + local.set 3 + local.get 4 + i32.load offset=12 + local.set 6 + local.get 4 + i32.load offset=8 + local.set 7 + local.get 4 + i32.load + local.set 8 + local.get 1 + i32.load + local.tee 9 + br_if 0 (;@3;) + end + end + local.get 0 + local.get 5 + i32.store offset=24 + local.get 0 + local.get 7 + i32.store offset=8 + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 8 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 2 + i32.store + local.get 0 + i32.const 16 + i32.add + local.get 3 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + end + local.get 4 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17h2fd328a70b09c322E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 5 + i32.load16_u offset=94 + i32.const 11 + i32.lt_u + br_if 0 (;@2;) + local.get 4 + local.get 1 + i32.load offset=8 + call $_ZN5alloc11collections5btree4node10splitpoint17hae767fb783475e91E + local.get 4 + i32.const 8 + i32.add + i32.load + local.set 6 + local.get 4 + i32.load offset=4 + local.set 7 + local.get 1 + i32.load + local.set 8 + local.get 4 + local.get 4 + i32.load + i32.store offset=8 + local.get 4 + local.get 5 + i32.store offset=4 + local.get 4 + local.get 8 + i32.store + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h705225401cc383f4E + local.tee 1 + i32.const 0 + i32.store16 offset=94 + local.get 1 + i32.const 0 + i32.store + local.get 4 + local.get 1 + call $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17hef24c47206206f5eE + local.set 10 + local.set 9 + local.get 4 + local.get 6 + i32.store offset=8 + local.get 4 + local.get 1 + local.get 5 + local.get 7 + select + i32.store offset=4 + local.get 4 + i32.const 0 + local.get 8 + local.get 7 + select + i32.store + local.get 4 + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17hd44308bdbba63af7E + local.set 2 + local.get 0 + i32.const 20 + i32.add + local.get 1 + i32.store + local.get 0 + i32.const 16 + i32.add + i32.const 0 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 10 + i32.store + local.get 0 + local.get 9 + i32.store offset=8 + local.get 0 + local.get 5 + i32.store offset=4 + local.get 0 + local.get 8 + i32.store + br 1 (;@1;) + end + local.get 1 + local.get 2 + local.get 3 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17hd44308bdbba63af7E + local.set 2 + local.get 0 + i32.const 0 + i32.store offset=4 + end + local.get 0 + local.get 2 + i32.store offset=24 + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$6insert17h5c956e25dd981340E (type 10) (param i32 i32 i32 i32 i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 6 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.load + local.tee 7 + i32.const -1 + i32.add + local.get 4 + i32.ne + br_if 0 (;@3;) + local.get 1 + i32.load offset=4 + local.tee 4 + i32.load16_u offset=94 + i32.const 11 + i32.lt_u + br_if 1 (;@2;) + local.get 6 + i32.const 8 + i32.add + local.get 1 + i32.load offset=8 + call $_ZN5alloc11collections5btree4node10splitpoint17hae767fb783475e91E + local.get 6 + i32.const 16 + i32.add + i32.load + local.set 1 + local.get 6 + i32.load offset=12 + local.set 8 + local.get 6 + local.get 6 + i32.load offset=8 + i32.store offset=40 + local.get 6 + local.get 4 + i32.store offset=36 + local.get 6 + local.get 7 + i32.store offset=32 + local.get 6 + i32.const 8 + i32.add + local.get 6 + i32.const 32 + i32.add + call $_ZN5alloc11collections5btree4node212Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..KV$GT$5split17hd8a373594401b58aE + block ;; label = @4 + block ;; label = @5 + local.get 8 + br_if 0 (;@5;) + local.get 6 + local.get 6 + i32.load offset=8 + i32.store offset=32 + local.get 6 + i32.load offset=12 + local.set 4 + br 1 (;@4;) + end + local.get 6 + local.get 6 + i32.load offset=24 + i32.store offset=32 + local.get 6 + i32.const 28 + i32.add + i32.load + local.set 4 + end + local.get 6 + local.get 1 + i32.store offset=40 + local.get 6 + local.get 4 + i32.store offset=36 + local.get 6 + i32.const 32 + i32.add + local.get 2 + local.get 3 + local.get 6 + local.get 5 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h06e48302f0af74f2E + local.get 0 + i32.const 16 + i32.add + local.get 6 + i32.const 8 + i32.add + i32.const 16 + i32.add + i64.load + i64.store align=4 + local.get 0 + i32.const 8 + i32.add + local.get 6 + i32.const 8 + i32.add + i32.const 8 + i32.add + i64.load + i64.store align=4 + local.get 0 + local.get 6 + i64.load offset=8 + i64.store align=4 + br 2 (;@1;) + end + i32.const 1050176 + i32.const 53 + i32.const 1050232 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 1 + local.get 2 + local.get 3 + local.get 6 + local.get 5 + call $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h06e48302f0af74f2E + local.get 0 + i32.const 0 + i32.store offset=4 + end + local.get 6 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree4node212Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..KV$GT$5split17h1ced9d3ebacb88ebE (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 1 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.set 4 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h9d867b03919ea09bE + local.tee 5 + i32.const 0 + i32.store16 offset=94 + local.get 5 + i32.const 0 + i32.store + local.get 2 + i32.const 8 + i32.add + local.get 1 + local.get 5 + call $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17h8bc6aca7f2bb2f95E + local.get 5 + i32.load16_u offset=94 + local.tee 6 + i32.const 1 + i32.add + local.set 7 + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 12 + i32.ge_u + br_if 0 (;@2;) + local.get 4 + local.get 1 + i32.load offset=8 + local.tee 8 + i32.sub + local.tee 4 + local.get 7 + i32.ne + br_if 1 (;@1;) + local.get 5 + i32.const 96 + i32.add + local.get 8 + i32.const 2 + i32.shl + local.get 3 + i32.add + i32.const 100 + i32.add + local.get 4 + i32.const 2 + i32.shl + call $memcpy + drop + local.get 1 + i32.load + local.set 4 + i32.const 0 + local.set 1 + block ;; label = @3 + loop ;; label = @4 + local.get 5 + local.get 1 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 7 + local.get 1 + i32.store16 offset=92 + local.get 7 + local.get 5 + i32.store + local.get 1 + local.get 6 + i32.ge_u + br_if 1 (;@3;) + local.get 1 + local.get 1 + local.get 6 + i32.lt_u + i32.add + local.tee 1 + local.get 6 + i32.le_u + br_if 0 (;@4;) + end + end + local.get 0 + local.get 4 + i32.store offset=16 + local.get 0 + local.get 2 + i64.load offset=8 + i64.store offset=8 align=4 + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + local.get 4 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 5 + i32.store + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + return + end + local.get 7 + i32.const 12 + i32.const 1050160 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node212Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..KV$GT$5split17h3affa5419035f7c2E (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 1 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.set 4 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h230af300f5c64725E + local.tee 5 + i32.const 0 + i32.store16 offset=94 + local.get 5 + i32.const 0 + i32.store + local.get 2 + i32.const 8 + i32.add + local.get 1 + local.get 5 + call $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17hfd072c745e66b777E + local.get 5 + i32.load16_u offset=94 + local.tee 6 + i32.const 1 + i32.add + local.set 7 + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 12 + i32.ge_u + br_if 0 (;@2;) + local.get 4 + local.get 1 + i32.load offset=8 + local.tee 8 + i32.sub + local.tee 4 + local.get 7 + i32.ne + br_if 1 (;@1;) + local.get 5 + i32.const 96 + i32.add + local.get 8 + i32.const 2 + i32.shl + local.get 3 + i32.add + i32.const 100 + i32.add + local.get 4 + i32.const 2 + i32.shl + call $memcpy + drop + local.get 1 + i32.load + local.set 4 + i32.const 0 + local.set 1 + block ;; label = @3 + loop ;; label = @4 + local.get 5 + local.get 1 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 7 + local.get 1 + i32.store16 offset=92 + local.get 7 + local.get 5 + i32.store + local.get 1 + local.get 6 + i32.ge_u + br_if 1 (;@3;) + local.get 1 + local.get 1 + local.get 6 + i32.lt_u + i32.add + local.tee 1 + local.get 6 + i32.le_u + br_if 0 (;@4;) + end + end + local.get 0 + local.get 4 + i32.store offset=16 + local.get 0 + local.get 2 + i64.load offset=8 + i64.store offset=8 align=4 + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + local.get 4 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 5 + i32.store + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + return + end + local.get 7 + i32.const 12 + i32.const 1050160 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node212Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..KV$GT$5split17hd8a373594401b58aE (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + local.get 1 + i32.load offset=4 + local.tee 2 + i32.load16_u offset=94 + local.set 3 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hdb5496237754b4e1E + local.tee 4 + i32.const 0 + i32.store16 offset=94 + local.get 4 + i32.const 0 + i32.store + local.get 1 + local.get 4 + call $_ZN5alloc11collections5btree4node171Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..KV$GT$15split_leaf_data17h76d6ac139cdde820E + local.set 6 + local.set 5 + local.get 4 + i32.load16_u offset=94 + local.tee 7 + i32.const 1 + i32.add + local.set 8 + block ;; label = @1 + block ;; label = @2 + local.get 7 + i32.const 12 + i32.ge_u + br_if 0 (;@2;) + local.get 3 + local.get 1 + i32.load offset=8 + local.tee 9 + i32.sub + local.tee 3 + local.get 8 + i32.ne + br_if 1 (;@1;) + local.get 4 + i32.const 96 + i32.add + local.get 9 + i32.const 2 + i32.shl + local.get 2 + i32.add + i32.const 100 + i32.add + local.get 3 + i32.const 2 + i32.shl + call $memcpy + drop + local.get 1 + i32.load + local.set 3 + i32.const 0 + local.set 1 + block ;; label = @3 + loop ;; label = @4 + local.get 4 + local.get 1 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 8 + local.get 1 + i32.store16 offset=92 + local.get 8 + local.get 4 + i32.store + local.get 1 + local.get 7 + i32.ge_u + br_if 1 (;@3;) + local.get 1 + local.get 1 + local.get 7 + i32.lt_u + i32.add + local.tee 1 + local.get 7 + i32.le_u + br_if 0 (;@4;) + end + end + local.get 0 + local.get 3 + i32.store offset=16 + local.get 0 + local.get 5 + i32.store offset=8 + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 4 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + return + end + local.get 8 + i32.const 12 + i32.const 1050160 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1050088 + i32.const 40 + i32.const 1050128 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h06e48302f0af74f2E (type 11) (param i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + local.get 0 + i32.load offset=4 + local.tee 5 + local.get 0 + i32.load offset=8 + local.tee 0 + i32.const 2 + i32.shl + local.tee 6 + i32.add + i32.const 4 + i32.add + local.set 7 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.const 1 + i32.add + local.tee 8 + local.get 5 + i32.load16_u offset=94 + local.tee 9 + i32.le_u + br_if 0 (;@2;) + local.get 7 + local.get 1 + i32.store + br 1 (;@1;) + end + local.get 5 + i32.const 4 + i32.add + local.tee 10 + local.get 8 + i32.const 2 + i32.shl + local.tee 11 + i32.add + local.get 7 + local.get 9 + local.get 0 + i32.sub + i32.const 2 + i32.shl + local.tee 12 + call $memmove + drop + local.get 10 + local.get 6 + i32.add + local.get 1 + i32.store + local.get 5 + i32.const 48 + i32.add + local.tee 1 + local.get 11 + i32.add + local.get 1 + local.get 6 + i32.add + local.get 12 + call $memmove + drop + end + local.get 9 + i32.const 1 + i32.add + local.set 1 + local.get 5 + local.get 0 + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.get 2 + i32.store + block ;; label = @1 + local.get 0 + i32.const 2 + i32.add + local.tee 6 + local.get 9 + i32.const 2 + i32.add + local.tee 2 + i32.ge_u + br_if 0 (;@1;) + local.get 5 + i32.const 96 + i32.add + local.tee 7 + local.get 6 + i32.const 2 + i32.shl + i32.add + local.get 7 + local.get 8 + i32.const 2 + i32.shl + i32.add + local.get 9 + local.get 0 + i32.sub + i32.const 2 + i32.shl + call $memmove + drop + end + local.get 5 + local.get 8 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + local.get 4 + i32.store + local.get 5 + local.get 1 + i32.store16 offset=94 + block ;; label = @1 + local.get 8 + local.get 2 + i32.ge_u + br_if 0 (;@1;) + local.get 9 + i32.const 1 + i32.add + local.set 1 + local.get 5 + local.get 0 + i32.const 2 + i32.shl + i32.add + i32.const 100 + i32.add + local.set 9 + loop ;; label = @2 + local.get 9 + i32.load + local.tee 8 + local.get 0 + i32.const 1 + i32.add + local.tee 0 + i32.store16 offset=92 + local.get 8 + local.get 5 + i32.store + local.get 9 + i32.const 4 + i32.add + local.set 9 + local.get 1 + local.get 0 + i32.ne + br_if 0 (;@2;) + end + end) + (func $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17h571f257e8232aac8E (type 11) (param i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=8 + local.tee 5 + i32.const 1 + i32.add + local.tee 6 + local.get 0 + i32.load offset=4 + local.tee 7 + i32.load16_u offset=94 + local.tee 0 + i32.le_u + br_if 0 (;@2;) + local.get 7 + local.get 5 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + br 1 (;@1;) + end + local.get 7 + i32.const 4 + i32.add + local.tee 8 + local.get 6 + i32.const 2 + i32.shl + local.tee 9 + i32.add + local.get 8 + local.get 5 + i32.const 2 + i32.shl + local.tee 10 + i32.add + local.tee 8 + local.get 0 + local.get 5 + i32.sub + i32.const 2 + i32.shl + local.tee 11 + call $memmove + drop + local.get 8 + local.get 1 + i32.store + local.get 7 + i32.const 48 + i32.add + local.tee 1 + local.get 9 + i32.add + local.get 1 + local.get 10 + i32.add + local.get 11 + call $memmove + drop + end + local.get 0 + i32.const 1 + i32.add + local.set 1 + local.get 7 + local.get 5 + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.get 2 + i32.store + block ;; label = @1 + local.get 5 + i32.const 2 + i32.add + local.tee 8 + local.get 0 + i32.const 2 + i32.add + local.tee 2 + i32.ge_u + br_if 0 (;@1;) + local.get 7 + i32.const 96 + i32.add + local.tee 9 + local.get 8 + i32.const 2 + i32.shl + i32.add + local.get 9 + local.get 6 + i32.const 2 + i32.shl + i32.add + local.get 0 + local.get 5 + i32.sub + i32.const 2 + i32.shl + call $memmove + drop + end + local.get 7 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + local.get 4 + i32.store + local.get 7 + local.get 1 + i32.store16 offset=94 + block ;; label = @1 + local.get 6 + local.get 2 + i32.ge_u + br_if 0 (;@1;) + local.get 0 + i32.const 1 + i32.add + local.set 1 + local.get 7 + local.get 5 + i32.const 2 + i32.shl + i32.add + i32.const 100 + i32.add + local.set 0 + loop ;; label = @2 + local.get 0 + i32.load + local.tee 6 + local.get 5 + i32.const 1 + i32.add + local.tee 5 + i32.store16 offset=92 + local.get 6 + local.get 7 + i32.store + local.get 0 + i32.const 4 + i32.add + local.set 0 + local.get 1 + local.get 5 + i32.ne + br_if 0 (;@2;) + end + end) + (func $_ZN5alloc11collections5btree4node214Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$10insert_fit17hb6588d43ec0df074E (type 11) (param i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=8 + local.tee 5 + i32.const 1 + i32.add + local.tee 6 + local.get 0 + i32.load offset=4 + local.tee 7 + i32.load16_u offset=94 + local.tee 0 + i32.le_u + br_if 0 (;@2;) + local.get 7 + local.get 5 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + br 1 (;@1;) + end + local.get 7 + i32.const 4 + i32.add + local.tee 8 + local.get 6 + i32.const 2 + i32.shl + local.tee 9 + i32.add + local.get 8 + local.get 5 + i32.const 2 + i32.shl + local.tee 10 + i32.add + local.tee 8 + local.get 0 + local.get 5 + i32.sub + i32.const 2 + i32.shl + local.tee 11 + call $memmove + drop + local.get 8 + local.get 1 + i32.store + local.get 7 + i32.const 48 + i32.add + local.tee 1 + local.get 9 + i32.add + local.get 1 + local.get 10 + i32.add + local.get 11 + call $memmove + drop + end + local.get 0 + i32.const 1 + i32.add + local.set 1 + local.get 7 + local.get 5 + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.get 2 + i32.store + block ;; label = @1 + local.get 5 + i32.const 2 + i32.add + local.tee 8 + local.get 0 + i32.const 2 + i32.add + local.tee 2 + i32.ge_u + br_if 0 (;@1;) + local.get 7 + i32.const 96 + i32.add + local.tee 9 + local.get 8 + i32.const 2 + i32.shl + i32.add + local.get 9 + local.get 6 + i32.const 2 + i32.shl + i32.add + local.get 0 + local.get 5 + i32.sub + i32.const 2 + i32.shl + call $memmove + drop + end + local.get 7 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + local.get 4 + i32.store + local.get 7 + local.get 1 + i32.store16 offset=94 + block ;; label = @1 + local.get 6 + local.get 2 + i32.ge_u + br_if 0 (;@1;) + local.get 0 + i32.const 1 + i32.add + local.set 1 + local.get 7 + local.get 5 + i32.const 2 + i32.shl + i32.add + i32.const 100 + i32.add + local.set 0 + loop ;; label = @2 + local.get 0 + i32.load + local.tee 6 + local.get 5 + i32.const 1 + i32.add + local.tee 5 + i32.store16 offset=92 + local.get 6 + local.get 7 + i32.store + local.get 0 + i32.const 4 + i32.add + local.set 0 + local.get 1 + local.get 5 + i32.ne + br_if 0 (;@2;) + end + end) + (func $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h221be6b732bf92bcE (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + local.get 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.store offset=8 + i32.const 0 + local.set 5 + block ;; label = @1 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h2c04b3ced71fe482E + local.set 6 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + block ;; label = @3 + local.get 1 + br_if 0 (;@3;) + i32.const 1 + local.set 5 + i32.const 0 + local.set 1 + br 2 (;@1;) + end + local.get 4 + local.get 2 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=8 + i32.const 0 + local.set 5 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h2c04b3ced71fe482E + local.set 6 + br_if 0 (;@2;) + end + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 5 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h2c04b3ced71fe482E (type 3) (param i32 i32 i32) (result i32 i32) + (local i32 i32 i32 i32) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + i32.const 2 + i32.shl + local.get 2 + i32.const 2 + i32.shl + local.tee 5 + i32.sub + local.set 0 + local.get 2 + i32.const -1 + i32.add + local.set 6 + local.get 3 + local.get 5 + i32.add + i32.const 4 + i32.add + local.set 2 + local.get 1 + i32.load + local.set 3 + i32.const 1 + local.set 5 + loop ;; label = @1 + block ;; label = @2 + local.get 0 + br_if 0 (;@2;) + i32.const 1 + local.get 4 + return + end + local.get 2 + i32.load + local.set 1 + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 0 + i32.const -4 + i32.add + local.set 0 + local.get 2 + i32.const 4 + i32.add + local.set 2 + i32.const -1 + local.get 3 + local.get 1 + i32.ne + local.get 3 + local.get 1 + i32.lt_u + select + local.tee 1 + i32.const 1 + i32.eq + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@1;) + i32.const 0 + local.set 5 + end + local.get 5 + local.get 6) + (func $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h60a8c325f5da2182E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + local.get 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.store offset=8 + i32.const 0 + local.set 5 + block ;; label = @1 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17hbcfa6cc2a353b907E + local.set 6 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + block ;; label = @3 + local.get 1 + br_if 0 (;@3;) + i32.const 1 + local.set 5 + i32.const 0 + local.set 1 + br 2 (;@1;) + end + local.get 4 + local.get 2 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=8 + i32.const 0 + local.set 5 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17hbcfa6cc2a353b907E + local.set 6 + br_if 0 (;@2;) + end + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 5 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17hbcfa6cc2a353b907E (type 3) (param i32 i32 i32) (result i32 i32) + (local i32 i32 i32 i32) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + i32.const 2 + i32.shl + local.get 2 + i32.const 2 + i32.shl + local.tee 5 + i32.sub + local.set 0 + local.get 2 + i32.const -1 + i32.add + local.set 6 + local.get 3 + local.get 5 + i32.add + i32.const 4 + i32.add + local.set 2 + local.get 1 + i32.load + local.set 3 + i32.const 1 + local.set 5 + loop ;; label = @1 + block ;; label = @2 + local.get 0 + br_if 0 (;@2;) + i32.const 1 + local.get 4 + return + end + local.get 2 + i32.load + local.set 1 + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 0 + i32.const -4 + i32.add + local.set 0 + local.get 2 + i32.const 4 + i32.add + local.set 2 + i32.const -1 + local.get 3 + local.get 1 + i32.ne + local.get 3 + local.get 1 + i32.lt_u + select + local.tee 1 + i32.const 1 + i32.eq + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@1;) + i32.const 0 + local.set 5 + end + local.get 5 + local.get 6) + (func $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h6c244c2c4ecd2b73E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + local.get 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.store offset=8 + i32.const 0 + local.set 5 + block ;; label = @1 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17he9a7adba55e80b04E + local.set 6 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + block ;; label = @3 + local.get 1 + br_if 0 (;@3;) + i32.const 1 + local.set 5 + i32.const 0 + local.set 1 + br 2 (;@1;) + end + local.get 4 + local.get 2 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=8 + i32.const 0 + local.set 5 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17he9a7adba55e80b04E + local.set 6 + br_if 0 (;@2;) + end + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 5 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17he9a7adba55e80b04E (type 3) (param i32 i32 i32) (result i32 i32) + (local i32 i32 i32 i32) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + i32.const 2 + i32.shl + local.get 2 + i32.const 2 + i32.shl + local.tee 5 + i32.sub + local.set 0 + local.get 2 + i32.const -1 + i32.add + local.set 6 + local.get 3 + local.get 5 + i32.add + i32.const 4 + i32.add + local.set 2 + local.get 1 + i32.load + local.set 3 + i32.const 1 + local.set 5 + loop ;; label = @1 + block ;; label = @2 + local.get 0 + br_if 0 (;@2;) + i32.const 1 + local.get 4 + return + end + local.get 2 + i32.load + local.set 1 + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 0 + i32.const -4 + i32.add + local.set 0 + local.get 2 + i32.const 4 + i32.add + local.set 2 + i32.const -1 + local.get 3 + local.get 1 + i32.ne + local.get 3 + local.get 1 + i32.lt_u + select + local.tee 1 + i32.const 1 + i32.eq + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@1;) + i32.const 0 + local.set 5 + end + local.get 5 + local.get 6) + (func $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h7a2607ff6094e34dE (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + local.get 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.store offset=8 + i32.const 0 + local.set 5 + block ;; label = @1 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17had915255961da4ceE + local.set 6 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + block ;; label = @3 + local.get 1 + br_if 0 (;@3;) + i32.const 1 + local.set 5 + i32.const 0 + local.set 1 + br 2 (;@1;) + end + local.get 4 + local.get 2 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=8 + i32.const 0 + local.set 5 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17had915255961da4ceE + local.set 6 + br_if 0 (;@2;) + end + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 5 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17had915255961da4ceE (type 3) (param i32 i32 i32) (result i32 i32) + (local i32 i32 i32 i32) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + i32.const 2 + i32.shl + local.get 2 + i32.const 2 + i32.shl + local.tee 5 + i32.sub + local.set 0 + local.get 2 + i32.const -1 + i32.add + local.set 6 + local.get 3 + local.get 5 + i32.add + i32.const 4 + i32.add + local.set 2 + local.get 1 + i32.load + local.set 3 + i32.const 1 + local.set 5 + loop ;; label = @1 + block ;; label = @2 + local.get 0 + br_if 0 (;@2;) + i32.const 1 + local.get 4 + return + end + local.get 2 + i32.load + local.set 1 + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 0 + i32.const -4 + i32.add + local.set 0 + local.get 2 + i32.const 4 + i32.add + local.set 2 + i32.const -1 + local.get 3 + local.get 1 + i32.ne + local.get 3 + local.get 1 + i32.lt_u + select + local.tee 1 + i32.const 1 + i32.eq + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@1;) + i32.const 0 + local.set 5 + end + local.get 5 + local.get 6) + (func $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17hc65e77c86b65decaE (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + local.get 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.store offset=8 + i32.const 0 + local.set 5 + block ;; label = @1 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h17be8d66b632ab37E + local.set 6 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + block ;; label = @3 + local.get 1 + br_if 0 (;@3;) + i32.const 1 + local.set 5 + i32.const 0 + local.set 1 + br 2 (;@1;) + end + local.get 4 + local.get 2 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=8 + i32.const 0 + local.set 5 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h17be8d66b632ab37E + local.set 6 + br_if 0 (;@2;) + end + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 5 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h17be8d66b632ab37E (type 3) (param i32 i32 i32) (result i32 i32) + (local i32 i32 i32 i32) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + i32.const 2 + i32.shl + local.get 2 + i32.const 2 + i32.shl + local.tee 5 + i32.sub + local.set 0 + local.get 2 + i32.const -1 + i32.add + local.set 6 + local.get 3 + local.get 5 + i32.add + i32.const 4 + i32.add + local.set 2 + local.get 1 + i32.load + local.set 3 + i32.const 1 + local.set 5 + loop ;; label = @1 + block ;; label = @2 + local.get 0 + br_if 0 (;@2;) + i32.const 1 + local.get 4 + return + end + local.get 2 + i32.load + local.set 1 + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 0 + i32.const -4 + i32.add + local.set 0 + local.get 2 + i32.const 4 + i32.add + local.set 2 + i32.const -1 + local.get 3 + local.get 1 + i32.ne + local.get 3 + local.get 1 + i32.lt_u + select + local.tee 1 + i32.const 1 + i32.eq + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@1;) + i32.const 0 + local.set 5 + end + local.get 5 + local.get 6) + (func $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17hd2224903ce1c18c0E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + local.get 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.store offset=8 + i32.const 0 + local.set 5 + block ;; label = @1 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h9dfc752d519d8167E + local.set 6 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + block ;; label = @3 + local.get 1 + br_if 0 (;@3;) + i32.const 1 + local.set 5 + i32.const 0 + local.set 1 + br 2 (;@1;) + end + local.get 4 + local.get 2 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.tee 2 + i32.store offset=12 + local.get 4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=8 + i32.const 0 + local.set 5 + local.get 4 + i32.const 8 + i32.add + local.get 3 + i32.const 0 + call $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h9dfc752d519d8167E + local.set 6 + br_if 0 (;@2;) + end + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 5 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 6 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h9dfc752d519d8167E (type 3) (param i32 i32 i32) (result i32 i32) + (local i32 i32 i32 i32) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.load16_u offset=94 + local.tee 4 + i32.const 2 + i32.shl + local.get 2 + i32.const 2 + i32.shl + local.tee 5 + i32.sub + local.set 0 + local.get 2 + i32.const -1 + i32.add + local.set 6 + local.get 3 + local.get 5 + i32.add + i32.const 4 + i32.add + local.set 2 + local.get 1 + i32.load + local.set 3 + i32.const 1 + local.set 5 + loop ;; label = @1 + block ;; label = @2 + local.get 0 + br_if 0 (;@2;) + i32.const 1 + local.get 4 + return + end + local.get 2 + i32.load + local.set 1 + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 0 + i32.const -4 + i32.add + local.set 0 + local.get 2 + i32.const 4 + i32.add + local.set 2 + i32.const -1 + local.get 3 + local.get 1 + i32.ne + local.get 3 + local.get 1 + i32.lt_u + select + local.tee 1 + i32.const 1 + i32.eq + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@1;) + i32.const 0 + local.set 5 + end + local.get 5 + local.get 6) + (func $_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$16deallocating_end17ha45d305a08f9d49fE (type 2) (param i32) + (local i32 i32 i32) + local.get 0 + i32.load offset=4 + local.set 1 + local.get 0 + i32.load + local.set 0 + loop ;; label = @1 + local.get 1 + i32.load + local.set 2 + block ;; label = @2 + i32.const 144 + i32.const 96 + local.get 0 + select + local.tee 3 + i32.eqz + br_if 0 (;@2;) + local.get 1 + local.get 3 + i32.const 4 + call $__rust_dealloc + end + local.get 0 + i32.const 1 + i32.add + local.set 0 + local.get 2 + local.set 1 + local.get 2 + br_if 0 (;@1;) + end) + (func $_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$17deallocating_next17h600434ff890971afE (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32) + local.get 1 + i32.load + local.set 2 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=8 + local.tee 3 + local.get 1 + i32.load offset=4 + local.tee 4 + i32.load16_u offset=94 + i32.ge_u + br_if 0 (;@2;) + local.get 4 + local.set 1 + local.get 2 + local.set 5 + br 1 (;@1;) + end + loop ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 4 + i32.load + local.tee 1 + br_if 0 (;@4;) + i32.const 0 + local.set 1 + br 1 (;@3;) + end + local.get 2 + i32.const 1 + i32.add + local.set 5 + local.get 4 + i32.load16_u offset=92 + local.set 3 + end + block ;; label = @3 + i32.const 144 + i32.const 96 + local.get 2 + select + local.tee 2 + i32.eqz + br_if 0 (;@3;) + local.get 4 + local.get 2 + i32.const 4 + call $__rust_dealloc + end + block ;; label = @3 + local.get 1 + br_if 0 (;@3;) + local.get 0 + i32.const 0 + i32.store offset=4 + return + end + local.get 5 + local.set 2 + local.get 1 + local.set 4 + local.get 3 + local.get 1 + i32.load16_u offset=94 + i32.ge_u + br_if 0 (;@2;) + end + end + local.get 3 + i32.const 1 + i32.add + local.set 6 + block ;; label = @1 + block ;; label = @2 + local.get 5 + br_if 0 (;@2;) + local.get 1 + local.set 4 + br 1 (;@1;) + end + local.get 1 + local.get 6 + i32.const 2 + i32.shl + i32.add + i32.const 96 + i32.add + i32.load + local.set 4 + i32.const 0 + local.set 6 + local.get 5 + i32.const -1 + i32.add + local.tee 2 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + local.get 4 + i32.load offset=96 + local.set 4 + local.get 2 + i32.const -1 + i32.add + local.tee 2 + br_if 0 (;@2;) + end + end + local.get 0 + local.get 6 + i32.store offset=8 + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + i32.const 0 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 3 + i32.store + local.get 0 + i32.const 16 + i32.add + local.get 1 + i32.store + local.get 0 + i32.const 12 + i32.add + local.get 5 + i32.store) + (func $_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked17h8c089ccddb1cb1e1E (type 6) (param i32 i32) + (local i32 i32 i32 i64 i64) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + i32.const 8 + i32.add + local.tee 3 + local.get 1 + i32.const 8 + i32.add + local.tee 4 + i32.load + i32.store + local.get 2 + local.get 1 + i64.load align=4 + i64.store + local.get 2 + i32.const 24 + i32.add + local.get 2 + call $_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$17deallocating_next17h600434ff890971afE + block ;; label = @1 + local.get 2 + i32.load offset=28 + br_if 0 (;@1;) + i32.const 1050248 + i32.const 43 + i32.const 1050388 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 2 + i32.const 16 + i32.add + local.get 2 + i32.const 24 + i32.add + i32.const 16 + i32.add + i64.load + i64.store + local.get 3 + local.get 2 + i32.const 24 + i32.add + i32.const 8 + i32.add + i64.load + local.tee 5 + i64.store + local.get 2 + local.get 2 + i64.load offset=24 + local.tee 6 + i64.store + local.get 4 + local.get 5 + i64.store32 + local.get 1 + local.get 6 + i64.store align=4 + local.get 0 + local.get 2 + i64.load offset=12 align=4 + i64.store align=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.const 20 + i32.add + i32.load + i32.store + local.get 2 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h0be71c604b7990edE (type 1) (param i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 3 + br_if 0 (;@2;) + i32.const 0 + local.set 0 + br 1 (;@1;) + end + local.get 2 + local.get 0 + i32.load + local.get 3 + local.get 1 + call $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17hc65e77c86b65decaE + i32.const 0 + local.get 2 + i32.const 8 + i32.add + i32.load + local.get 2 + i32.const 12 + i32.add + i32.load + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.get 2 + i32.load + select + local.set 0 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h34c67e42bc558de4E (type 1) (param i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 3 + br_if 0 (;@2;) + i32.const 0 + local.set 0 + br 1 (;@1;) + end + local.get 2 + local.get 0 + i32.load + local.get 3 + local.get 1 + call $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h6c244c2c4ecd2b73E + i32.const 0 + local.get 2 + i32.const 8 + i32.add + i32.load + local.get 2 + i32.const 12 + i32.add + i32.load + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.get 2 + i32.load + select + local.set 0 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h7f2375142d534c87E (type 1) (param i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 3 + br_if 0 (;@2;) + i32.const 0 + local.set 0 + br 1 (;@1;) + end + local.get 2 + local.get 0 + i32.load + local.get 3 + local.get 1 + call $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h221be6b732bf92bcE + i32.const 0 + local.get 2 + i32.const 8 + i32.add + i32.load + local.get 2 + i32.const 12 + i32.add + i32.load + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.get 2 + i32.load + select + local.set 0 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h86c36868509b98deE (type 14) (param i32 i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 2 + i32.store offset=12 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 4 + br_if 0 (;@2;) + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + i32.const 0 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 1 + i32.store + local.get 0 + i32.const 12 + i32.add + i32.const 0 + i32.store + br 1 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + local.get 1 + i32.load + local.get 4 + local.get 3 + i32.const 12 + i32.add + call $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h60a8c325f5da2182E + local.get 3 + i32.const 16 + i32.add + i32.const 4 + i32.or + local.set 4 + block ;; label = @2 + block ;; label = @3 + local.get 3 + i32.load offset=16 + br_if 0 (;@3;) + local.get 0 + local.get 4 + i64.load align=4 + i64.store offset=4 align=4 + local.get 0 + i32.const 12 + i32.add + local.get 4 + i32.const 8 + i32.add + i32.load + i32.store + local.get 0 + i32.const 16 + i32.add + local.set 2 + i32.const 1 + local.set 4 + br 1 (;@2;) + end + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 4 + i64.load align=4 + i64.store align=4 + local.get 0 + i32.const 16 + i32.add + local.get 4 + i32.const 8 + i32.add + i32.load + i32.store + local.get 0 + i32.const 20 + i32.add + local.set 2 + i32.const 0 + local.set 4 + end + local.get 0 + local.get 4 + i32.store + local.get 2 + local.get 1 + i32.store + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h926822e4d5ac0b7aE (type 14) (param i32 i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 2 + i32.store offset=8 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 4 + br_if 0 (;@2;) + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + i32.const 0 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 1 + i32.store + local.get 0 + i32.const 12 + i32.add + i32.const 0 + i32.store + br 1 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + local.get 1 + i32.load + local.get 4 + local.get 3 + i32.const 8 + i32.add + call $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17hd2224903ce1c18c0E + local.get 3 + i32.const 16 + i32.add + i32.const 4 + i32.or + local.set 2 + block ;; label = @2 + block ;; label = @3 + local.get 3 + i32.load offset=16 + br_if 0 (;@3;) + local.get 0 + local.get 2 + i64.load align=4 + i64.store offset=4 align=4 + local.get 0 + i32.const 12 + i32.add + local.get 2 + i32.const 8 + i32.add + i32.load + i32.store + local.get 0 + i32.const 16 + i32.add + local.set 2 + i32.const 1 + local.set 4 + br 1 (;@2;) + end + local.get 0 + local.get 3 + i32.load offset=8 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i64.load align=4 + i64.store align=4 + local.get 0 + i32.const 16 + i32.add + local.get 2 + i32.const 8 + i32.add + i32.load + i32.store + local.get 0 + i32.const 20 + i32.add + local.set 2 + i32.const 0 + local.set 4 + end + local.get 0 + local.get 4 + i32.store + local.get 2 + local.get 1 + i32.store + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17hc1946e737567d031E (type 14) (param i32 i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 2 + i32.store offset=8 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 4 + br_if 0 (;@2;) + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + i32.const 0 + i32.store + local.get 0 + i32.const 20 + i32.add + local.get 1 + i32.store + local.get 0 + i32.const 12 + i32.add + i32.const 0 + i32.store + br 1 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + local.get 1 + i32.load + local.get 4 + local.get 3 + i32.const 8 + i32.add + call $_ZN5alloc11collections5btree6search142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$11search_tree17h7a2607ff6094e34dE + local.get 3 + i32.const 16 + i32.add + i32.const 4 + i32.or + local.set 2 + block ;; label = @2 + block ;; label = @3 + local.get 3 + i32.load offset=16 + br_if 0 (;@3;) + local.get 0 + local.get 2 + i64.load align=4 + i64.store offset=4 align=4 + local.get 0 + i32.const 12 + i32.add + local.get 2 + i32.const 8 + i32.add + i32.load + i32.store + local.get 0 + i32.const 16 + i32.add + local.set 2 + i32.const 1 + local.set 4 + br 1 (;@2;) + end + local.get 0 + local.get 3 + i32.load offset=8 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i64.load align=4 + i64.store align=4 + local.get 0 + i32.const 16 + i32.add + local.get 2 + i32.const 8 + i32.add + i32.load + i32.store + local.get 0 + i32.const 20 + i32.add + local.set 2 + i32.const 0 + local.set 4 + end + local.get 0 + local.get 4 + i32.store + local.get 2 + local.get 1 + i32.store + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$6insert17h1f2703e3e117431bE (type 3) (param i32 i32 i32) (result i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 0 + local.get 1 + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h86c36868509b98deE + block ;; label = @1 + block ;; label = @2 + local.get 3 + i32.load + br_if 0 (;@2;) + local.get 3 + i32.const 40 + i32.add + local.get 3 + i32.const 20 + i32.add + i32.load + i32.store + local.get 3 + i32.const 32 + i32.add + local.get 3 + i32.const 12 + i32.add + i64.load align=4 + i64.store + local.get 3 + local.get 3 + i64.load offset=4 align=4 + i64.store offset=24 + local.get 3 + i32.const 24 + i32.add + local.get 2 + call $_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h759840b551731221E + drop + i32.const 0 + local.set 2 + br 1 (;@1;) + end + local.get 3 + i32.const 8 + i32.add + i32.load + local.get 3 + i32.const 12 + i32.add + i32.load + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.tee 1 + i32.load + local.set 0 + local.get 1 + local.get 2 + i32.store + i32.const 1 + local.set 2 + end + local.get 3 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 2 + local.get 0) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$6insert17h584b579b8ada6384E (type 7) (param i32 i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 0 + local.get 1 + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h926822e4d5ac0b7aE + block ;; label = @1 + block ;; label = @2 + local.get 3 + i32.load + br_if 0 (;@2;) + local.get 3 + i32.const 40 + i32.add + local.get 3 + i32.const 20 + i32.add + i32.load + i32.store + local.get 3 + i32.const 32 + i32.add + local.get 3 + i32.const 12 + i32.add + i64.load align=4 + i64.store + local.get 3 + local.get 3 + i64.load offset=4 align=4 + i64.store offset=24 + local.get 3 + i32.const 24 + i32.add + local.get 2 + call $_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h75ccf5cfc689a4feE + drop + i32.const 0 + local.set 0 + br 1 (;@1;) + end + local.get 3 + i32.const 8 + i32.add + i32.load + local.get 3 + i32.const 12 + i32.add + i32.load + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.tee 1 + i32.load + local.set 0 + local.get 1 + local.get 2 + i32.store + end + local.get 3 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$6insert17h8d75f0031b7d2454E (type 7) (param i32 i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 0 + local.get 1 + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17hc1946e737567d031E + block ;; label = @1 + block ;; label = @2 + local.get 3 + i32.load + br_if 0 (;@2;) + local.get 3 + i32.const 40 + i32.add + local.get 3 + i32.const 20 + i32.add + i32.load + i32.store + local.get 3 + i32.const 32 + i32.add + local.get 3 + i32.const 12 + i32.add + i64.load align=4 + i64.store + local.get 3 + local.get 3 + i64.load offset=4 align=4 + i64.store offset=24 + local.get 3 + i32.const 24 + i32.add + local.get 2 + call $_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17hd92ca8b228159acfE + drop + i32.const 0 + local.set 0 + br 1 (;@1;) + end + local.get 3 + i32.const 8 + i32.add + i32.load + local.get 3 + i32.const 12 + i32.add + i32.load + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + local.tee 1 + i32.load + local.set 0 + local.get 1 + local.get 2 + i32.store + end + local.get 3 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hd5bb224a5a33fdb0E (type 6) (param i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.load offset=32 + local.tee 3 + br_if 0 (;@3;) + local.get 2 + local.get 1 + call $_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$10take_front17hbffab19f9a44f153E + block ;; label = @4 + local.get 2 + i32.load offset=4 + i32.eqz + br_if 0 (;@4;) + local.get 2 + i32.const 16 + i32.add + i32.const 8 + i32.add + local.get 2 + i32.const 8 + i32.add + i32.load + i32.store + local.get 2 + local.get 2 + i64.load + i64.store offset=16 + local.get 2 + i32.const 16 + i32.add + call $_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$16deallocating_end17ha45d305a08f9d49fE + end + local.get 0 + i32.const 0 + i32.store offset=4 + br 1 (;@2;) + end + local.get 1 + local.get 3 + i32.const -1 + i32.add + i32.store offset=32 + local.get 1 + call $_ZN5alloc11collections5btree8navigate39LazyLeafRange$LT$BorrowType$C$K$C$V$GT$10init_front17h7ac8018fcc71d104E + local.tee 1 + i32.eqz + br_if 1 (;@1;) + local.get 0 + local.get 1 + call $_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked17h8c089ccddb1cb1e1E + end + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + return + end + i32.const 1050404 + i32.const 43 + i32.const 1050544 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9529ba24cb2e3920E (type 2) (param i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 1 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load + local.set 3 + local.get 1 + i32.const 32 + i32.add + local.get 2 + i32.store + local.get 1 + i32.const 28 + i32.add + local.get 3 + i32.store + local.get 1 + i32.const 16 + i32.add + local.get 2 + i32.store + local.get 1 + local.get 3 + i32.store offset=12 + i32.const 0 + local.set 2 + local.get 1 + i32.const 0 + i32.store offset=8 + local.get 0 + i32.load offset=8 + local.set 0 + br 1 (;@1;) + end + i32.const 2 + local.set 2 + local.get 1 + i32.const 2 + i32.store offset=8 + i32.const 0 + local.set 0 + end + local.get 1 + local.get 0 + i32.store offset=40 + local.get 1 + local.get 2 + i32.store offset=24 + local.get 1 + i32.const 8 + i32.add + call $_ZN99_$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17ha56afb4f9d468601E + local.get 1 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN99_$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17ha56afb4f9d468601E (type 2) (param i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 1 + global.set $__stack_pointer + local.get 1 + local.get 0 + call $_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hd5bb224a5a33fdb0E + block ;; label = @1 + local.get 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + local.get 2 + local.get 1 + i32.load offset=8 + i32.const 2 + i32.shl + i32.add + i32.const 48 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hb21b2573a665d88cE + local.get 1 + local.get 0 + call $_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hd5bb224a5a33fdb0E + local.get 1 + i32.load offset=4 + local.tee 2 + br_if 0 (;@2;) + end + end + local.get 1 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN4core4iter8adapters9enumerate18Enumerate$LT$I$GT$3new17h420fa26edce66c5fE (type 14) (param i32 i32 i32) + local.get 0 + i32.const 0 + i32.store offset=8 + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store) + (func $_ZN51_$LT$T$u20$as$u20$core..borrow..Borrow$LT$T$GT$$GT$6borrow17h172a00d40da61f8dE (type 0) (param i32) (result i32) + local.get 0) + (func $_ZN77_$LT$core..marker..PhantomData$LT$T$GT$$u20$as$u20$core..default..Default$GT$7default17hebe5f401ed8d1273E (type 13)) + (func $_ZN18pkmn_lib_interface13app_interface8battling14battle_library13BattleLibrary12data_library17hfd37f2c1792ad8faE (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $battle_library_get_static_data) + (func $_ZN248_$LT$pkmn_lib_interface..app_interface..library..data_libraries..move_library..MoveLibrary$u20$as$u20$pkmn_lib_interface..app_interface..library..data_libraries..DataLibrary$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData$GT$$GT$9get_cache17hb60c9f486fe6daabE (type 0) (param i32) (result i32) + local.get 0 + i32.load + i32.const 12 + i32.add) + (func $_ZN248_$LT$pkmn_lib_interface..app_interface..library..data_libraries..move_library..MoveLibrary$u20$as$u20$pkmn_lib_interface..app_interface..library..data_libraries..DataLibrary$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData$GT$$GT$12get_self_ref17hd38ccacb984ec5fdE (type 0) (param i32) (result i32) + local.get 0 + i32.load + i32.load offset=8) + (func $_ZN248_$LT$pkmn_lib_interface..app_interface..library..data_libraries..move_library..MoveLibrary$u20$as$u20$pkmn_lib_interface..app_interface..library..data_libraries..DataLibrary$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData$GT$$GT$16_get_ref_by_hash17h5103b1a59a611ff1E (type 1) (param i32 i32) (result i32) + local.get 0 + local.get 1 + call $move_library_get_move_by_hash) + (func $_ZN18pkmn_lib_interface13app_interface7library14data_libraries10StaticData12move_library17hfb7008fbd5119d13E (type 0) (param i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 1 + global.set $__stack_pointer + local.get 0 + i32.load + call $static_data_get_move_library + local.set 0 + local.get 1 + i32.const 20 + i32.add + i64.const 0 + i64.store align=4 + local.get 1 + i32.const 0 + i32.store offset=12 + local.get 1 + local.get 0 + i32.store offset=8 + local.get 1 + i32.const 8 + i32.add + call $_ZN5alloc2rc11Rc$LT$T$GT$3new17h973b373becee4275E + local.set 0 + local.get 1 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN18pkmn_lib_interface13app_interface4list22ImmutableList$LT$T$GT$8from_ref17hc0c083ce820309d2E (type 0) (param i32) (result i32) + (local i32 i64 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 1 + global.set $__stack_pointer + local.get 1 + local.get 0 + i64.load + local.tee 2 + i32.wrap_i64 + local.tee 3 + i32.store offset=16 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + i32.const 1059492 + local.get 1 + i32.const 16 + i32.add + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h7f2375142d534c87E + local.tee 0 + i32.eqz + br_if 0 (;@3;) + local.get 0 + i32.load + local.set 0 + br 1 (;@2;) + end + local.get 1 + i32.const 0 + i32.store offset=8 + local.get 1 + i64.const 8 + i64.store + local.get 1 + i32.const 6 + i32.store8 offset=16 + local.get 1 + local.get 2 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.get 1 + i32.const 16 + i32.add + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$6resize17hb1e87886deffc676E + i32.const 24 + i32.const 8 + call $__rust_alloc + local.tee 0 + i32.eqz + br_if 1 (;@1;) + local.get 0 + i32.const 0 + i32.store offset=8 + local.get 0 + local.get 2 + i64.store + local.get 0 + local.get 1 + i64.load + i64.store offset=12 align=4 + local.get 0 + i32.const 20 + i32.add + local.get 1 + i32.const 8 + i32.add + i32.load + i32.store + i32.const 1059492 + local.get 3 + local.get 0 + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$6insert17h1f2703e3e117431bE + drop + drop + end + local.get 1 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 0 + return + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 24 + i32.const 8 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable) + (func $_ZN4core4cell13Cell$LT$T$GT$7replace17hc78ae098bfc89cccE (type 1) (param i32 i32) (result i32) + (local i32) + local.get 0 + i32.load + local.set 2 + local.get 0 + local.get 1 + i32.store + local.get 2) + (func $_ZN161_$LT$pkmn_lib_interface..app_interface..library..effect_parameter..EffectParameter$u20$as$u20$pkmn_lib_interface..handling..extern_ref..ExternalReferenceType$GT$17from_extern_value17h23b8b0077a8feb20E (type 6) (param i32 i32) + (local i32) + i32.const 0 + local.set 2 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + call $effect_parameter_get_type + br_table 4 (;@1;) 0 (;@5;) 1 (;@4;) 2 (;@3;) 3 (;@2;) 4 (;@1;) + end + local.get 0 + local.get 1 + call $effect_parameter_as_bool + i32.store8 offset=1 + i32.const 1 + local.set 2 + br 3 (;@1;) + end + local.get 0 + i32.const 8 + i32.add + local.get 1 + call $effect_parameter_as_int + i64.store + i32.const 2 + local.set 2 + br 2 (;@1;) + end + local.get 0 + i32.const 4 + i32.add + local.get 1 + call $effect_parameter_as_float + f32.store + i32.const 3 + local.set 2 + br 1 (;@1;) + end + i32.const 4 + local.set 2 + local.get 0 + i32.const 4 + i32.add + local.get 1 + call $effect_parameter_as_string + i32.const 1051064 + i32.const 1051256 + call $_ZN18pkmn_lib_interface8handling9cacheable9Cacheable8from_ref17h2cf0f9955fe2d36aE + i32.store + end + local.get 0 + local.get 2 + i32.store8) + (func $_ZN116_$LT$pkmn_lib_interface..app_interface..library..effect_parameter..EffectParameter$u20$as$u20$core..fmt..Display$GT$3fmt17hddcc071428e8c900E (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 0 + i32.load8_u + br_table 0 (;@6;) 1 (;@5;) 2 (;@4;) 3 (;@3;) 4 (;@2;) 0 (;@6;) + end + local.get 1 + i32.const 1050724 + i32.const 21 + call $_ZN4core3fmt9Formatter9write_str17h70c9163297c9e7eeE + local.set 0 + br 4 (;@1;) + end + local.get 2 + local.get 0 + i32.const 1 + i32.add + i32.store offset=12 + local.get 2 + i32.const 36 + i32.add + i32.const 1 + i32.store + local.get 2 + i64.const 2 + i64.store offset=20 align=4 + local.get 2 + i32.const 1050708 + i32.store offset=16 + local.get 2 + i32.const 14 + i32.store offset=44 + local.get 2 + local.get 2 + i32.const 40 + i32.add + i32.store offset=32 + local.get 2 + local.get 2 + i32.const 12 + i32.add + i32.store offset=40 + local.get 1 + local.get 2 + i32.const 16 + i32.add + call $_ZN4core3fmt9Formatter9write_fmt17h807f55232811e604E + local.set 0 + br 3 (;@1;) + end + local.get 2 + local.get 0 + i32.const 8 + i32.add + i32.store offset=12 + local.get 2 + i32.const 36 + i32.add + i32.const 1 + i32.store + local.get 2 + i64.const 2 + i64.store offset=20 align=4 + local.get 2 + i32.const 1050668 + i32.store offset=16 + local.get 2 + i32.const 15 + i32.store offset=44 + local.get 2 + local.get 2 + i32.const 40 + i32.add + i32.store offset=32 + local.get 2 + local.get 2 + i32.const 12 + i32.add + i32.store offset=40 + local.get 1 + local.get 2 + i32.const 16 + i32.add + call $_ZN4core3fmt9Formatter9write_fmt17h807f55232811e604E + local.set 0 + br 2 (;@1;) + end + local.get 2 + local.get 0 + i32.const 4 + i32.add + i32.store offset=12 + local.get 2 + i32.const 36 + i32.add + i32.const 1 + i32.store + local.get 2 + i64.const 2 + i64.store offset=20 align=4 + local.get 2 + i32.const 1050628 + i32.store offset=16 + local.get 2 + i32.const 16 + i32.store offset=44 + local.get 2 + local.get 2 + i32.const 40 + i32.add + i32.store offset=32 + local.get 2 + local.get 2 + i32.const 12 + i32.add + i32.store offset=40 + local.get 1 + local.get 2 + i32.const 16 + i32.add + call $_ZN4core3fmt9Formatter9write_fmt17h807f55232811e604E + local.set 0 + br 1 (;@1;) + end + local.get 2 + local.get 0 + i32.const 4 + i32.add + i32.store offset=12 + local.get 2 + i32.const 36 + i32.add + i32.const 1 + i32.store + local.get 2 + i64.const 2 + i64.store offset=20 align=4 + local.get 2 + i32.const 1050588 + i32.store offset=16 + local.get 2 + i32.const 17 + i32.store offset=44 + local.get 2 + local.get 2 + i32.const 40 + i32.add + i32.store offset=32 + local.get 2 + local.get 2 + i32.const 12 + i32.add + i32.store offset=40 + local.get 1 + local.get 2 + i32.const 16 + i32.add + call $_ZN4core3fmt9Formatter9write_fmt17h807f55232811e604E + local.set 0 + end + local.get 2 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 0) + (func $delete_ffi_array (type 6) (param i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 1 + i32.store offset=8 + local.get 2 + local.get 1 + i32.store offset=4 + local.get 2 + local.get 0 + i32.store + local.get 2 + call $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60a151cd86309fe5E + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h16ace2697a37173eE (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i64$GT$3fmt17h46307307b5c78611E) + (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h8d9c68924e9283f9E (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN43_$LT$bool$u20$as$u20$core..fmt..Display$GT$3fmt17hd76ff2a9c498df3fE) + (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hc96150079442aef8E (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f32$GT$3fmt17h9c2e9bf143eab442E) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h0017f4f95bcb9423E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_base_power) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h2b5153c0417a3f94E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_type) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h3271bb82adbb1458E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_base_power) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h50337a9a059b9485E (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + i32.const 8 + i32.add + local.get 1 + call $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$17h6fdf0c641df61e70E + local.set 1 + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$17h6fdf0c641df61e70E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 112 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 3 + i32.eqz + br_if 0 (;@8;) + local.get 3 + local.get 1 + i32.store + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 4 + i32.eqz + br_if 1 (;@7;) + local.get 4 + local.get 1 + i32.store + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 5 + i32.eqz + br_if 2 (;@6;) + local.get 5 + local.get 1 + i32.store + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 6 + i32.eqz + br_if 3 (;@5;) + local.get 6 + local.get 1 + i32.store + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 7 + i32.eqz + br_if 4 (;@4;) + local.get 7 + local.get 1 + i32.store + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 8 + i32.eqz + br_if 5 (;@3;) + local.get 8 + local.get 1 + i32.store + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 9 + i32.eqz + br_if 6 (;@2;) + local.get 9 + local.get 1 + i32.store + i32.const 4 + i32.const 4 + call $__rust_alloc + local.tee 10 + i32.eqz + br_if 7 (;@1;) + local.get 10 + local.get 1 + i32.store + local.get 2 + i32.const 104 + i32.add + i32.const 0 + i32.store8 + local.get 2 + i32.const 100 + i32.add + i32.const 1050980 + i32.store + local.get 2 + i32.const 92 + i32.add + i32.const 12 + i32.store8 + local.get 2 + i32.const 88 + i32.add + i32.const 1050956 + i32.store + local.get 2 + i32.const 80 + i32.add + i32.const 0 + i32.store8 + local.get 2 + i32.const 76 + i32.add + i32.const 1050932 + i32.store + local.get 2 + i32.const 68 + i32.add + i32.const 0 + i32.store8 + local.get 2 + i32.const 64 + i32.add + i32.const 1050908 + i32.store + local.get 2 + i32.const 56 + i32.add + i32.const 0 + i32.store8 + local.get 2 + i32.const 52 + i32.add + i32.const 1050884 + i32.store + local.get 2 + i32.const 44 + i32.add + i32.const 3 + i32.store8 + local.get 2 + i32.const 40 + i32.add + i32.const 1050860 + i32.store + local.get 2 + i32.const 32 + i32.add + i32.const 0 + i32.store8 + local.get 2 + i32.const 28 + i32.add + i32.const 1050836 + i32.store + local.get 2 + i32.const 8 + i32.add + i32.const 12 + i32.add + i32.const 0 + i32.store + local.get 2 + i32.const 16 + i32.add + i32.const 1050812 + i32.store + local.get 2 + local.get 10 + i32.store offset=96 + local.get 2 + local.get 9 + i32.store offset=84 + local.get 2 + local.get 8 + i32.store offset=72 + local.get 2 + local.get 7 + i32.store offset=60 + local.get 2 + local.get 6 + i32.store offset=48 + local.get 2 + local.get 5 + i32.store offset=36 + local.get 2 + local.get 4 + i32.store offset=24 + local.get 2 + local.get 3 + i32.store offset=12 + local.get 2 + local.get 1 + i32.store offset=8 + local.get 2 + i32.const 8 + i32.add + call $_ZN5alloc2rc11Rc$LT$T$GT$3new17h5a210e50a28a1d0eE + local.set 1 + local.get 2 + i32.const 112 + i32.add + global.set $__stack_pointer + local.get 1 + return + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 4 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17ha259b6dfe086614eE (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_priority) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17haac9a19ce6350e80E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_name + i32.const 1051064 + i32.const 1051256 + call $_ZN18pkmn_lib_interface8handling9cacheable9Cacheable8from_ref17h2cf0f9955fe2d36aE) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17haaef01963590d413E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_category) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hba30a2f4ba12e15bE (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_target) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hc78cb12d09c45396E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_accuracy) + (func $_ZN4core3ptr118drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$$GT$17h3825bf66ff436fc1E (type 2) (param i32)) + (func $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h00974258595e1b0dE (type 2) (param i32)) + (func $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h2c069d11ffbf6d2eE (type 2) (param i32)) + (func $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h2fdcc5cf64853effE (type 2) (param i32)) + (func $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h4a6540e9dadfae4aE (type 2) (param i32)) + (func $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h52af2ca2ae41cfbcE (type 2) (param i32)) + (func $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hce0948bba917b3daE (type 2) (param i32)) + (func $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hea775a9114e2ba07E (type 2) (param i32)) + (func $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hec472401f59e7c1eE (type 2) (param i32)) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData4name17hb861488e2f38c58fE (type 0) (param i32) (result i32) + (local i32 i32) + block ;; label = @1 + local.get 0 + i32.load + local.tee 1 + i32.const 20 + i32.add + i32.load + local.tee 0 + br_if 0 (;@1;) + local.get 1 + local.get 1 + i32.const 12 + i32.add + i32.load + local.get 1 + i32.const 16 + i32.add + i32.load + i32.load offset=20 + call_indirect (type 0) + local.tee 0 + i32.store offset=20 + end + local.get 0 + local.get 0 + i32.load + local.tee 1 + i32.const 1 + i32.add + local.tee 2 + i32.store + block ;; label = @1 + local.get 2 + local.get 1 + i32.ge_u + br_if 0 (;@1;) + unreachable + unreachable + end + local.get 0) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData10base_power17h4288a3a2c97568a8E (type 0) (param i32) (result i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load + local.tee 0 + i32.const 56 + i32.add + i32.load8_u + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 57 + i32.add + i32.load8_u + return + end + local.get 0 + i32.const 57 + i32.add + local.get 0 + i32.const 48 + i32.add + i32.load + local.get 0 + i32.const 52 + i32.add + i32.load + i32.load offset=20 + call_indirect (type 0) + local.tee 1 + i32.store8 + local.get 0 + i32.const 1 + i32.store8 offset=56 + local.get 1) + (func $_ZN147_$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData$u20$as$u20$pkmn_lib_interface..handling..extern_ref..ExternalReferenceType$GT$17from_extern_value17h0774b6710cbbe0e5E (type 0) (param i32) (result i32) + local.get 0 + i32.const 1050788 + i32.const 1050788 + call $_ZN18pkmn_lib_interface8handling9cacheable9Cacheable8from_ref17hc2dda3bc49bde800E) + (func $_ZN18pkmn_lib_interface8handling9cacheable9Cacheable8from_ref17hc2dda3bc49bde800E (type 7) (param i32 i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 0 + i32.store offset=8 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + i32.const 1059504 + local.get 3 + i32.const 8 + i32.add + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h34c67e42bc558de4E + local.tee 0 + i32.eqz + br_if 0 (;@4;) + local.get 0 + i32.load + local.tee 0 + local.get 0 + i32.load + local.tee 1 + i32.const 1 + i32.add + local.tee 2 + i32.store + local.get 2 + local.get 1 + i32.ge_u + br_if 1 (;@3;) + br 3 (;@1;) + end + local.get 3 + i32.load offset=8 + local.set 0 + local.get 3 + i32.const 1059504 + local.get 0 + local.get 1 + local.get 0 + local.get 2 + i32.load offset=20 + call_indirect (type 1) + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$6insert17h584b579b8ada6384E + local.tee 0 + i32.store offset=12 + block ;; label = @4 + local.get 0 + i32.eqz + br_if 0 (;@4;) + local.get 3 + i32.const 12 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hb21b2573a665d88cE + end + i32.const 1059504 + local.get 3 + i32.const 8 + i32.add + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h34c67e42bc558de4E + local.tee 0 + i32.eqz + br_if 1 (;@2;) + local.get 0 + i32.load + local.tee 0 + local.get 0 + i32.load + local.tee 1 + i32.const 1 + i32.add + local.tee 2 + i32.store + local.get 2 + local.get 1 + i32.lt_u + br_if 2 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 0 + return + end + i32.const 1050745 + i32.const 43 + i32.const 1051048 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + unreachable + unreachable) + (func $_ZN18pkmn_lib_interface8handling10extern_ref21VecExternRef$LT$T$GT$18get_internal_index17h3b6b96e581abe44bE (type 0) (param i32) (result i32) + local.get 0 + i32.load) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h0ab257df3675ec28E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_name + i32.const 1051064 + i32.const 1051256 + call $_ZN18pkmn_lib_interface8handling9cacheable9Cacheable8from_ref17h2cf0f9955fe2d36aE) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h6c7f33fab7c891daE (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_type) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h2073c309326ae5feE (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_category) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h6b00ec5844c91035E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_base_power) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h39548e311818f29dE (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_accuracy) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h08486f8ff10d446dE (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_base_power) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17hc575e44cb9f54028E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_target) + (func $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17ha6eaaf5ba72e4051E (type 0) (param i32) (result i32) + local.get 0 + i32.load + call $move_data_get_priority) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$11extend_with17hbc27fb8d032cfbabE (type 14) (param i32 i32 i32) + (local i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 3 + global.set $__stack_pointer + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.get 0 + i32.load offset=8 + local.tee 4 + i32.sub + local.get 1 + i32.ge_u + br_if 0 (;@1;) + local.get 0 + local.get 4 + local.get 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17hc382e24839803300E + local.get 0 + i32.load offset=8 + local.set 4 + end + local.get 0 + i32.load + local.get 4 + i32.const 4 + i32.shl + i32.add + local.set 5 + block ;; label = @1 + local.get 1 + i32.const 2 + i32.lt_u + br_if 0 (;@1;) + local.get 1 + i32.const -1 + i32.add + local.set 6 + loop ;; label = @2 + local.get 3 + local.get 2 + call $_ZN86_$LT$alloc..vec..ExtendElement$LT$T$GT$$u20$as$u20$alloc..vec..ExtendWith$LT$T$GT$$GT$4next17hca5a1ce59235718cE + local.get 5 + i32.const 8 + i32.add + local.get 3 + i32.const 8 + i32.add + i64.load + i64.store + local.get 5 + local.get 3 + i64.load + i64.store + local.get 5 + i32.const 16 + i32.add + local.set 5 + local.get 6 + i32.const -1 + i32.add + local.tee 6 + br_if 0 (;@2;) + end + local.get 1 + local.get 4 + i32.add + i32.const -1 + i32.add + local.set 4 + end + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.eqz + br_if 0 (;@2;) + local.get 5 + local.get 2 + i64.load + i64.store + local.get 5 + i32.const 8 + i32.add + local.get 2 + i32.const 8 + i32.add + i64.load + i64.store + local.get 0 + local.get 4 + i32.const 1 + i32.add + i32.store offset=8 + br 1 (;@1;) + end + local.get 0 + local.get 4 + i32.store offset=8 + local.get 2 + i32.load8_u + local.tee 5 + i32.const 6 + i32.eq + br_if 0 (;@1;) + local.get 5 + i32.const 29 + i32.shl + i32.const 29 + i32.shr_s + i32.const -1 + i32.gt_s + br_if 0 (;@1;) + local.get 5 + i32.const 7 + i32.and + i32.const 5 + i32.eq + br_if 0 (;@1;) + local.get 2 + i32.const 4 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + end + local.get 3 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN86_$LT$alloc..vec..ExtendElement$LT$T$GT$$u20$as$u20$alloc..vec..ExtendWith$LT$T$GT$$GT$4next17hca5a1ce59235718cE (type 6) (param i32 i32) + (local i32 i32 i32 i64 i32) + block ;; label = @1 + local.get 1 + i32.load8_u + local.tee 2 + i32.const 6 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.const 6 + i32.store8 + return + end + i32.const 5 + local.set 3 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.const 5 + i32.ne + br_if 0 (;@3;) + br 1 (;@2;) + end + i32.const 0 + local.set 3 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 2 + br_table 6 (;@1;) 0 (;@7;) 1 (;@6;) 3 (;@4;) 2 (;@5;) 6 (;@1;) + end + local.get 1 + i32.load8_u offset=1 + local.set 4 + i32.const 1 + local.set 3 + br 5 (;@1;) + end + local.get 1 + i32.const 8 + i32.add + i64.load + local.set 5 + i32.const 2 + local.set 3 + br 3 (;@2;) + end + i32.const 4 + local.set 3 + local.get 1 + i32.const 4 + i32.add + i32.load + local.tee 6 + local.get 6 + i32.load + local.tee 1 + i32.const 1 + i32.add + local.tee 2 + i32.store + local.get 2 + local.get 1 + i32.ge_u + br_if 1 (;@3;) + unreachable + unreachable + end + local.get 1 + i32.const 4 + i32.add + i32.load + local.set 6 + i32.const 3 + local.set 3 + end + end + end + local.get 0 + local.get 4 + i32.store8 offset=1 + local.get 0 + local.get 3 + i32.store8 + local.get 0 + i32.const 8 + i32.add + local.get 5 + i64.store + local.get 0 + i32.const 4 + i32.add + local.get 6 + i32.store) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$6resize17hb1e87886deffc676E (type 14) (param i32 i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 3 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=8 + local.tee 4 + local.get 1 + i32.ge_u + br_if 0 (;@2;) + local.get 3 + i32.const 8 + i32.add + local.get 2 + i32.const 8 + i32.add + i64.load + i64.store + local.get 3 + local.get 2 + i64.load + i64.store + local.get 0 + local.get 1 + local.get 4 + i32.sub + local.get 3 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$11extend_with17hbc27fb8d032cfbabE + br 1 (;@1;) + end + local.get 0 + local.get 1 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17he96afe84b1ad323cE + local.get 2 + i32.load8_u + local.tee 1 + i32.const 6 + i32.eq + br_if 0 (;@1;) + local.get 1 + i32.const 29 + i32.shl + i32.const 29 + i32.shr_s + i32.const -1 + i32.gt_s + br_if 0 (;@1;) + local.get 1 + i32.const 7 + i32.and + i32.const 5 + i32.eq + br_if 0 (;@1;) + local.get 2 + i32.const 4 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + end + local.get 3 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17he96afe84b1ad323cE (type 6) (param i32 i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load offset=8 + local.tee 2 + local.get 1 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + local.get 1 + i32.store offset=8 + local.get 2 + local.get 1 + i32.sub + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.load + local.get 1 + i32.const 4 + i32.shl + local.tee 0 + i32.add + local.set 1 + local.get 2 + i32.const 4 + i32.shl + local.get 0 + i32.sub + local.set 0 + loop ;; label = @2 + block ;; label = @3 + local.get 1 + i32.load8_u + local.tee 2 + i32.const 6 + i32.eq + br_if 0 (;@3;) + local.get 2 + i32.const 29 + i32.shl + i32.const 29 + i32.shr_s + i32.const -1 + i32.gt_s + br_if 0 (;@3;) + local.get 2 + i32.const 7 + i32.and + i32.const 5 + i32.eq + br_if 0 (;@3;) + local.get 1 + i32.const 4 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + end + local.get 1 + i32.const 16 + i32.add + local.set 1 + local.get 0 + i32.const -16 + i32.add + local.tee 0 + br_if 0 (;@2;) + end + end) + (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17ha12fdefc20c5b1ffE (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN95_$LT$pkmn_lib_interface..app_interface..string_key..StringKey$u20$as$u20$core..fmt..Display$GT$3fmt17h426ab954bd09a759E) + (func $_ZN95_$LT$pkmn_lib_interface..app_interface..string_key..StringKey$u20$as$u20$core..fmt..Display$GT$3fmt17h426ab954bd09a759E (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 0 + call $_ZN18pkmn_lib_interface13app_interface10string_key9StringKey3str17h38ef68358b2d1e02E + local.tee 0 + i32.load + local.get 0 + i32.load offset=4 + call $_ZN9cstr_core4CStr6to_str17h4b173dc63e89b5bcE + block ;; label = @1 + local.get 2 + i32.load + i32.eqz + br_if 0 (;@1;) + local.get 2 + local.get 2 + i32.const 4 + i32.or + i32.store offset=12 + i32.const 1051179 + i32.const 43 + local.get 2 + i32.const 12 + i32.add + i32.const 1051240 + i32.const 1051412 + call $_ZN4core6result13unwrap_failed17h12b99b1d3e50afbfE + unreachable + end + local.get 1 + local.get 2 + i32.load offset=4 + local.get 2 + i32.const 8 + i32.add + i32.load + call $_ZN4core3fmt9Formatter9write_str17h70c9163297c9e7eeE + local.set 0 + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h6d3f9c82dcd499b9E.llvm.18319150102898691041 (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + i64.const 0 + i64.store offset=16 + local.get 2 + i64.const 0 + i64.store offset=4 align=4 + local.get 2 + local.get 1 + i32.store + local.get 2 + call $_ZN5alloc2rc11Rc$LT$T$GT$3new17hc3e35c337703ebcaE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN18pkmn_lib_interface8handling9cacheable9Cacheable8from_ref17h2cf0f9955fe2d36aE (type 7) (param i32 i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 0 + i32.store offset=8 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + i32.const 1059516 + local.get 3 + i32.const 8 + i32.add + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h0be71c604b7990edE + local.tee 0 + i32.eqz + br_if 0 (;@4;) + local.get 0 + i32.load + local.tee 0 + local.get 0 + i32.load + local.tee 1 + i32.const 1 + i32.add + local.tee 2 + i32.store + local.get 2 + local.get 1 + i32.ge_u + br_if 1 (;@3;) + br 3 (;@1;) + end + local.get 3 + i32.load offset=8 + local.set 0 + local.get 3 + i32.const 1059516 + local.get 0 + local.get 1 + local.get 0 + local.get 2 + i32.load offset=20 + call_indirect (type 1) + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$6insert17h8d75f0031b7d2454E + local.tee 0 + i32.store offset=12 + block ;; label = @4 + local.get 0 + i32.eqz + br_if 0 (;@4;) + local.get 3 + i32.const 12 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + end + i32.const 1059516 + local.get 3 + i32.const 8 + i32.add + call $_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$3get17h0be71c604b7990edE + local.tee 0 + i32.eqz + br_if 1 (;@2;) + local.get 0 + i32.load + local.tee 0 + local.get 0 + i32.load + local.tee 1 + i32.const 1 + i32.add + local.tee 2 + i32.store + local.get 2 + local.get 1 + i32.lt_u + br_if 2 (;@1;) + end + local.get 3 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 0 + return + end + i32.const 1051136 + i32.const 43 + i32.const 1051472 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + unreachable + unreachable) + (func $_ZN4core3ptr111drop_in_place$LT$pkmn_lib_interface..app_interface..string_key..StringKey..new..$u7b$$u7b$closure$u7d$$u7d$$GT$17hc1b229ec0d778e03E.llvm.18319150102898691041 (type 2) (param i32)) + (func $_ZN4core3ptr44drop_in_place$LT$core..cell..BorrowError$GT$17hacc773145f704424E (type 2) (param i32)) + (func $_ZN4core3ptr47drop_in_place$LT$core..cell..BorrowMutError$GT$17h61547e6ea13bb26aE (type 2) (param i32)) + (func $_ZN4core3ptr52drop_in_place$LT$$RF$core..str..error..Utf8Error$GT$17h6fb43b3b2f3892f3E (type 2) (param i32)) + (func $_ZN4core3ptr53drop_in_place$LT$core..alloc..layout..LayoutError$GT$17h0eff41cd417ca281E (type 2) (param i32)) + (func $_ZN18pkmn_lib_interface13app_interface10string_key9StringKey3new28_$u7b$$u7b$closure$u7d$$u7d$17h585a6c0b09e97951E.llvm.18319150102898691041 (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + i64.const 0 + i64.store offset=16 + local.get 2 + i64.const 0 + i64.store offset=4 align=4 + local.get 2 + local.get 1 + i32.store + local.get 2 + call $_ZN5alloc2rc11Rc$LT$T$GT$3new17hc3e35c337703ebcaE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN18pkmn_lib_interface13app_interface10string_key9StringKey3str17h38ef68358b2d1e02E (type 0) (param i32) (result i32) + (local i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 1 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 0 + i32.load + local.tee 0 + i32.const 12 + i32.add + i32.load + i32.const 2147483647 + i32.ge_u + br_if 0 (;@5;) + local.get 0 + i32.const 16 + i32.add + local.tee 2 + i32.load + br_if 3 (;@2;) + local.get 0 + i32.load offset=8 + call $string_key_get_str + call $_ZN9cstr_core7CString8from_raw17hcb88ec53883c0f12E + local.set 4 + local.set 3 + local.get 0 + i32.load offset=12 + br_if 1 (;@4;) + local.get 0 + i32.const 0 + i32.store offset=12 + local.get 0 + i32.const 20 + i32.add + local.tee 5 + i32.load + local.set 6 + local.get 5 + local.get 4 + i32.store + local.get 0 + i32.const 16 + i32.add + local.tee 4 + i32.load + local.set 0 + local.get 4 + local.get 3 + i32.store + local.get 0 + i32.eqz + br_if 2 (;@3;) + local.get 0 + i32.const 0 + i32.store8 + local.get 6 + i32.eqz + br_if 2 (;@3;) + local.get 0 + local.get 6 + i32.const 1 + call $__rust_dealloc + br 2 (;@3;) + end + i32.const 1051096 + i32.const 24 + local.get 1 + i32.const 8 + i32.add + i32.const 1051120 + i32.const 1051332 + call $_ZN4core6result13unwrap_failed17h12b99b1d3e50afbfE + unreachable + end + i32.const 1051064 + i32.const 16 + local.get 1 + i32.const 8 + i32.add + i32.const 1051080 + i32.const 1051348 + call $_ZN4core6result13unwrap_failed17h12b99b1d3e50afbfE + unreachable + end + local.get 2 + i32.load + i32.eqz + br_if 1 (;@1;) + end + local.get 1 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 2 + return + end + i32.const 1051136 + i32.const 43 + i32.const 1051364 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN18pkmn_lib_interface13app_interface10string_key9StringKey4hash17h55bfb6c367f4fe28E (type 0) (param i32) (result i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 1 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.load + local.tee 0 + i32.const 24 + i32.add + i32.load + local.tee 2 + i32.const 2147483647 + i32.ge_u + br_if 0 (;@3;) + block ;; label = @4 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.const 1 + i32.ne + br_if 0 (;@4;) + local.get 0 + i32.load offset=32 + local.set 3 + br 3 (;@1;) + end + local.get 0 + i32.load offset=8 + call $string_key_get_hash + local.set 3 + local.get 0 + i32.load offset=24 + br_if 1 (;@2;) + local.get 0 + local.get 3 + i32.store offset=32 + local.get 0 + i32.const 1 + i32.store offset=28 + i32.const 0 + local.set 2 + br 2 (;@1;) + end + i32.const 1051096 + i32.const 24 + local.get 1 + i32.const 8 + i32.add + i32.const 1051120 + i32.const 1051380 + call $_ZN4core6result13unwrap_failed17h12b99b1d3e50afbfE + unreachable + end + i32.const 1051064 + i32.const 16 + local.get 1 + i32.const 8 + i32.add + i32.const 1051080 + i32.const 1051396 + call $_ZN4core6result13unwrap_failed17h12b99b1d3e50afbfE + unreachable + end + local.get 0 + local.get 2 + i32.store offset=24 + local.get 1 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 3) + (func $_ZN18pkmn_lib_interface5utils9print_raw17h53247f909dd4e53fE (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $_print) + (func $rust_begin_unwind (type 2) (param i32) + (local i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + call $_ZN4core5panic10panic_info9PanicInfo7message17h716df998157744adE + local.tee 1 + i32.eqz + br_if 0 (;@2;) + local.get 1 + i32.load offset=20 + local.set 2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load offset=4 + br_table 0 (;@5;) 1 (;@4;) 4 (;@1;) + end + local.get 2 + br_if 3 (;@1;) + i32.const 1051064 + local.set 2 + i32.const 0 + local.set 3 + br 1 (;@3;) + end + local.get 2 + br_if 2 (;@1;) + local.get 1 + i32.load + local.tee 1 + i32.load offset=4 + local.set 3 + local.get 1 + i32.load + local.set 2 + end + block ;; label = @3 + block ;; label = @4 + local.get 0 + call $_ZN4core5panic10panic_info9PanicInfo8location17hbf5421d4ce3ad7c2E + local.tee 1 + br_if 0 (;@4;) + i32.const 1051064 + local.set 0 + i32.const 0 + local.set 4 + i32.const 0 + local.set 5 + i32.const 0 + local.set 1 + br 1 (;@3;) + end + local.get 1 + i32.load offset=4 + local.set 4 + local.get 1 + i32.load + local.set 0 + local.get 1 + i32.load offset=12 + local.set 5 + local.get 1 + i32.load offset=8 + local.set 1 + end + local.get 2 + local.get 3 + local.get 0 + local.get 4 + local.get 1 + local.get 5 + call $_error + loop ;; label = @3 + br 0 (;@3;) + end + end + i32.const 1051136 + i32.const 43 + i32.const 1051520 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1051136 + i32.const 43 + i32.const 1051536 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $rust_oom (type 6) (param i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + i32.const 28 + i32.add + i32.const 1 + i32.store + local.get 2 + i64.const 2 + i64.store offset=12 align=4 + local.get 2 + i32.const 1051588 + i32.store offset=8 + local.get 2 + i32.const 45 + i32.store offset=36 + local.get 2 + local.get 0 + i32.store offset=44 + local.get 2 + local.get 2 + i32.const 32 + i32.add + i32.store offset=24 + local.get 2 + local.get 2 + i32.const 44 + i32.add + i32.store offset=32 + local.get 2 + i32.const 8 + i32.add + i32.const 1051604 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable) + (func $allocate_mem (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.popcnt + i32.const 1 + i32.ne + br_if 0 (;@2;) + i32.const 0 + local.get 1 + i32.const -2147483648 + local.get 1 + i32.sub + local.get 0 + i32.lt_u + select + local.tee 1 + br_if 1 (;@1;) + end + i32.const 1051179 + i32.const 43 + local.get 2 + i32.const 8 + i32.add + i32.const 1051224 + i32.const 1051620 + call $_ZN4core6result13unwrap_failed17h12b99b1d3e50afbfE + unreachable + end + local.get 0 + local.get 1 + call $__rust_alloc + local.set 1 + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h230af300f5c64725E (type 12) (result i32) + (local i32) + block ;; label = @1 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17he593f0ba10e8a4e8E + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 0 + return + end + i32.const 144 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17he593f0ba10e8a4e8E (type 12) (result i32) + (local i32) + block ;; label = @1 + i32.const 144 + i32.const 4 + call $__rust_alloc + local.tee 0 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 0 + local.set 0 + end + local.get 0) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h705225401cc383f4E (type 12) (result i32) + (local i32) + block ;; label = @1 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h4d2e875b41c8987bE + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 0 + return + end + i32.const 96 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h4d2e875b41c8987bE (type 12) (result i32) + (local i32) + block ;; label = @1 + i32.const 96 + i32.const 4 + call $__rust_alloc + local.tee 0 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 0 + local.set 0 + end + local.get 0) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h9d867b03919ea09bE (type 12) (result i32) + (local i32) + block ;; label = @1 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17hc963c50d8d316fa3E + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 0 + return + end + i32.const 144 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17hc963c50d8d316fa3E (type 12) (result i32) + (local i32) + block ;; label = @1 + i32.const 144 + i32.const 4 + call $__rust_alloc + local.tee 0 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 0 + local.set 0 + end + local.get 0) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hb8756242aac42e6fE (type 12) (result i32) + (local i32) + block ;; label = @1 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h58452ffd540df304E + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 0 + return + end + i32.const 96 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h58452ffd540df304E (type 12) (result i32) + (local i32) + block ;; label = @1 + i32.const 96 + i32.const 4 + call $__rust_alloc + local.tee 0 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 0 + local.set 0 + end + local.get 0) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hd0a8eef00f530b0eE (type 12) (result i32) + (local i32) + block ;; label = @1 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h1f46943ce50776c7E + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 0 + return + end + i32.const 96 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h1f46943ce50776c7E (type 12) (result i32) + (local i32) + block ;; label = @1 + i32.const 96 + i32.const 4 + call $__rust_alloc + local.tee 0 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 0 + local.set 0 + end + local.get 0) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hdb5496237754b4e1E (type 12) (result i32) + (local i32) + block ;; label = @1 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h1e5f657922ee2361E + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 0 + return + end + i32.const 144 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable) + (func $_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h1e5f657922ee2361E (type 12) (result i32) + (local i32) + block ;; label = @1 + i32.const 144 + i32.const 4 + call $__rust_alloc + local.tee 0 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 0 + local.set 0 + end + local.get 0) + (func $_ZN5alloc11collections5btree8navigate39LazyLeafRange$LT$BorrowType$C$K$C$V$GT$10init_front17h7ac8018fcc71d104E (type 0) (param i32) (result i32) + (local i32 i32) + block ;; label = @1 + local.get 0 + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@1;) + i32.const 0 + local.get 0 + i32.const 4 + i32.add + local.get 1 + i32.const 2 + i32.eq + select + return + end + local.get 0 + i32.const 8 + i32.add + i32.load + local.set 1 + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + local.get 1 + i32.load offset=96 + local.set 1 + local.get 2 + i32.const -1 + i32.add + local.tee 2 + br_if 0 (;@2;) + end + end + local.get 0 + local.get 1 + i32.store offset=8 + local.get 0 + i64.const 1 + i64.store align=4 + local.get 0 + i32.const 12 + i32.add + i32.const 0 + i32.store + local.get 0 + i32.const 4 + i32.add) + (func $_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$10take_front17hbffab19f9a44f153E (type 6) (param i32 i32) + (local i32 i32 i32) + local.get 1 + i32.load + local.set 2 + local.get 1 + i32.const 2 + i32.store + local.get 1 + i32.const 8 + i32.add + i32.load + local.set 3 + local.get 1 + i32.load offset=4 + local.set 4 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 2 + br_table 1 (;@2;) 2 (;@1;) 0 (;@3;) 1 (;@2;) + end + local.get 0 + i32.const 0 + i32.store offset=4 + return + end + block ;; label = @2 + local.get 4 + i32.eqz + br_if 0 (;@2;) + loop ;; label = @3 + local.get 3 + i32.load offset=96 + local.set 3 + local.get 4 + i32.const -1 + i32.add + local.tee 4 + br_if 0 (;@3;) + end + end + local.get 0 + i32.const 0 + i32.store offset=8 + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + i32.const 0 + i32.store + return + end + local.get 0 + local.get 1 + i32.const 12 + i32.add + i32.load + i32.store offset=8 + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + local.get 4 + i32.store) + (func $_ZN4core3ptr140drop_in_place$LT$pkmn_lib_interface..handling..cached_value..CachedValue$LT$pkmn_lib_interface..app_interface..string_key..StringKey$GT$$GT$17h08f88245c5fb1b11E.llvm.4678846235071262167 (type 2) (param i32) + (local i32 i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 2) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.load + local.get 2 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end + block ;; label = @1 + local.get 0 + i32.load offset=8 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 8 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + end) + (func $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E (type 2) (param i32) + (local i32) + local.get 0 + i32.load + local.tee 0 + local.get 0 + i32.load + i32.const -1 + i32.add + local.tee 1 + i32.store + block ;; label = @1 + local.get 1 + br_if 0 (;@1;) + block ;; label = @2 + local.get 0 + i32.const 16 + i32.add + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@2;) + local.get 1 + i32.const 0 + i32.store8 + local.get 0 + i32.const 20 + i32.add + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load offset=16 + local.get 1 + i32.const 1 + call $__rust_dealloc + end + local.get 0 + local.get 0 + i32.load offset=4 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=4 + local.get 1 + br_if 0 (;@1;) + local.get 0 + i32.const 36 + i32.const 4 + call $__rust_dealloc + end) + (func $_ZN4core3ptr86drop_in_place$LT$pkmn_lib_interface..handling..cached_value..CachedValue$LT$u8$GT$$GT$17h71a951db7db89beaE.llvm.4678846235071262167 (type 2) (param i32) + (local i32 i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 2) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.load + local.get 2 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end) + (func $_ZN5alloc2rc11Rc$LT$T$GT$10from_inner17h4cf67c0ee6cad385E (type 0) (param i32) (result i32) + local.get 0) + (func $_ZN5alloc2rc11Rc$LT$T$GT$10from_inner17hcc7a73b0c2860ec6E (type 0) (param i32) (result i32) + local.get 0) + (func $_ZN5alloc2rc11Rc$LT$T$GT$3new17h5a210e50a28a1d0eE (type 0) (param i32) (result i32) + (local i32) + block ;; label = @1 + i32.const 108 + i32.const 4 + call $__rust_alloc + local.tee 1 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 108 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + local.get 1 + i64.const 4294967297 + i64.store align=4 + local.get 1 + i32.const 8 + i32.add + local.get 0 + i32.const 100 + call $memcpy + drop + local.get 1) + (func $_ZN5alloc2rc11Rc$LT$T$GT$3new17h973b373becee4275E (type 0) (param i32) (result i32) + (local i32) + block ;; label = @1 + i32.const 28 + i32.const 4 + call $__rust_alloc + local.tee 1 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 28 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + local.get 1 + i64.const 4294967297 + i64.store align=4 + local.get 1 + local.get 0 + i64.load align=4 + i64.store offset=8 align=4 + local.get 1 + i32.const 16 + i32.add + local.get 0 + i32.const 8 + i32.add + i64.load align=4 + i64.store align=4 + local.get 1 + i32.const 24 + i32.add + local.get 0 + i32.const 16 + i32.add + i32.load + i32.store + local.get 1) + (func $_ZN5alloc2rc11Rc$LT$T$GT$3new17hc3e35c337703ebcaE (type 0) (param i32) (result i32) + (local i32) + block ;; label = @1 + i32.const 36 + i32.const 4 + call $__rust_alloc + local.tee 1 + br_if 0 (;@1;) + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 36 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + local.get 1 + i64.const 4294967297 + i64.store align=4 + local.get 1 + local.get 0 + i64.load align=4 + i64.store offset=8 align=4 + local.get 1 + i32.const 16 + i32.add + local.get 0 + i32.const 8 + i32.add + i64.load align=4 + i64.store align=4 + local.get 1 + i32.const 24 + i32.add + local.get 0 + i32.const 16 + i32.add + i64.load align=4 + i64.store align=4 + local.get 1 + i32.const 32 + i32.add + local.get 0 + i32.const 24 + i32.add + i32.load + i32.store + local.get 1) + (func $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h5b90f553a6918b14E (type 2) (param i32) + (local i32) + local.get 0 + i32.load + local.tee 0 + local.get 0 + i32.load + i32.const -1 + i32.add + local.tee 1 + i32.store + block ;; label = @1 + local.get 1 + br_if 0 (;@1;) + local.get 0 + i32.const 16 + i32.add + call $_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9529ba24cb2e3920E + local.get 0 + local.get 0 + i32.load offset=4 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=4 + local.get 1 + br_if 0 (;@1;) + local.get 0 + i32.const 28 + i32.const 4 + call $__rust_dealloc + end) + (func $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hb21b2573a665d88cE (type 2) (param i32) + (local i32 i32 i32) + local.get 0 + i32.load + local.tee 0 + local.get 0 + i32.load + i32.const -1 + i32.add + local.tee 1 + i32.store + block ;; label = @1 + local.get 1 + br_if 0 (;@1;) + local.get 0 + i32.const 12 + i32.add + call $_ZN4core3ptr140drop_in_place$LT$pkmn_lib_interface..handling..cached_value..CachedValue$LT$pkmn_lib_interface..app_interface..string_key..StringKey$GT$$GT$17h08f88245c5fb1b11E.llvm.4678846235071262167 + local.get 0 + i32.const 24 + i32.add + call $_ZN4core3ptr86drop_in_place$LT$pkmn_lib_interface..handling..cached_value..CachedValue$LT$u8$GT$$GT$17h71a951db7db89beaE.llvm.4678846235071262167 + local.get 0 + i32.const 36 + i32.add + local.tee 2 + i32.load + local.get 0 + i32.const 40 + i32.add + local.tee 1 + i32.load + i32.load + call_indirect (type 2) + block ;; label = @2 + local.get 1 + i32.load + local.tee 1 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@2;) + local.get 2 + i32.load + local.get 3 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 48 + i32.add + call $_ZN4core3ptr86drop_in_place$LT$pkmn_lib_interface..handling..cached_value..CachedValue$LT$u8$GT$$GT$17h71a951db7db89beaE.llvm.4678846235071262167 + local.get 0 + i32.const 60 + i32.add + call $_ZN4core3ptr86drop_in_place$LT$pkmn_lib_interface..handling..cached_value..CachedValue$LT$u8$GT$$GT$17h71a951db7db89beaE.llvm.4678846235071262167 + local.get 0 + i32.const 72 + i32.add + call $_ZN4core3ptr86drop_in_place$LT$pkmn_lib_interface..handling..cached_value..CachedValue$LT$u8$GT$$GT$17h71a951db7db89beaE.llvm.4678846235071262167 + local.get 0 + i32.const 84 + i32.add + local.tee 2 + i32.load + local.get 0 + i32.const 88 + i32.add + local.tee 1 + i32.load + i32.load + call_indirect (type 2) + block ;; label = @2 + local.get 1 + i32.load + local.tee 1 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@2;) + local.get 2 + i32.load + local.get 3 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 96 + i32.add + local.tee 2 + i32.load + local.get 0 + i32.const 100 + i32.add + local.tee 1 + i32.load + i32.load + call_indirect (type 2) + block ;; label = @2 + local.get 1 + i32.load + local.tee 1 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@2;) + local.get 2 + i32.load + local.get 3 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + local.get 0 + i32.load offset=4 + i32.const -1 + i32.add + local.tee 1 + i32.store offset=4 + local.get 1 + br_if 0 (;@1;) + local.get 0 + i32.const 108 + i32.const 4 + call $__rust_dealloc + end) + (func $_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h759840b551731221E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 8 + i32.add + i32.load + br_if 0 (;@3;) + local.get 0 + i32.load offset=16 + local.set 3 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h705225401cc383f4E + local.tee 4 + i32.const 1 + i32.store16 offset=94 + local.get 4 + i32.const 0 + i32.store + local.get 4 + local.get 1 + i32.store offset=48 + local.get 4 + local.get 0 + i32.load + i32.store offset=4 + local.get 3 + i32.const 1 + i32.store offset=8 + local.get 3 + local.get 4 + i32.store offset=4 + local.get 3 + i32.const 0 + i32.store + local.get 4 + i32.const 48 + i32.add + local.set 1 + br 1 (;@2;) + end + local.get 2 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.get 0 + i32.const 12 + i32.add + i32.load + i32.store + local.get 2 + local.get 0 + i64.load offset=4 align=4 + i64.store offset=32 + local.get 2 + local.get 2 + i32.const 32 + i32.add + local.get 0 + i32.load + local.get 1 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17hed5f0f0493742c46E + local.get 2 + i32.load offset=24 + local.set 1 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.load offset=4 + br_if 0 (;@4;) + local.get 0 + i32.load offset=16 + local.set 0 + br 1 (;@3;) + end + local.get 0 + i32.load offset=16 + local.tee 0 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 2 (;@1;) + local.get 2 + i32.const 20 + i32.add + i32.load + local.set 5 + local.get 2 + i32.const 12 + i32.add + i32.load + local.set 6 + local.get 2 + i32.const 16 + i32.add + i32.load + local.set 7 + local.get 2 + i32.load offset=8 + local.set 8 + local.get 0 + i32.load + local.set 9 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hdb5496237754b4e1E + local.tee 4 + local.get 3 + i32.store offset=96 + local.get 4 + i32.const 0 + i32.store16 offset=94 + local.get 4 + i32.const 0 + i32.store + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 9 + i32.const 1 + i32.add + local.tee 9 + i32.store + local.get 3 + i32.const 0 + i32.store16 offset=92 + local.get 3 + local.get 4 + i32.store + local.get 2 + local.get 4 + i32.store offset=36 + local.get 2 + local.get 9 + i32.store offset=32 + local.get 2 + i32.const 32 + i32.add + local.get 8 + local.get 6 + local.get 7 + local.get 5 + call $_ZN5alloc11collections5btree4node119NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$4push17hf37807a595b2708fE + end + local.get 0 + local.get 0 + i32.load offset=8 + i32.const 1 + i32.add + i32.store offset=8 + end + local.get 2 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 1 + return + end + i32.const 1051636 + i32.const 43 + i32.const 1051776 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17h75ccf5cfc689a4feE (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 8 + i32.add + i32.load + br_if 0 (;@3;) + local.get 0 + i32.load offset=16 + local.set 3 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hd0a8eef00f530b0eE + local.tee 4 + i32.const 1 + i32.store16 offset=94 + local.get 4 + i32.const 0 + i32.store + local.get 4 + local.get 1 + i32.store offset=48 + local.get 4 + local.get 0 + i32.load + i32.store offset=4 + local.get 3 + i32.const 1 + i32.store offset=8 + local.get 3 + local.get 4 + i32.store offset=4 + local.get 3 + i32.const 0 + i32.store + local.get 4 + i32.const 48 + i32.add + local.set 1 + br 1 (;@2;) + end + local.get 2 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.get 0 + i32.const 12 + i32.add + i32.load + i32.store + local.get 2 + local.get 0 + i64.load offset=4 align=4 + i64.store offset=32 + local.get 2 + local.get 2 + i32.const 32 + i32.add + local.get 0 + i32.load + local.get 1 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17h98f81a2af80d5892E + local.get 2 + i32.load offset=24 + local.set 1 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.load offset=4 + br_if 0 (;@4;) + local.get 0 + i32.load offset=16 + local.set 0 + br 1 (;@3;) + end + local.get 0 + i32.load offset=16 + local.tee 0 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 2 (;@1;) + local.get 2 + i32.const 20 + i32.add + i32.load + local.set 5 + local.get 2 + i32.const 12 + i32.add + i32.load + local.set 6 + local.get 2 + i32.const 16 + i32.add + i32.load + local.set 7 + local.get 2 + i32.load offset=8 + local.set 8 + local.get 0 + i32.load + local.set 9 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h9d867b03919ea09bE + local.tee 4 + local.get 3 + i32.store offset=96 + local.get 4 + i32.const 0 + i32.store16 offset=94 + local.get 4 + i32.const 0 + i32.store + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 9 + i32.const 1 + i32.add + local.tee 9 + i32.store + local.get 3 + i32.const 0 + i32.store16 offset=92 + local.get 3 + local.get 4 + i32.store + local.get 2 + local.get 4 + i32.store offset=36 + local.get 2 + local.get 9 + i32.store offset=32 + local.get 2 + i32.const 32 + i32.add + local.get 8 + local.get 6 + local.get 7 + local.get 5 + call $_ZN5alloc11collections5btree4node119NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$4push17h1ff350c8ee7d46c9E + end + local.get 0 + local.get 0 + i32.load offset=8 + i32.const 1 + i32.add + i32.store offset=8 + end + local.get 2 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 1 + return + end + i32.const 1051636 + i32.const 43 + i32.const 1051776 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN5alloc11collections5btree3map5entry28VacantEntry$LT$K$C$V$C$A$GT$6insert17hd92ca8b228159acfE (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const 8 + i32.add + i32.load + br_if 0 (;@3;) + local.get 0 + i32.load offset=16 + local.set 3 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17hb8756242aac42e6fE + local.tee 4 + i32.const 1 + i32.store16 offset=94 + local.get 4 + i32.const 0 + i32.store + local.get 4 + local.get 1 + i32.store offset=48 + local.get 4 + local.get 0 + i32.load + i32.store offset=4 + local.get 3 + i32.const 1 + i32.store offset=8 + local.get 3 + local.get 4 + i32.store offset=4 + local.get 3 + i32.const 0 + i32.store + local.get 4 + i32.const 48 + i32.add + local.set 1 + br 1 (;@2;) + end + local.get 2 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.get 0 + i32.const 12 + i32.add + i32.load + i32.store + local.get 2 + local.get 0 + i64.load offset=4 align=4 + i64.store offset=32 + local.get 2 + local.get 2 + i32.const 32 + i32.add + local.get 0 + i32.load + local.get 1 + call $_ZN5alloc11collections5btree4node210Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16insert_recursing17hc841b4bf1672076bE + local.get 2 + i32.load offset=24 + local.set 1 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.load offset=4 + br_if 0 (;@4;) + local.get 0 + i32.load offset=16 + local.set 0 + br 1 (;@3;) + end + local.get 0 + i32.load offset=16 + local.tee 0 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 2 (;@1;) + local.get 2 + i32.const 20 + i32.add + i32.load + local.set 5 + local.get 2 + i32.const 12 + i32.add + i32.load + local.set 6 + local.get 2 + i32.const 16 + i32.add + i32.load + local.set 7 + local.get 2 + i32.load offset=8 + local.set 8 + local.get 0 + i32.load + local.set 9 + call $_ZN5alloc5boxed16Box$LT$T$C$A$GT$13new_uninit_in17h230af300f5c64725E + local.tee 4 + local.get 3 + i32.store offset=96 + local.get 4 + i32.const 0 + i32.store16 offset=94 + local.get 4 + i32.const 0 + i32.store + local.get 0 + local.get 4 + i32.store offset=4 + local.get 0 + local.get 9 + i32.const 1 + i32.add + local.tee 9 + i32.store + local.get 3 + i32.const 0 + i32.store16 offset=92 + local.get 3 + local.get 4 + i32.store + local.get 2 + local.get 4 + i32.store offset=36 + local.get 2 + local.get 9 + i32.store offset=32 + local.get 2 + i32.const 32 + i32.add + local.get 8 + local.get 6 + local.get 7 + local.get 5 + call $_ZN5alloc11collections5btree4node119NodeRef$LT$alloc..collections..btree..node..marker..Mut$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$4push17h2e57a3d25f68c980E + end + local.get 0 + local.get 0 + i32.load offset=8 + i32.const 1 + i32.add + i32.store offset=8 + end + local.get 2 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 1 + return + end + i32.const 1051636 + i32.const 43 + i32.const 1051776 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h3fea885af45e34d3E (type 4) (param i32) (result i32 i32) + local.get 0 + i32.const 11) + (func $_ZN4core5array40_$LT$impl$u20$$u5b$T$u3b$$u20$N$u5d$$GT$12as_mut_slice17h5640f0cc812782e7E (type 4) (param i32) (result i32 i32) + local.get 0 + i32.const 11) + (func $_ZN4core5alloc6global11GlobalAlloc7realloc17hd7d4f3f473acf07bE (type 17) (param i32 i32 i32 i32 i32) (result i32) + (local i32) + block ;; label = @1 + local.get 0 + local.get 4 + local.get 3 + call $_ZN72_$LT$wee_alloc..WeeAlloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$5alloc17hb885433919c56e51E + local.tee 5 + i32.eqz + br_if 0 (;@1;) + local.get 5 + local.get 1 + local.get 4 + local.get 2 + local.get 2 + local.get 4 + i32.gt_u + select + call $memcpy + drop + local.get 0 + local.get 1 + local.get 2 + local.get 3 + call $_ZN72_$LT$wee_alloc..WeeAlloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$7dealloc17haba41eccfcb40b76E + end + local.get 5) + (func $_ZN18pkmn_lib_interface18set_load_script_fn17hb8f8ff42931d08d8E (type 6) (param i32 i32) + (local i32 i32) + block ;; label = @1 + i32.const 0 + i32.load offset=1059528 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.const 0 + i32.load offset=1059532 + i32.load + call_indirect (type 2) + i32.const 0 + i32.load offset=1059532 + local.tee 2 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@1;) + i32.const 0 + i32.load offset=1059528 + local.get 3 + local.get 2 + i32.load offset=8 + call $__rust_dealloc + end + i32.const 0 + local.get 1 + i32.store offset=1059532 + i32.const 0 + local.get 0 + i32.store offset=1059528) + (func $load_script (type 1) (param i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 1 + i32.const 1051064 + i32.const 1051256 + call $_ZN18pkmn_lib_interface8handling9cacheable9Cacheable8from_ref17h2cf0f9955fe2d36aE + i32.store offset=12 + block ;; label = @1 + block ;; label = @2 + i32.const 0 + i32.load offset=1059528 + local.tee 1 + i32.eqz + br_if 0 (;@2;) + block ;; label = @3 + block ;; label = @4 + local.get 1 + local.get 0 + local.get 2 + i32.const 12 + i32.add + i32.const 0 + i32.load offset=1059532 + i32.load offset=20 + call_indirect (type 3) + local.set 0 + local.tee 3 + i32.eqz + br_if 0 (;@4;) + i32.const 8 + i32.const 4 + call $__rust_alloc + local.tee 1 + i32.eqz + br_if 3 (;@1;) + local.get 1 + local.get 0 + i32.store offset=4 + local.get 1 + local.get 3 + i32.store + local.get 2 + i32.const 12 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + br 1 (;@3;) + end + local.get 2 + i32.const 12 + i32.add + call $_ZN64_$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60492f1a38c207f1E + i32.const 0 + local.set 1 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 1 + return + end + i32.const 1051792 + i32.const 43 + i32.const 1051864 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E + i32.const 8 + i32.const 4 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable) + (func $destroy_script (type 2) (param i32) + (local i32 i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load offset=12 + call_indirect (type 2) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load + call_indirect (type 2) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.load offset=4 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.load + local.get 2 + local.get 1 + i32.load offset=8 + call $__rust_dealloc + end + local.get 0 + i32.const 8 + i32.const 4 + call $__rust_dealloc) + (func $get_script_capabilities (type 4) (param i32) (result i32 i32) + block ;; label = @1 + local.get 0 + br_if 0 (;@1;) + i32.const 1051792 + i32.const 43 + i32.const 1051880 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.load offset=20 + call_indirect (type 4)) + (func $script_on_initialize (type 18) (param i32 i32 i64) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 1 + i32.store + local.get 3 + local.get 2 + i64.store offset=8 + local.get 3 + i32.const 8 + i32.add + call $_ZN18pkmn_lib_interface13app_interface4list22ImmutableList$LT$T$GT$8from_ref17hc0c083ce820309d2E + local.set 1 + block ;; label = @1 + local.get 0 + br_if 0 (;@1;) + i32.const 1051792 + i32.const 43 + i32.const 1051896 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 0 + i32.load + local.get 3 + i32.const 1 + local.get 1 + local.get 0 + i32.load offset=4 + i32.load offset=24 + call_indirect (type 5) + local.get 3 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $script_on_before_turn (type 6) (param i32 i32) + block ;; label = @1 + local.get 0 + br_if 0 (;@1;) + i32.const 1051792 + i32.const 43 + i32.const 1051912 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 0 + i32.load + local.get 1 + local.get 0 + i32.load offset=4 + i32.load offset=28 + call_indirect (type 6)) + (func $__rg_alloc (type 1) (param i32 i32) (result i32) + i32.const 1059536 + local.get 0 + local.get 1 + call $_ZN72_$LT$wee_alloc..WeeAlloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$5alloc17hb885433919c56e51E) + (func $__rg_dealloc (type 14) (param i32 i32 i32) + i32.const 1059536 + local.get 0 + local.get 1 + local.get 2 + call $_ZN72_$LT$wee_alloc..WeeAlloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$7dealloc17haba41eccfcb40b76E) + (func $__rg_realloc (type 15) (param i32 i32 i32 i32) (result i32) + i32.const 1059536 + local.get 0 + local.get 1 + local.get 2 + local.get 3 + call $_ZN4core5alloc6global11GlobalAlloc7realloc17hd7d4f3f473acf07bE) + (func $__rg_alloc_zeroed (type 1) (param i32 i32) (result i32) + block ;; label = @1 + i32.const 1059536 + local.get 0 + local.get 1 + call $_ZN72_$LT$wee_alloc..WeeAlloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$5alloc17hb885433919c56e51E + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.const 0 + local.get 0 + call $memset + drop + end + local.get 1) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h44d1b0635f1d7cabE (type 6) (param i32 i32) + (local i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 2 + br_if 0 (;@2;) + i32.const 0 + local.set 2 + br 1 (;@1;) + end + local.get 2 + i32.const 4 + i32.shl + local.set 3 + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.const 268435455 + i32.and + local.get 2 + i32.ne + br_if 0 (;@3;) + local.get 3 + i32.const 2147483641 + i32.lt_u + i32.const 3 + i32.shl + local.set 2 + br 1 (;@2;) + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17hf83fdb40701495d9E + i32.const 0 + local.set 2 + end + local.get 1 + i32.load + call $_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17he46ec1765bcddc42E + local.set 1 + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + end + local.get 0 + local.get 2 + i32.store offset=8) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h427ace08216fb583E (type 3) (param i32 i32 i32) (result i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + i32.const 0 + local.set 4 + block ;; label = @1 + local.get 1 + local.get 2 + i32.add + local.tee 2 + local.get 1 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + i32.load offset=4 + i32.const 1 + i32.shl + local.tee 1 + local.get 2 + local.get 1 + local.get 2 + i32.gt_u + select + local.tee 2 + i32.const 4 + local.get 2 + i32.const 4 + i32.gt_u + select + local.tee 2 + i32.const 4 + i32.shl + local.set 1 + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.const 268435455 + i32.and + local.get 2 + i32.ne + br_if 0 (;@3;) + local.get 1 + i32.const 2147483641 + i32.lt_u + i32.const 3 + i32.shl + local.set 4 + br 1 (;@2;) + end + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17hf83fdb40701495d9E + i32.const 0 + local.set 4 + end + local.get 3 + i32.const 16 + i32.add + local.get 0 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h44d1b0635f1d7cabE + local.get 3 + local.get 1 + local.get 4 + local.get 3 + i32.const 16 + i32.add + local.get 0 + call $_ZN5alloc7raw_vec11finish_grow17h3d4fff7359726f96E + local.get 3 + i32.load offset=4 + local.set 1 + block ;; label = @2 + local.get 3 + i32.load + br_if 0 (;@2;) + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + i32.const -2147483647 + local.set 4 + br 1 (;@1;) + end + local.get 1 + local.get 3 + i32.const 8 + i32.add + i32.load + call $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17he9489821cbfb9f5aE + local.set 4 + local.set 2 + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 2 + local.get 4) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17hc382e24839803300E (type 14) (param i32 i32 i32) + local.get 0 + local.get 1 + local.get 2 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h427ace08216fb583E + local.set 0 + local.set 1 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.const -2147483647 + i32.eq + br_if 0 (;@2;) + local.get 0 + i32.eqz + br_if 1 (;@1;) + local.get 1 + local.get 0 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + return + end + call $_ZN5alloc7raw_vec17capacity_overflow17h86cf1e2644464189E + unreachable) + (func $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h60a151cd86309fe5E (type 2) (param i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.load + call $_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17he46ec1765bcddc42E + local.set 0 + local.get 1 + i32.const 0 + i32.lt_s + br_if 0 (;@1;) + local.get 0 + local.get 1 + i32.const 1 + call $__rust_dealloc + end) + (func $_ZN5alloc7raw_vec11finish_grow17h3d4fff7359726f96E (type 11) (param i32 i32 i32 i32 i32) + (local i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.eqz + br_if 0 (;@4;) + i32.const 1 + local.set 5 + local.get 1 + i32.const 0 + i32.ge_s + br_if 1 (;@3;) + br 2 (;@2;) + end + local.get 0 + local.get 1 + i32.store offset=4 + i32.const 1 + local.set 5 + br 1 (;@2;) + end + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 3 + i32.load offset=8 + i32.eqz + br_if 0 (;@7;) + block ;; label = @8 + local.get 3 + i32.load offset=4 + local.tee 6 + br_if 0 (;@8;) + local.get 1 + br_if 2 (;@6;) + br 4 (;@4;) + end + local.get 3 + i32.load + local.get 6 + local.get 2 + local.get 1 + call $__rust_realloc + local.tee 3 + i32.eqz + br_if 2 (;@5;) + br 4 (;@3;) + end + local.get 1 + i32.eqz + br_if 2 (;@4;) + end + local.get 1 + local.get 2 + call $__rust_alloc + local.tee 3 + br_if 2 (;@3;) + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 2 + local.set 1 + br 3 (;@1;) + end + local.get 2 + local.set 3 + end + local.get 0 + local.get 3 + i32.store offset=4 + i32.const 0 + local.set 5 + br 1 (;@1;) + end + i32.const 0 + local.set 1 + end + local.get 0 + local.get 5 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 1 + i32.store) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h8272de75d1569f6bE (type 16) (param i32 i32) (result i32 i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + br_if 0 (;@2;) + i32.const 1 + local.set 1 + br 1 (;@1;) + end + block ;; label = @2 + local.get 0 + i32.const 0 + i32.lt_s + br_if 0 (;@2;) + local.get 0 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.set 2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + br_if 0 (;@4;) + local.get 0 + local.get 2 + call $__rust_alloc + local.tee 1 + br_if 3 (;@1;) + br 1 (;@3;) + end + local.get 0 + local.get 2 + call $__rust_alloc_zeroed + local.tee 1 + br_if 2 (;@1;) + end + local.get 0 + local.get 2 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN5alloc7raw_vec17capacity_overflow17h86cf1e2644464189E + unreachable + end + local.get 1 + local.get 0) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hf0a3e71d037d82f7E (type 6) (param i32 i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 2 + br_if 0 (;@2;) + i32.const 0 + local.set 1 + br 1 (;@1;) + end + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 1 + i32.load + i32.store + local.get 2 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.set 1 + end + local.get 0 + local.get 1 + i32.store offset=8) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h8f6ea91326f59ddfE (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.tee 0 + i32.load + local.get 0 + i32.load offset=4 + local.get 1 + call $_ZN52_$LT$cstr_core..CStr$u20$as$u20$core..fmt..Debug$GT$3fmt17h4cf16a2e034d7d9dE) + (func $_ZN52_$LT$cstr_core..CStr$u20$as$u20$core..fmt..Debug$GT$3fmt17h4cf16a2e034d7d9dE (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + i32.const 0 + local.set 4 + local.get 3 + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 1051928 + i32.store offset=16 + local.get 3 + i64.const 1 + i64.store offset=4 align=4 + local.get 3 + i32.const 1052024 + i32.store + i32.const 1 + local.set 5 + block ;; label = @1 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter9write_fmt17h807f55232811e604E + br_if 0 (;@1;) + local.get 3 + i32.const 0 + i32.store8 offset=15 + local.get 3 + i32.const 0 + i32.store8 offset=8 + local.get 3 + local.get 1 + local.get 0 + i32.add + i32.const -1 + i32.add + local.tee 6 + i32.store offset=4 + local.get 3 + i32.const 24 + i32.add + i32.const 1 + i32.or + local.set 1 + local.get 3 + i32.const 9 + i32.add + local.set 7 + local.get 3 + i32.load + local.set 8 + loop ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 4 + i32.const 255 + i32.and + i32.eqz + br_if 0 (;@4;) + i32.const 0 + local.set 5 + br 1 (;@3;) + end + i32.const 1 + local.set 5 + end + loop ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 5 + br_table 0 (;@8;) 1 (;@7;) 1 (;@7;) + end + local.get 3 + i32.load8_u offset=9 + local.tee 5 + local.get 3 + i32.load8_u offset=10 + i32.ge_u + br_if 3 (;@4;) + local.get 3 + local.get 5 + i32.const 1 + i32.add + i32.store8 offset=9 + local.get 5 + i32.const 4 + i32.lt_u + br_if 1 (;@6;) + local.get 3 + local.get 8 + i32.store + local.get 5 + i32.const 4 + i32.const 1052004 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + block ;; label = @7 + local.get 0 + i32.eqz + br_if 0 (;@7;) + local.get 6 + local.get 0 + i32.eq + br_if 0 (;@7;) + local.get 1 + local.get 0 + i32.load8_u + call $_ZN4core5ascii14escape_default17h5b1079c7afc46dbaE + local.get 7 + i32.const 4 + i32.add + local.get 1 + i32.const 4 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get 7 + local.get 1 + i32.load align=1 + i32.store align=1 + i32.const 1 + local.set 4 + local.get 0 + i32.const 1 + i32.add + local.tee 8 + local.set 0 + br 2 (;@5;) + end + local.get 3 + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 1051928 + i32.store offset=16 + local.get 3 + i64.const 1 + i64.store offset=4 align=4 + local.get 3 + i32.const 1052024 + i32.store + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter9write_fmt17h807f55232811e604E + local.set 5 + br 5 (;@1;) + end + local.get 2 + local.get 7 + local.get 5 + i32.add + i32.const 2 + i32.add + i32.load8_u + call $_ZN57_$LT$core..fmt..Formatter$u20$as$u20$core..fmt..Write$GT$10write_char17h6f20d6f74e1ca2c2E + i32.eqz + br_if 3 (;@2;) + i32.const 1 + local.set 5 + br 4 (;@1;) + end + i32.const 0 + local.set 5 + br 1 (;@3;) + end + i32.const 1 + local.set 5 + br 0 (;@3;) + end + end + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 5) + (func $_ZN9cstr_core7CString8from_raw17hcb88ec53883c0f12E (type 4) (param i32) (result i32 i32) + (local i32 i32 i32) + i32.const 0 + local.set 1 + loop ;; label = @1 + local.get 0 + local.get 1 + i32.add + local.set 2 + local.get 1 + i32.const 1 + i32.add + local.tee 3 + local.set 1 + local.get 2 + i32.load8_u + br_if 0 (;@1;) + end + local.get 0 + local.get 3) + (func $_ZN9cstr_core4CStr6to_str17h4b173dc63e89b5bcE (type 14) (param i32 i32 i32) + local.get 0 + local.get 1 + local.get 2 + i32.const -1 + i32.add + call $_ZN4core3str8converts9from_utf817hbea79677803a1d0bE) + (func $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17he9489821cbfb9f5aE (type 16) (param i32 i32) (result i32 i32) + local.get 0 + local.get 1) + (func $_ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17he46ec1765bcddc42E (type 0) (param i32) (result i32) + local.get 0) + (func $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h2a96c44c34a52844E (type 13)) + (func $_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17hf83fdb40701495d9E (type 13)) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h202fba0409674febE (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN64_$LT$core..str..error..Utf8Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h1ad6f3dae6a83ddeE) + (func $_ZN4core3ptr30drop_in_place$LT$$RF$usize$GT$17h11d5106fdfd478f8E.llvm.4379080869922518282 (type 2) (param i32)) + (func $_ZN4core9panicking13assert_failed17hdcd52d5a4c6ee7c6E (type 11) (param i32 i32 i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 5 + global.set $__stack_pointer + local.get 5 + local.get 2 + i32.store offset=4 + local.get 5 + local.get 1 + i32.store + local.get 5 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 3 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 5 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 3 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 5 + local.get 3 + i64.load align=4 + i64.store offset=8 + local.get 0 + local.get 5 + i32.const 1052032 + local.get 5 + i32.const 4 + i32.add + i32.const 1052032 + local.get 5 + i32.const 8 + i32.add + local.get 4 + call $_ZN4core9panicking19assert_failed_inner17h16bc0d78f5f6ea7aE + unreachable) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h1e4d8730cce05c21E (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.set 0 + block ;; label = @1 + local.get 1 + call $_ZN4core3fmt9Formatter15debug_lower_hex17ha822bd90948b4cdeE + br_if 0 (;@1;) + block ;; label = @2 + local.get 1 + call $_ZN4core3fmt9Formatter15debug_upper_hex17h91d2451cd7f56a0cE + br_if 0 (;@2;) + local.get 0 + local.get 1 + call $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h2de6d2d5e758a8bfE + return + end + local.get 0 + local.get 1 + call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17h120fe52ac5f82d5aE + return + end + local.get 0 + local.get 1 + call $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h0ed16b98041a2cb1E) + (func $_ZN4core3ptr48drop_in_place$LT$wee_alloc..LargeAllocPolicy$GT$17hf05a839e3a1e3a38E (type 2) (param i32)) + (func $_ZN4core3ptr66drop_in_place$LT$wee_alloc..size_classes..SizeClassAllocPolicy$GT$17h3c078edb5771892aE (type 2) (param i32)) + (func $_ZN70_$LT$wee_alloc..LargeAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$22new_cell_for_free_list17h4b67e3513eaf4953E (type 3) (param i32 i32 i32) (result i32 i32) + block ;; label = @1 + local.get 1 + i32.const 2 + i32.shl + local.tee 1 + local.get 2 + i32.const 3 + i32.shl + i32.const 16384 + i32.add + local.tee 2 + local.get 1 + local.get 2 + i32.gt_u + select + i32.const 65543 + i32.add + local.tee 1 + i32.const 16 + i32.shr_u + memory.grow + local.tee 2 + i32.const -1 + i32.ne + br_if 0 (;@1;) + i32.const 1 + i32.const 0 + return + end + block ;; label = @1 + local.get 2 + i32.const 16 + i32.shl + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 2 + i64.const 0 + i64.store + local.get 2 + i32.const 0 + i32.store offset=8 + local.get 2 + local.get 2 + local.get 1 + i32.const -65536 + i32.and + i32.add + i32.const 2 + i32.or + i32.store + i32.const 0 + local.get 2 + return + end + i32.const 1052048 + i32.const 43 + i32.const 1052228 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN70_$LT$wee_alloc..LargeAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$13min_cell_size17h29cf135bf3217ea3E (type 1) (param i32 i32) (result i32) + i32.const 512) + (func $_ZN70_$LT$wee_alloc..LargeAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$32should_merge_adjacent_free_cells17h94d2b54d969bcc0dE (type 0) (param i32) (result i32) + i32.const 1) + (func $_ZN9wee_alloc15alloc_first_fit17hf3f5c9ec2ce002e6E.llvm.8302925335004755621 (type 17) (param i32 i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 2 + i32.load + local.tee 5 + i32.eqz + br_if 0 (;@5;) + local.get 1 + i32.const -1 + i32.add + local.set 6 + local.get 0 + i32.const 2 + i32.shl + local.set 7 + i32.const 0 + local.get 1 + i32.sub + local.set 8 + loop ;; label = @6 + local.get 5 + i32.const 8 + i32.add + local.set 9 + block ;; label = @7 + block ;; label = @8 + local.get 5 + i32.load offset=8 + local.tee 10 + i32.const 1 + i32.and + br_if 0 (;@8;) + local.get 5 + local.set 1 + br 1 (;@7;) + end + loop ;; label = @8 + local.get 9 + local.get 10 + i32.const -2 + i32.and + i32.store + block ;; label = @9 + block ;; label = @10 + local.get 5 + i32.load offset=4 + i32.const -4 + i32.and + local.tee 1 + i32.eqz + br_if 0 (;@10;) + local.get 1 + i32.load + local.tee 11 + i32.const 1 + i32.and + br_if 0 (;@10;) + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + local.get 5 + i32.load + local.tee 12 + i32.const -4 + i32.and + local.tee 10 + br_if 0 (;@13;) + local.get 1 + local.set 9 + br 1 (;@12;) + end + local.get 1 + local.set 9 + i32.const 0 + local.get 10 + local.get 12 + i32.const 2 + i32.and + select + local.tee 12 + i32.eqz + br_if 0 (;@12;) + local.get 12 + local.get 12 + i32.load offset=4 + i32.const 3 + i32.and + local.get 1 + i32.or + i32.store offset=4 + local.get 5 + i32.load offset=4 + local.tee 10 + i32.const -4 + i32.and + local.tee 9 + i32.eqz + br_if 1 (;@11;) + local.get 5 + i32.load + i32.const -4 + i32.and + local.set 10 + local.get 9 + i32.load + local.set 11 + end + local.get 9 + local.get 11 + i32.const 3 + i32.and + local.get 10 + i32.or + i32.store + local.get 5 + i32.load offset=4 + local.set 10 + end + local.get 5 + local.get 10 + i32.const 3 + i32.and + i32.store offset=4 + local.get 5 + local.get 5 + i32.load + local.tee 10 + i32.const 3 + i32.and + i32.store + local.get 10 + i32.const 2 + i32.and + i32.eqz + br_if 1 (;@9;) + local.get 1 + local.get 1 + i32.load + i32.const 2 + i32.or + i32.store + br 1 (;@9;) + end + i32.const 1052048 + i32.const 43 + i32.const 1052228 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 2 + local.get 1 + i32.store + local.get 1 + i32.const 8 + i32.add + local.set 9 + local.get 1 + local.set 5 + local.get 1 + i32.load offset=8 + local.tee 10 + i32.const 1 + i32.and + br_if 0 (;@8;) + end + end + block ;; label = @7 + local.get 1 + i32.load + i32.const -4 + i32.and + local.tee 11 + local.get 1 + i32.const 8 + i32.add + local.tee 5 + i32.sub + local.get 7 + i32.lt_u + br_if 0 (;@7;) + local.get 5 + local.get 3 + local.get 0 + local.get 4 + i32.load offset=16 + call_indirect (type 1) + i32.const 2 + i32.shl + i32.add + i32.const 8 + i32.add + local.get 11 + local.get 7 + i32.sub + local.get 8 + i32.and + local.tee 10 + i32.le_u + br_if 3 (;@4;) + local.get 6 + local.get 5 + i32.and + i32.eqz + br_if 4 (;@3;) + local.get 1 + i32.load offset=8 + local.set 10 + end + local.get 2 + local.get 10 + i32.store + local.get 10 + local.set 5 + local.get 10 + br_if 0 (;@6;) + end + end + i32.const 0 + return + end + local.get 10 + i32.const -8 + i32.add + local.tee 5 + i32.eqz + br_if 2 (;@1;) + local.get 5 + i32.const 0 + i32.store offset=8 + local.get 5 + i64.const 0 + i64.store align=4 + local.get 5 + local.get 1 + i32.load + i32.const -4 + i32.and + i32.store + block ;; label = @4 + local.get 1 + i32.load + local.tee 10 + i32.const -4 + i32.and + local.tee 11 + i32.eqz + br_if 0 (;@4;) + i32.const 0 + local.get 11 + local.get 10 + i32.const 2 + i32.and + select + local.tee 10 + i32.eqz + br_if 0 (;@4;) + local.get 10 + local.get 10 + i32.load offset=4 + i32.const 3 + i32.and + local.get 5 + i32.or + i32.store offset=4 + end + local.get 5 + local.get 5 + i32.load offset=4 + i32.const 3 + i32.and + local.get 1 + i32.or + i32.store offset=4 + local.get 1 + local.get 1 + i32.load + local.tee 10 + i32.const 3 + i32.and + local.get 5 + i32.or + local.tee 11 + i32.store + local.get 9 + local.get 9 + i32.load + i32.const -2 + i32.and + i32.store + block ;; label = @4 + block ;; label = @5 + local.get 10 + i32.const 2 + i32.and + br_if 0 (;@5;) + local.get 5 + i32.load + local.set 1 + br 1 (;@4;) + end + local.get 1 + local.get 11 + i32.const -3 + i32.and + i32.store + local.get 5 + local.get 5 + i32.load + i32.const 2 + i32.or + local.tee 1 + i32.store + end + local.get 5 + local.get 1 + i32.const 1 + i32.or + i32.store + br 1 (;@2;) + end + local.get 2 + local.get 9 + i32.load + i32.const -4 + i32.and + i32.store + local.get 1 + local.get 1 + i32.load + i32.const 1 + i32.or + i32.store + local.get 1 + local.set 5 + end + local.get 5 + i32.const 8 + i32.add + return + end + i32.const 1052048 + i32.const 43 + i32.const 1052228 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN9wee_alloc17alloc_with_refill17hd119ff5bec6f2a9bE (type 17) (param i32 i32 i32 i32 i32) (result i32) + (local i32 i32) + block ;; label = @1 + local.get 0 + local.get 1 + local.get 2 + local.get 3 + local.get 4 + call $_ZN9wee_alloc15alloc_first_fit17hf3f5c9ec2ce002e6E.llvm.8302925335004755621 + local.tee 5 + br_if 0 (;@1;) + i32.const 0 + local.set 5 + local.get 3 + local.get 0 + local.get 1 + local.get 4 + i32.load offset=12 + call_indirect (type 3) + local.set 6 + br_if 0 (;@1;) + local.get 6 + local.get 2 + i32.load + i32.store offset=8 + local.get 2 + local.get 6 + i32.store + local.get 0 + local.get 1 + local.get 2 + local.get 3 + local.get 4 + call $_ZN9wee_alloc15alloc_first_fit17hf3f5c9ec2ce002e6E.llvm.8302925335004755621 + local.set 5 + end + local.get 5) + (func $_ZN72_$LT$wee_alloc..WeeAlloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$5alloc17hb885433919c56e51E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 3 + global.set $__stack_pointer + block ;; label = @1 + local.get 1 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.const 3 + i32.add + i32.const 2 + i32.shr_u + local.set 1 + block ;; label = @2 + local.get 2 + i32.const 5 + i32.ge_u + br_if 0 (;@2;) + local.get 1 + i32.const -1 + i32.add + local.tee 4 + i32.const 255 + i32.gt_u + br_if 0 (;@2;) + local.get 3 + local.get 0 + i32.store offset=4 + local.get 3 + local.get 0 + local.get 4 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + i32.const 0 + local.get 4 + i32.const 256 + i32.lt_u + select + local.tee 0 + i32.load + i32.store offset=12 + local.get 1 + local.get 2 + local.get 3 + i32.const 12 + i32.add + local.get 3 + i32.const 4 + i32.add + i32.const 1052204 + call $_ZN9wee_alloc17alloc_with_refill17hd119ff5bec6f2a9bE + local.set 2 + local.get 0 + local.get 3 + i32.load offset=12 + i32.store + br 1 (;@1;) + end + local.get 3 + local.get 0 + i32.load + i32.store offset=8 + local.get 1 + local.get 2 + local.get 3 + i32.const 8 + i32.add + i32.const 1052091 + i32.const 1052180 + call $_ZN9wee_alloc17alloc_with_refill17hd119ff5bec6f2a9bE + local.set 2 + local.get 0 + local.get 3 + i32.load offset=8 + i32.store + end + local.get 3 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 2) + (func $_ZN72_$LT$wee_alloc..WeeAlloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$7dealloc17haba41eccfcb40b76E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + block ;; label = @1 + local.get 1 + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.eqz + br_if 0 (;@1;) + block ;; label = @2 + local.get 3 + i32.const 5 + i32.ge_u + br_if 0 (;@2;) + local.get 2 + i32.const 3 + i32.add + i32.const 2 + i32.shr_u + i32.const -1 + i32.add + local.tee 3 + i32.const 255 + i32.gt_u + br_if 0 (;@2;) + local.get 1 + i32.const 0 + i32.store + local.get 1 + i32.const -8 + i32.add + local.tee 2 + local.get 2 + i32.load + i32.const -2 + i32.and + i32.store + local.get 4 + local.get 0 + i32.store offset=12 + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.tee 0 + i32.load + local.set 3 + block ;; label = @3 + block ;; label = @4 + local.get 4 + i32.const 12 + i32.add + call $_ZN88_$LT$wee_alloc..size_classes..SizeClassAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$32should_merge_adjacent_free_cells17hc702de73ba728915E + i32.eqz + br_if 0 (;@4;) + block ;; label = @5 + block ;; label = @6 + local.get 1 + i32.const -4 + i32.add + local.tee 5 + i32.load + i32.const -4 + i32.and + local.tee 6 + i32.eqz + br_if 0 (;@6;) + local.get 6 + i32.load + local.tee 7 + i32.const 1 + i32.and + br_if 0 (;@6;) + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 2 + i32.load + local.tee 8 + i32.const -4 + i32.and + local.tee 1 + br_if 0 (;@9;) + local.get 6 + local.set 9 + br 1 (;@8;) + end + local.get 6 + local.set 9 + i32.const 0 + local.get 1 + local.get 8 + i32.const 2 + i32.and + select + local.tee 8 + i32.eqz + br_if 0 (;@8;) + local.get 8 + local.get 8 + i32.load offset=4 + i32.const 3 + i32.and + local.get 6 + i32.or + i32.store offset=4 + local.get 5 + i32.load + local.tee 1 + i32.const -4 + i32.and + local.tee 9 + i32.eqz + br_if 1 (;@7;) + local.get 2 + i32.load + i32.const -4 + i32.and + local.set 1 + local.get 9 + i32.load + local.set 7 + end + local.get 9 + local.get 1 + local.get 7 + i32.const 3 + i32.and + i32.or + i32.store + local.get 5 + i32.load + local.set 1 + end + local.get 5 + local.get 1 + i32.const 3 + i32.and + i32.store + local.get 2 + local.get 2 + i32.load + local.tee 1 + i32.const 3 + i32.and + i32.store + local.get 1 + i32.const 2 + i32.and + i32.eqz + br_if 1 (;@5;) + local.get 6 + local.get 6 + i32.load + i32.const 2 + i32.or + i32.store + br 1 (;@5;) + end + local.get 2 + i32.load + local.tee 6 + i32.const -4 + i32.and + local.tee 5 + i32.eqz + br_if 1 (;@4;) + i32.const 0 + local.get 5 + local.get 6 + i32.const 2 + i32.and + select + local.tee 6 + i32.eqz + br_if 1 (;@4;) + local.get 6 + i32.load8_u + i32.const 1 + i32.and + br_if 1 (;@4;) + local.get 1 + local.get 6 + i32.load offset=8 + i32.const -4 + i32.and + i32.store + local.get 6 + local.get 2 + i32.const 1 + i32.or + i32.store offset=8 + end + local.get 3 + local.set 2 + br 1 (;@3;) + end + local.get 1 + local.get 3 + i32.store + end + local.get 0 + local.get 2 + i32.store + br 1 (;@1;) + end + local.get 1 + i32.const 0 + i32.store + local.get 1 + i32.const -8 + i32.add + local.tee 2 + local.get 2 + i32.load + local.tee 3 + i32.const -2 + i32.and + i32.store + local.get 0 + i32.load + local.set 5 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.const -4 + i32.add + local.tee 7 + i32.load + i32.const -4 + i32.and + local.tee 6 + i32.eqz + br_if 0 (;@5;) + local.get 6 + i32.load + local.tee 9 + i32.const 1 + i32.and + br_if 0 (;@5;) + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 3 + i32.const -4 + i32.and + local.tee 1 + br_if 0 (;@8;) + local.get 6 + local.set 8 + br 1 (;@7;) + end + local.get 6 + local.set 8 + i32.const 0 + local.get 1 + local.get 3 + i32.const 2 + i32.and + select + local.tee 3 + i32.eqz + br_if 0 (;@7;) + local.get 3 + local.get 3 + i32.load offset=4 + i32.const 3 + i32.and + local.get 6 + i32.or + i32.store offset=4 + local.get 7 + i32.load + local.tee 1 + i32.const -4 + i32.and + local.tee 8 + i32.eqz + br_if 1 (;@6;) + local.get 2 + i32.load + i32.const -4 + i32.and + local.set 1 + local.get 8 + i32.load + local.set 9 + end + local.get 8 + local.get 1 + local.get 9 + i32.const 3 + i32.and + i32.or + i32.store + local.get 7 + i32.load + local.set 1 + end + local.get 7 + local.get 1 + i32.const 3 + i32.and + i32.store + local.get 2 + local.get 2 + i32.load + local.tee 1 + i32.const 3 + i32.and + i32.store + local.get 1 + i32.const 2 + i32.and + i32.eqz + br_if 1 (;@4;) + local.get 6 + local.get 6 + i32.load + i32.const 2 + i32.or + i32.store + br 1 (;@4;) + end + local.get 3 + i32.const -4 + i32.and + local.tee 6 + i32.eqz + br_if 1 (;@3;) + i32.const 0 + local.get 6 + local.get 3 + i32.const 2 + i32.and + select + local.tee 3 + i32.eqz + br_if 1 (;@3;) + local.get 3 + i32.load8_u + i32.const 1 + i32.and + br_if 1 (;@3;) + local.get 1 + local.get 3 + i32.load offset=8 + i32.const -4 + i32.and + i32.store + local.get 3 + local.get 2 + i32.const 1 + i32.or + i32.store offset=8 + end + local.get 5 + local.set 2 + br 1 (;@2;) + end + local.get 1 + local.get 5 + i32.store + end + local.get 0 + local.get 2 + i32.store + end + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN4core3ptr48drop_in_place$LT$wee_alloc..LargeAllocPolicy$GT$17hf05a839e3a1e3a38E.1 (type 2) (param i32)) + (func $_ZN88_$LT$wee_alloc..size_classes..SizeClassAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$22new_cell_for_free_list17h0724545a64d86676E (type 3) (param i32 i32 i32) (result i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 0 + i32.load + local.tee 0 + i32.load + i32.store offset=12 + local.get 1 + i32.const 2 + i32.add + local.tee 1 + local.get 1 + i32.mul + local.tee 1 + i32.const 2048 + local.get 1 + i32.const 2048 + i32.gt_u + select + local.tee 4 + i32.const 4 + local.get 3 + i32.const 12 + i32.add + i32.const 1052244 + i32.const 1052244 + call $_ZN9wee_alloc17alloc_with_refill17hd119ff5bec6f2a9bE + local.set 1 + local.get 0 + local.get 3 + i32.load offset=12 + i32.store + block ;; label = @1 + block ;; label = @2 + local.get 1 + br_if 0 (;@2;) + i32.const 1 + local.set 0 + br 1 (;@1;) + end + local.get 1 + i64.const 0 + i64.store offset=4 align=4 + local.get 1 + local.get 1 + local.get 4 + i32.const 2 + i32.shl + i32.add + i32.const 2 + i32.or + i32.store + i32.const 0 + local.set 0 + end + local.get 3 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 0 + local.get 1) + (func $_ZN88_$LT$wee_alloc..size_classes..SizeClassAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$13min_cell_size17h80f43d5c40fce804E (type 1) (param i32 i32) (result i32) + local.get 1) + (func $_ZN88_$LT$wee_alloc..size_classes..SizeClassAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$32should_merge_adjacent_free_cells17hc702de73ba728915E (type 0) (param i32) (result i32) + i32.const 0) + (func $_ZN4core3ops8function6FnOnce9call_once17hbf698545cf47b3f3E (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $_ZN5alloc5alloc18handle_alloc_error8rt_error17h0584a68cd155f406E + unreachable) + (func $_ZN5alloc5alloc18handle_alloc_error8rt_error17h0584a68cd155f406E (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $__rust_alloc_error_handler + unreachable) + (func $_ZN4core3ptr27drop_in_place$LT$$RF$u8$GT$17he59d323992f417a2E (type 2) (param i32)) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h935724cc66a25a2eE (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN5alloc6string6String4push17hed304e74523f2571E + i32.const 0) + (func $_ZN5alloc6string6String4push17hed304e74523f2571E (type 6) (param i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.const 128 + i32.lt_u + br_if 0 (;@4;) + local.get 2 + i32.const 0 + i32.store offset=12 + local.get 1 + i32.const 2048 + i32.ge_u + br_if 1 (;@3;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + i32.store8 offset=12 + i32.const 2 + local.set 1 + br 2 (;@2;) + end + block ;; label = @4 + local.get 0 + i32.load offset=8 + local.tee 3 + local.get 0 + i32.load offset=4 + i32.ne + br_if 0 (;@4;) + local.get 0 + local.get 3 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h60dcc1441e54bd1dE + local.get 0 + i32.load offset=8 + local.set 3 + end + local.get 0 + local.get 3 + i32.const 1 + i32.add + i32.store offset=8 + local.get 0 + i32.load + local.get 3 + i32.add + local.get 1 + i32.store8 + br 2 (;@1;) + end + block ;; label = @3 + local.get 1 + i32.const 65536 + i32.lt_u + br_if 0 (;@3;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 18 + i32.shr_u + i32.const 7 + i32.and + i32.const 240 + i32.or + i32.store8 offset=12 + i32.const 4 + local.set 1 + br 1 (;@2;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 3 + local.set 1 + end + block ;; label = @2 + local.get 0 + i32.const 4 + i32.add + i32.load + local.get 0 + i32.load offset=8 + local.tee 3 + i32.sub + local.get 1 + i32.ge_u + br_if 0 (;@2;) + local.get 0 + local.get 3 + local.get 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17haa4dde72d95963e6E + local.get 0 + i32.load offset=8 + local.set 3 + end + local.get 0 + i32.load + local.get 3 + i32.add + local.get 2 + i32.const 12 + i32.add + local.get 1 + call $memcpy + drop + local.get 0 + local.get 3 + local.get 1 + i32.add + i32.store offset=8 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hdec7ddab5e24e535E (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + 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 1052268 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17h541cd9cf0c4cf63eE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h5798f50b29e37acbE (type 7) (param i32 i32 i32) (result i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load + local.tee 0 + i32.const 4 + i32.add + i32.load + local.get 0 + i32.load offset=8 + local.tee 3 + i32.sub + local.get 2 + i32.ge_u + br_if 0 (;@1;) + local.get 0 + local.get 3 + local.get 2 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17haa4dde72d95963e6E + local.get 0 + i32.load offset=8 + local.set 3 + end + local.get 0 + i32.load + local.get 3 + i32.add + local.get 1 + local.get 2 + call $memcpy + drop + local.get 0 + local.get 3 + local.get 2 + i32.add + i32.store offset=8 + i32.const 0) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17haa4dde72d95963e6E (type 14) (param i32 i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + local.get 2 + i32.add + local.tee 2 + local.get 1 + i32.lt_u + br_if 0 (;@2;) + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 1 + i32.const 1 + i32.shl + local.tee 4 + local.get 2 + local.get 4 + local.get 2 + i32.gt_u + select + local.tee 2 + i32.const 8 + local.get 2 + i32.const 8 + i32.gt_u + select + local.tee 2 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.set 4 + block ;; label = @3 + block ;; label = @4 + local.get 1 + br_if 0 (;@4;) + i32.const 0 + local.set 1 + br 1 (;@3;) + end + local.get 3 + local.get 0 + i32.load + i32.store offset=16 + local.get 3 + local.get 1 + i32.store offset=20 + local.get 1 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.set 1 + end + local.get 3 + local.get 1 + i32.store offset=24 + local.get 3 + local.get 2 + local.get 4 + local.get 3 + i32.const 16 + i32.add + call $_ZN5alloc7raw_vec11finish_grow17hda11e39b15ebe510E + local.get 3 + i32.load offset=4 + local.set 1 + block ;; label = @3 + local.get 3 + i32.load + br_if 0 (;@3;) + local.get 0 + local.get 1 + i32.store + local.get 0 + i32.const 4 + i32.add + local.get 2 + i32.store + br 2 (;@1;) + end + local.get 3 + i32.const 8 + i32.add + i32.load + local.tee 0 + i32.const -2147483647 + i32.eq + br_if 1 (;@1;) + local.get 0 + i32.eqz + br_if 0 (;@2;) + local.get 1 + local.get 0 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN5alloc7raw_vec17capacity_overflow17h86cf1e2644464189E + unreachable + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer) + (func $_ZN5alloc7raw_vec11finish_grow17hda11e39b15ebe510E (type 5) (param i32 i32 i32 i32) + (local i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 2 + i32.eqz + br_if 0 (;@7;) + i32.const 1 + local.set 4 + local.get 1 + i32.const 0 + i32.lt_s + br_if 1 (;@6;) + local.get 3 + i32.load offset=8 + i32.eqz + br_if 3 (;@4;) + local.get 3 + i32.load offset=4 + local.tee 5 + br_if 2 (;@5;) + local.get 1 + br_if 4 (;@3;) + local.get 2 + local.set 3 + br 5 (;@2;) + end + local.get 0 + local.get 1 + i32.store offset=4 + i32.const 1 + local.set 4 + end + i32.const 0 + local.set 1 + br 4 (;@1;) + end + local.get 3 + i32.load + local.get 5 + local.get 2 + local.get 1 + call $__rust_realloc + local.set 3 + br 2 (;@2;) + end + local.get 1 + br_if 0 (;@3;) + local.get 2 + local.set 3 + br 1 (;@2;) + end + local.get 1 + local.get 2 + call $__rust_alloc + local.set 3 + end + block ;; label = @2 + local.get 3 + i32.eqz + br_if 0 (;@2;) + local.get 0 + local.get 3 + i32.store offset=4 + i32.const 0 + local.set 4 + br 1 (;@1;) + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 2 + local.set 1 + end + local.get 0 + local.get 4 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 1 + i32.store) + (func $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $_ZN4core3ops8function6FnOnce9call_once17hbf698545cf47b3f3E + unreachable) + (func $_ZN5alloc7raw_vec17capacity_overflow17h86cf1e2644464189E (type 13) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 0 + global.set $__stack_pointer + local.get 0 + i32.const 28 + i32.add + i32.const 0 + i32.store + local.get 0 + i32.const 1052292 + i32.store offset=24 + local.get 0 + i64.const 1 + i64.store offset=12 align=4 + local.get 0 + i32.const 1052340 + i32.store offset=8 + local.get 0 + i32.const 8 + i32.add + i32.const 1052348 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h60dcc1441e54bd1dE (type 6) (param i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 1 + i32.add + local.tee 3 + local.get 1 + i32.lt_u + br_if 0 (;@2;) + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 1 + i32.const 1 + i32.shl + local.tee 4 + local.get 3 + local.get 4 + local.get 3 + i32.gt_u + select + local.tee 3 + i32.const 8 + local.get 3 + i32.const 8 + i32.gt_u + select + local.tee 3 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.set 4 + block ;; label = @3 + block ;; label = @4 + local.get 1 + br_if 0 (;@4;) + i32.const 0 + local.set 1 + br 1 (;@3;) + end + local.get 2 + local.get 0 + i32.load + i32.store offset=16 + local.get 2 + local.get 1 + i32.store offset=20 + local.get 1 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.set 1 + end + local.get 2 + local.get 1 + i32.store offset=24 + local.get 2 + local.get 3 + local.get 4 + local.get 2 + i32.const 16 + i32.add + call $_ZN5alloc7raw_vec11finish_grow17hda11e39b15ebe510E + local.get 2 + i32.load offset=4 + local.set 1 + block ;; label = @3 + local.get 2 + i32.load + br_if 0 (;@3;) + local.get 0 + local.get 1 + i32.store + local.get 0 + i32.const 4 + i32.add + local.get 3 + i32.store + br 2 (;@1;) + end + local.get 2 + i32.const 8 + i32.add + i32.load + local.tee 0 + i32.const -2147483647 + i32.eq + br_if 1 (;@1;) + local.get 0 + i32.eqz + br_if 0 (;@2;) + local.get 1 + local.get 0 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + call $_ZN5alloc7raw_vec17capacity_overflow17h86cf1e2644464189E + unreachable + end + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer) + (func $__rg_oom (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $rust_oom + unreachable) + (func $_ZN5alloc11collections5btree4node10splitpoint17hae767fb783475e91E (type 6) (param i32 i32) + (local i32 i32) + i32.const 0 + local.set 2 + i32.const 4 + local.set 3 + block ;; label = @1 + local.get 1 + i32.const 5 + i32.lt_u + br_if 0 (;@1;) + local.get 1 + local.set 3 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.const -5 + i32.add + br_table 2 (;@1;) 1 (;@2;) 0 (;@3;) + end + local.get 1 + i32.const -7 + i32.add + local.set 1 + i32.const 1 + local.set 2 + i32.const 6 + local.set 3 + br 1 (;@1;) + end + i32.const 0 + local.set 1 + i32.const 1 + local.set 2 + i32.const 5 + local.set 3 + end + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 1 + i32.store) + (func $_ZN5alloc3fmt6format12format_inner17h7f067f6face2a838E (type 6) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 1 + i32.const 20 + i32.add + i32.load + local.set 3 + local.get 1 + i32.load + local.set 4 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 4 + i32.add + i32.load + local.tee 5 + i32.const 3 + i32.shl + br_if 0 (;@2;) + i32.const 0 + local.set 6 + br 1 (;@1;) + end + local.get 5 + i32.const -1 + i32.add + i32.const 536870911 + i32.and + local.tee 7 + i32.const 1 + i32.add + local.tee 6 + i32.const 7 + i32.and + local.set 8 + block ;; label = @2 + block ;; label = @3 + local.get 7 + i32.const 7 + i32.ge_u + br_if 0 (;@3;) + i32.const 0 + local.set 6 + local.get 4 + local.set 7 + br 1 (;@2;) + end + local.get 4 + i32.const 60 + i32.add + local.set 7 + local.get 6 + i32.const 1073741816 + i32.and + local.set 9 + i32.const 0 + local.set 6 + loop ;; label = @3 + local.get 7 + i32.load + local.get 7 + i32.const -8 + i32.add + i32.load + local.get 7 + i32.const -16 + i32.add + i32.load + local.get 7 + i32.const -24 + i32.add + i32.load + local.get 7 + i32.const -32 + i32.add + i32.load + local.get 7 + i32.const -40 + i32.add + i32.load + local.get 7 + i32.const -48 + i32.add + i32.load + local.get 7 + i32.const -56 + i32.add + i32.load + local.get 6 + i32.add + i32.add + i32.add + i32.add + i32.add + i32.add + i32.add + i32.add + local.set 6 + local.get 7 + i32.const 64 + i32.add + local.set 7 + local.get 9 + i32.const -8 + i32.add + local.tee 9 + br_if 0 (;@3;) + end + local.get 7 + i32.const -60 + i32.add + local.set 7 + end + local.get 8 + i32.eqz + br_if 0 (;@1;) + local.get 7 + i32.const 4 + i32.add + local.set 7 + loop ;; label = @2 + local.get 7 + i32.load + local.get 6 + i32.add + local.set 6 + local.get 7 + i32.const 8 + i32.add + local.set 7 + local.get 8 + i32.const -1 + i32.add + local.tee 8 + br_if 0 (;@2;) + end + end + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 3 + br_if 0 (;@4;) + local.get 6 + local.set 7 + br 1 (;@3;) + end + block ;; label = @4 + local.get 5 + i32.eqz + br_if 0 (;@4;) + local.get 4 + i32.load offset=4 + br_if 0 (;@4;) + local.get 6 + i32.const 16 + i32.lt_u + br_if 2 (;@2;) + end + local.get 6 + local.get 6 + i32.add + local.tee 7 + local.get 6 + i32.lt_u + br_if 1 (;@2;) + end + local.get 7 + i32.eqz + br_if 0 (;@2;) + block ;; label = @3 + block ;; label = @4 + local.get 7 + i32.const -1 + i32.le_s + br_if 0 (;@4;) + local.get 7 + local.get 7 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.tee 8 + call $__rust_alloc + local.tee 6 + i32.eqz + br_if 1 (;@3;) + br 3 (;@1;) + end + call $_ZN5alloc7raw_vec17capacity_overflow17h86cf1e2644464189E + unreachable + end + local.get 7 + local.get 8 + call $_ZN5alloc5alloc18handle_alloc_error17hd24e198526c849afE + unreachable + end + i32.const 1 + local.set 6 + i32.const 0 + local.set 7 + end + local.get 0 + i32.const 0 + i32.store offset=8 + local.get 0 + local.get 7 + i32.store offset=4 + local.get 0 + local.get 6 + i32.store + local.get 2 + local.get 0 + i32.store offset=12 + local.get 2 + i32.const 16 + 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 16 + 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=16 + block ;; label = @1 + local.get 2 + i32.const 12 + i32.add + i32.const 1052268 + local.get 2 + i32.const 16 + i32.add + call $_ZN4core3fmt5write17h541cd9cf0c4cf63eE + i32.eqz + br_if 0 (;@1;) + i32.const 1052364 + i32.const 51 + local.get 2 + i32.const 40 + i32.add + i32.const 1052416 + i32.const 1052456 + call $_ZN4core6result13unwrap_failed17h12b99b1d3e50afbfE + unreachable + end + local.get 2 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN4core3ops8function6FnOnce9call_once17h14b847edf45fe3b6E (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $_ZN4core5slice5index29slice_start_index_len_fail_rt17h9d488b22fe3c7e19E + unreachable) + (func $_ZN4core5slice5index29slice_start_index_len_fail_rt17h9d488b22fe3c7e19E (type 6) (param i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 1 + i32.store offset=4 + local.get 2 + local.get 0 + i32.store + local.get 2 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get 2 + i32.const 44 + i32.add + i32.const 45 + i32.store + local.get 2 + i64.const 2 + i64.store offset=12 align=4 + local.get 2 + i32.const 1056168 + i32.store offset=8 + local.get 2 + i32.const 45 + i32.store offset=36 + local.get 2 + local.get 2 + i32.const 32 + i32.add + i32.store offset=24 + 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 + i32.const 8 + i32.add + i32.const 1056216 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable) + (func $_ZN4core3ops8function6FnOnce9call_once17h3eaa7d6507ec57c0E (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $_ZN4core5slice5index27slice_end_index_len_fail_rt17h61e1622afe2fc59aE + unreachable) + (func $_ZN4core5slice5index27slice_end_index_len_fail_rt17h61e1622afe2fc59aE (type 6) (param i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 1 + i32.store offset=4 + local.get 2 + local.get 0 + i32.store + local.get 2 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get 2 + i32.const 44 + i32.add + i32.const 45 + i32.store + local.get 2 + i64.const 2 + i64.store offset=12 align=4 + local.get 2 + i32.const 1056248 + i32.store offset=8 + local.get 2 + i32.const 45 + i32.store offset=36 + local.get 2 + local.get 2 + i32.const 32 + i32.add + i32.store offset=24 + 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 + i32.const 8 + i32.add + i32.const 1056264 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable) + (func $_ZN4core3ops8function6FnOnce9call_once17h6f91af5b3e6b797aE (type 5) (param i32 i32 i32 i32) + local.get 0 + local.get 1 + local.get 2 + local.get 3 + call $_ZN4core3str19slice_error_fail_rt17h757a44b443145d58E + unreachable) + (func $_ZN4core3str19slice_error_fail_rt17h757a44b443145d58E (type 5) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 112 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 4 + local.get 3 + i32.store offset=12 + local.get 4 + local.get 2 + i32.store offset=8 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 1 + i32.const 257 + i32.lt_u + br_if 0 (;@6;) + i32.const 3 + local.set 5 + block ;; label = @7 + local.get 0 + i32.load8_s offset=256 + i32.const -65 + i32.gt_s + br_if 0 (;@7;) + i32.const 2 + local.set 5 + local.get 0 + i32.load8_s offset=255 + i32.const -65 + i32.gt_s + br_if 0 (;@7;) + local.get 0 + i32.load8_s offset=254 + i32.const -65 + i32.gt_s + local.set 5 + end + local.get 5 + i32.const 253 + i32.add + local.tee 5 + local.get 1 + i32.lt_u + br_if 1 (;@5;) + local.get 5 + local.get 1 + i32.ne + br_if 3 (;@3;) + end + local.get 4 + local.get 1 + i32.store offset=20 + local.get 4 + local.get 0 + i32.store offset=16 + local.get 4 + i32.const 1052472 + i32.store offset=24 + i32.const 0 + local.set 5 + br 1 (;@4;) + end + local.get 0 + local.get 5 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 1 (;@3;) + local.get 4 + local.get 5 + i32.store offset=20 + local.get 4 + local.get 0 + i32.store offset=16 + local.get 4 + i32.const 1056631 + i32.store offset=24 + i32.const 5 + local.set 5 + end + local.get 4 + local.get 5 + i32.store offset=28 + block ;; label = @4 + block ;; label = @5 + local.get 2 + local.get 1 + i32.gt_u + local.tee 5 + br_if 0 (;@5;) + local.get 3 + local.get 1 + i32.gt_u + br_if 0 (;@5;) + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 2 + local.get 3 + i32.gt_u + br_if 0 (;@9;) + block ;; label = @10 + block ;; label = @11 + local.get 2 + i32.eqz + br_if 0 (;@11;) + block ;; label = @12 + local.get 2 + local.get 1 + i32.lt_u + br_if 0 (;@12;) + local.get 2 + local.get 1 + i32.eq + br_if 1 (;@11;) + br 2 (;@10;) + end + local.get 0 + local.get 2 + i32.add + i32.load8_s + i32.const -64 + i32.lt_s + br_if 1 (;@10;) + end + local.get 3 + local.set 2 + end + local.get 4 + local.get 2 + i32.store offset=32 + local.get 1 + local.set 3 + block ;; label = @10 + local.get 2 + local.get 1 + i32.ge_u + br_if 0 (;@10;) + local.get 2 + i32.const 1 + i32.add + local.tee 5 + i32.const 0 + local.get 2 + i32.const -3 + i32.add + local.tee 3 + local.get 3 + local.get 2 + i32.gt_u + select + local.tee 3 + i32.lt_u + br_if 6 (;@4;) + block ;; label = @11 + local.get 3 + local.get 5 + i32.eq + br_if 0 (;@11;) + local.get 0 + local.get 5 + i32.add + local.get 0 + local.get 3 + i32.add + local.tee 6 + i32.sub + local.set 5 + block ;; label = @12 + local.get 0 + local.get 2 + i32.add + local.tee 7 + i32.load8_s + i32.const -65 + i32.le_s + br_if 0 (;@12;) + local.get 5 + i32.const -1 + i32.add + local.set 8 + br 1 (;@11;) + end + local.get 3 + local.get 2 + i32.eq + br_if 0 (;@11;) + block ;; label = @12 + local.get 7 + i32.const -1 + i32.add + local.tee 2 + i32.load8_s + i32.const -65 + i32.le_s + br_if 0 (;@12;) + local.get 5 + i32.const -2 + i32.add + local.set 8 + br 1 (;@11;) + end + local.get 6 + local.get 2 + i32.eq + br_if 0 (;@11;) + block ;; label = @12 + local.get 7 + i32.const -2 + i32.add + local.tee 2 + i32.load8_s + i32.const -65 + i32.le_s + br_if 0 (;@12;) + local.get 5 + i32.const -3 + i32.add + local.set 8 + br 1 (;@11;) + end + local.get 6 + local.get 2 + i32.eq + br_if 0 (;@11;) + block ;; label = @12 + local.get 7 + i32.const -3 + i32.add + local.tee 2 + i32.load8_s + i32.const -65 + i32.le_s + br_if 0 (;@12;) + local.get 5 + i32.const -4 + i32.add + local.set 8 + br 1 (;@11;) + end + local.get 6 + local.get 2 + i32.eq + br_if 0 (;@11;) + local.get 5 + i32.const -5 + i32.add + local.set 8 + end + local.get 8 + local.get 3 + i32.add + local.set 3 + end + block ;; label = @10 + local.get 3 + i32.eqz + br_if 0 (;@10;) + block ;; label = @11 + local.get 3 + local.get 1 + i32.lt_u + br_if 0 (;@11;) + local.get 3 + local.get 1 + i32.eq + br_if 1 (;@10;) + br 10 (;@1;) + end + local.get 0 + local.get 3 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 9 (;@1;) + end + local.get 3 + local.get 1 + i32.eq + br_if 7 (;@2;) + block ;; label = @10 + block ;; label = @11 + local.get 0 + local.get 3 + i32.add + local.tee 2 + i32.load8_s + local.tee 1 + i32.const -1 + i32.gt_s + br_if 0 (;@11;) + local.get 2 + i32.load8_u offset=1 + i32.const 63 + i32.and + local.set 0 + local.get 1 + i32.const 31 + i32.and + local.set 5 + local.get 1 + i32.const -33 + i32.gt_u + br_if 1 (;@10;) + local.get 5 + i32.const 6 + i32.shl + local.get 0 + i32.or + local.set 2 + br 4 (;@7;) + end + local.get 4 + local.get 1 + i32.const 255 + i32.and + i32.store offset=36 + i32.const 1 + local.set 1 + br 4 (;@6;) + end + local.get 0 + i32.const 6 + i32.shl + local.get 2 + i32.load8_u offset=2 + i32.const 63 + i32.and + i32.or + local.set 0 + local.get 1 + i32.const -16 + i32.ge_u + br_if 1 (;@8;) + local.get 0 + local.get 5 + i32.const 12 + i32.shl + i32.or + local.set 2 + br 2 (;@7;) + end + local.get 4 + i32.const 100 + i32.add + i32.const 73 + i32.store + local.get 4 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 73 + i32.store + local.get 4 + i32.const 84 + i32.add + i32.const 45 + i32.store + local.get 4 + i32.const 48 + i32.add + i32.const 20 + i32.add + i32.const 4 + i32.store + local.get 4 + i64.const 4 + i64.store offset=52 align=4 + local.get 4 + i32.const 1056748 + i32.store offset=48 + local.get 4 + i32.const 45 + i32.store offset=76 + local.get 4 + local.get 4 + i32.const 72 + i32.add + i32.store offset=64 + 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 + i32.const 48 + i32.add + i32.const 1056780 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable + end + local.get 0 + i32.const 6 + i32.shl + local.get 2 + i32.load8_u offset=3 + i32.const 63 + i32.and + i32.or + local.get 5 + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + local.tee 2 + i32.const 1114112 + i32.eq + br_if 5 (;@2;) + end + local.get 4 + local.get 2 + i32.store offset=36 + i32.const 1 + local.set 1 + local.get 2 + i32.const 128 + i32.lt_u + br_if 0 (;@6;) + i32.const 2 + local.set 1 + local.get 2 + i32.const 2048 + i32.lt_u + br_if 0 (;@6;) + i32.const 3 + i32.const 4 + local.get 2 + i32.const 65536 + i32.lt_u + select + local.set 1 + end + local.get 4 + local.get 3 + i32.store offset=40 + local.get 4 + local.get 1 + local.get 3 + i32.add + i32.store offset=44 + local.get 4 + i32.const 48 + i32.add + i32.const 20 + i32.add + i32.const 5 + i32.store + local.get 4 + i32.const 108 + i32.add + i32.const 73 + i32.store + local.get 4 + i32.const 100 + i32.add + i32.const 73 + i32.store + local.get 4 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 74 + i32.store + local.get 4 + i32.const 84 + i32.add + i32.const 75 + i32.store + local.get 4 + i64.const 5 + i64.store offset=52 align=4 + local.get 4 + i32.const 1056864 + i32.store offset=48 + local.get 4 + i32.const 45 + i32.store offset=76 + local.get 4 + local.get 4 + i32.const 72 + i32.add + i32.store offset=64 + 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 40 + i32.add + i32.store offset=88 + 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 + i32.const 48 + i32.add + i32.const 1056904 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable + end + local.get 4 + local.get 2 + local.get 3 + local.get 5 + select + i32.store offset=40 + local.get 4 + i32.const 48 + i32.add + i32.const 20 + i32.add + i32.const 3 + i32.store + local.get 4 + i32.const 72 + i32.add + i32.const 20 + i32.add + i32.const 73 + i32.store + local.get 4 + i32.const 84 + i32.add + i32.const 73 + i32.store + local.get 4 + i64.const 3 + i64.store offset=52 align=4 + local.get 4 + i32.const 1056672 + i32.store offset=48 + local.get 4 + i32.const 45 + i32.store offset=76 + local.get 4 + local.get 4 + i32.const 72 + i32.add + i32.store offset=64 + 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 + i32.const 48 + i32.add + i32.const 1056696 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable + end + local.get 3 + local.get 5 + local.get 4 + call $_ZN4core5slice5index22slice_index_order_fail17h62857dc8db751d24E + unreachable + end + local.get 0 + local.get 1 + i32.const 0 + local.get 5 + local.get 4 + call $_ZN4core3str16slice_error_fail17h4bc2d57feff47476E + unreachable + end + i32.const 1055037 + i32.const 43 + i32.const 1056796 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 0 + local.get 1 + local.get 3 + local.get 1 + local.get 4 + call $_ZN4core3str16slice_error_fail17h4bc2d57feff47476E + unreachable) + (func $_ZN4core3ops8function6FnOnce9call_once17h7c417dfb7831499cE (type 6) (param i32 i32) + local.get 0 + local.get 1 + call $_ZN4core5slice5index25slice_index_order_fail_rt17hdd01c8938ab1c67dE + unreachable) + (func $_ZN4core5slice5index25slice_index_order_fail_rt17hdd01c8938ab1c67dE (type 6) (param i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 1 + i32.store offset=4 + local.get 2 + local.get 0 + i32.store + local.get 2 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get 2 + i32.const 44 + i32.add + i32.const 45 + i32.store + local.get 2 + i64.const 2 + i64.store offset=12 align=4 + local.get 2 + i32.const 1056316 + i32.store offset=8 + local.get 2 + i32.const 45 + i32.store offset=36 + local.get 2 + local.get 2 + i32.const 32 + i32.add + i32.store offset=24 + 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 + i32.const 8 + i32.add + i32.const 1056332 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable) + (func $_ZN4core3ops8function6FnOnce9call_once17hecf0d72f2fc94f8aE (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + drop + loop (result i32) ;; label = @1 + br 0 (;@1;) + end) + (func $_ZN4core3ptr102drop_in_place$LT$$RF$core..iter..adapters..copied..Copied$LT$core..slice..iter..Iter$LT$u8$GT$$GT$$GT$17h44d9de85dd212812E (type 2) (param i32)) + (func $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E (type 6) (param i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + i32.const 1 + i32.store8 offset=24 + local.get 2 + local.get 1 + i32.store offset=20 + local.get 2 + local.get 0 + i32.store offset=16 + local.get 2 + i32.const 1055556 + i32.store offset=12 + local.get 2 + i32.const 1052472 + i32.store offset=8 + local.get 2 + i32.const 8 + i32.add + call $rust_begin_unwind + unreachable) + (func $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E (type 14) (param i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 1 + i32.store offset=4 + local.get 3 + local.get 0 + i32.store + local.get 3 + i32.const 28 + i32.add + i32.const 2 + i32.store + local.get 3 + i32.const 44 + i32.add + i32.const 45 + i32.store + local.get 3 + i64.const 2 + i64.store offset=12 align=4 + local.get 3 + i32.const 1055540 + i32.store offset=8 + local.get 3 + i32.const 45 + i32.store offset=36 + local.get 3 + local.get 3 + i32.const 32 + i32.add + i32.store offset=24 + 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 + i32.const 8 + i32.add + local.get 2 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable) + (func $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE (type 14) (param i32 i32 i32) + local.get 0 + local.get 1 + call $_ZN4core3ops8function6FnOnce9call_once17h14b847edf45fe3b6E + unreachable) + (func $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE (type 14) (param i32 i32 i32) + local.get 0 + local.get 1 + call $_ZN4core3ops8function6FnOnce9call_once17h3eaa7d6507ec57c0E + unreachable) + (func $_ZN4core3fmt9Formatter3pad17ha9ee57a4f2525d55E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32) + local.get 0 + i32.load offset=16 + local.set 3 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 0 + i32.load offset=8 + local.tee 4 + i32.const 1 + i32.eq + br_if 0 (;@6;) + local.get 3 + i32.const 1 + i32.ne + br_if 1 (;@5;) + end + local.get 3 + i32.const 1 + i32.ne + br_if 3 (;@2;) + local.get 1 + local.get 2 + i32.add + local.set 5 + local.get 0 + i32.const 20 + i32.add + i32.load + local.tee 6 + br_if 1 (;@4;) + i32.const 0 + local.set 7 + local.get 1 + local.set 8 + br 2 (;@3;) + end + 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 (type 7) + local.set 3 + br 3 (;@1;) + end + i32.const 0 + local.set 7 + local.get 1 + local.set 8 + loop ;; label = @4 + local.get 8 + local.tee 3 + local.get 5 + i32.eq + br_if 2 (;@2;) + block ;; label = @5 + block ;; label = @6 + local.get 3 + i32.load8_s + local.tee 8 + i32.const -1 + i32.le_s + br_if 0 (;@6;) + local.get 3 + i32.const 1 + i32.add + local.set 8 + br 1 (;@5;) + end + block ;; label = @6 + local.get 8 + i32.const -32 + i32.ge_u + br_if 0 (;@6;) + local.get 3 + i32.const 2 + i32.add + local.set 8 + br 1 (;@5;) + end + block ;; label = @6 + local.get 8 + i32.const -16 + i32.ge_u + br_if 0 (;@6;) + local.get 3 + i32.const 3 + i32.add + local.set 8 + br 1 (;@5;) + end + local.get 3 + i32.load8_u offset=2 + i32.const 63 + i32.and + i32.const 6 + i32.shl + local.get 3 + i32.load8_u offset=1 + i32.const 63 + i32.and + i32.const 12 + i32.shl + i32.or + local.get 3 + i32.load8_u offset=3 + i32.const 63 + i32.and + i32.or + local.get 8 + i32.const 255 + i32.and + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + i32.const 1114112 + i32.eq + br_if 3 (;@2;) + local.get 3 + i32.const 4 + i32.add + local.set 8 + end + local.get 7 + local.get 3 + i32.sub + local.get 8 + i32.add + local.set 7 + local.get 6 + i32.const -1 + i32.add + local.tee 6 + br_if 0 (;@4;) + end + end + local.get 8 + local.get 5 + i32.eq + br_if 0 (;@2;) + block ;; label = @3 + local.get 8 + i32.load8_s + local.tee 3 + i32.const -1 + i32.gt_s + br_if 0 (;@3;) + local.get 3 + i32.const -32 + i32.lt_u + br_if 0 (;@3;) + local.get 3 + i32.const -16 + i32.lt_u + br_if 0 (;@3;) + local.get 8 + i32.load8_u offset=2 + i32.const 63 + i32.and + i32.const 6 + i32.shl + local.get 8 + i32.load8_u offset=1 + i32.const 63 + i32.and + i32.const 12 + i32.shl + i32.or + local.get 8 + i32.load8_u offset=3 + i32.const 63 + i32.and + i32.or + local.get 3 + i32.const 255 + i32.and + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + i32.const 1114112 + i32.eq + br_if 1 (;@2;) + end + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 7 + br_if 0 (;@5;) + i32.const 0 + local.set 8 + br 1 (;@4;) + end + block ;; label = @5 + local.get 7 + local.get 2 + i32.lt_u + br_if 0 (;@5;) + i32.const 0 + local.set 3 + local.get 2 + local.set 8 + local.get 7 + local.get 2 + i32.eq + br_if 1 (;@4;) + br 2 (;@3;) + end + i32.const 0 + local.set 3 + local.get 7 + local.set 8 + local.get 1 + local.get 7 + i32.add + i32.load8_s + i32.const -64 + i32.lt_s + br_if 1 (;@3;) + end + local.get 8 + local.set 7 + local.get 1 + local.set 3 + end + local.get 7 + local.get 2 + local.get 3 + select + local.set 2 + local.get 3 + local.get 1 + local.get 3 + select + local.set 1 + end + block ;; label = @2 + local.get 4 + br_if 0 (;@2;) + 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 (type 7) + return + end + local.get 0 + i32.const 12 + i32.add + i32.load + local.set 5 + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.const 16 + i32.lt_u + br_if 0 (;@3;) + local.get 1 + local.get 2 + call $_ZN4core3str5count14do_count_chars17h56a7e2e55f230d77E + local.set 8 + br 1 (;@2;) + end + block ;; label = @3 + local.get 2 + br_if 0 (;@3;) + i32.const 0 + local.set 8 + br 1 (;@2;) + end + local.get 2 + i32.const 3 + i32.and + local.set 7 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.const -1 + i32.add + i32.const 3 + i32.ge_u + br_if 0 (;@4;) + i32.const 0 + local.set 8 + local.get 1 + local.set 3 + br 1 (;@3;) + end + local.get 2 + i32.const -4 + i32.and + local.set 6 + i32.const 0 + local.set 8 + local.get 1 + local.set 3 + loop ;; label = @4 + local.get 8 + local.get 3 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 3 + i32.const 1 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 3 + i32.const 2 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 3 + i32.const 3 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 8 + local.get 3 + i32.const 4 + i32.add + local.set 3 + local.get 6 + i32.const -4 + i32.add + local.tee 6 + br_if 0 (;@4;) + end + end + local.get 7 + i32.eqz + br_if 0 (;@2;) + loop ;; label = @3 + local.get 8 + local.get 3 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 8 + local.get 3 + i32.const 1 + i32.add + local.set 3 + local.get 7 + i32.const -1 + i32.add + local.tee 7 + br_if 0 (;@3;) + end + end + block ;; label = @2 + local.get 5 + local.get 8 + i32.le_u + br_if 0 (;@2;) + i32.const 0 + local.set 3 + local.get 5 + local.get 8 + i32.sub + local.tee 7 + local.set 6 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + i32.const 0 + local.get 0 + i32.load8_u offset=32 + local.tee 8 + local.get 8 + i32.const 3 + i32.eq + select + i32.const 3 + i32.and + br_table 2 (;@3;) 0 (;@5;) 1 (;@4;) 2 (;@3;) + end + i32.const 0 + local.set 6 + local.get 7 + local.set 3 + br 1 (;@3;) + end + local.get 7 + i32.const 1 + i32.shr_u + local.set 3 + local.get 7 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set 6 + end + local.get 3 + i32.const 1 + i32.add + local.set 3 + local.get 0 + i32.const 28 + i32.add + i32.load + local.set 7 + local.get 0 + i32.load offset=4 + local.set 8 + local.get 0 + i32.load offset=24 + local.set 0 + block ;; label = @3 + loop ;; label = @4 + local.get 3 + i32.const -1 + i32.add + local.tee 3 + i32.eqz + br_if 1 (;@3;) + local.get 0 + local.get 8 + local.get 7 + i32.load offset=16 + call_indirect (type 1) + i32.eqz + br_if 0 (;@4;) + end + i32.const 1 + return + end + i32.const 1 + local.set 3 + local.get 8 + i32.const 1114112 + i32.eq + br_if 1 (;@1;) + local.get 0 + local.get 1 + local.get 2 + local.get 7 + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@1;) + i32.const 0 + local.set 3 + loop ;; label = @3 + block ;; label = @4 + local.get 6 + local.get 3 + i32.ne + br_if 0 (;@4;) + local.get 6 + local.get 6 + i32.lt_u + return + end + local.get 3 + i32.const 1 + i32.add + local.set 3 + local.get 0 + local.get 8 + local.get 7 + i32.load offset=16 + call_indirect (type 1) + i32.eqz + br_if 0 (;@3;) + end + local.get 3 + i32.const -1 + i32.add + local.get 6 + i32.lt_u + return + end + 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 (type 7) + return + end + local.get 3) + (func $_ZN4core9panicking13assert_failed17ha9edb8cd2ad82ee4E (type 14) (param i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 1 + i32.store offset=4 + local.get 3 + local.get 0 + i32.store + local.get 3 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 2 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 3 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.get 2 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 3 + local.get 2 + i64.load align=4 + i64.store offset=8 + i32.const 0 + local.get 3 + i32.const 1055572 + local.get 3 + i32.const 4 + i32.add + i32.const 1055572 + local.get 3 + i32.const 8 + i32.add + i32.const 1052552 + call $_ZN4core9panicking19assert_failed_inner17h16bc0d78f5f6ea7aE + unreachable) + (func $_ZN4core9panicking5panic17h0773910b5d65f5fcE (type 14) (param i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 1052472 + i32.store offset=16 + local.get 3 + i64.const 1 + i64.store offset=4 align=4 + local.get 3 + local.get 1 + i32.store offset=28 + local.get 3 + local.get 0 + i32.store offset=24 + local.get 3 + local.get 3 + i32.const 24 + i32.add + i32.store + local.get 3 + local.get 2 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable) + (func $_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hbd134ab181231231E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i64 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 160 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + local.get 1 + i32.const 7 + i32.and + local.tee 3 + i32.eqz + br_if 0 (;@10;) + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + local.get 0 + i32.load + local.tee 4 + i32.const 41 + i32.ge_u + br_if 0 (;@13;) + block ;; label = @14 + local.get 4 + br_if 0 (;@14;) + i32.const 0 + local.set 4 + br 3 (;@11;) + end + local.get 3 + i32.const 2 + i32.shl + i32.const 1052568 + i32.add + i64.load32_u + local.set 5 + local.get 0 + i32.const 4 + i32.add + local.set 3 + local.get 4 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 6 + i32.const 1 + i32.add + local.tee 7 + i32.const 3 + i32.and + local.set 8 + block ;; label = @14 + local.get 6 + i32.const 3 + i32.ge_u + br_if 0 (;@14;) + i64.const 0 + local.set 9 + br 2 (;@12;) + end + local.get 7 + i32.const 2147483644 + i32.and + local.set 6 + i64.const 0 + local.set 9 + loop ;; label = @14 + local.get 3 + local.get 3 + i64.load32_u + local.get 5 + i64.mul + local.get 9 + i64.add + local.tee 9 + i64.store32 + local.get 3 + i32.const 4 + i32.add + local.tee 7 + local.get 7 + i64.load32_u + local.get 5 + i64.mul + local.get 9 + i64.const 32 + i64.shr_u + i64.add + local.tee 9 + i64.store32 + local.get 3 + i32.const 8 + i32.add + local.tee 7 + local.get 7 + i64.load32_u + local.get 5 + i64.mul + local.get 9 + i64.const 32 + i64.shr_u + i64.add + local.tee 9 + i64.store32 + local.get 3 + i32.const 12 + i32.add + local.tee 7 + local.get 7 + i64.load32_u + local.get 5 + i64.mul + local.get 9 + i64.const 32 + i64.shr_u + i64.add + local.tee 9 + i64.store32 + local.get 9 + i64.const 32 + i64.shr_u + local.set 9 + local.get 3 + i32.const 16 + i32.add + local.set 3 + local.get 6 + i32.const -4 + i32.add + local.tee 6 + br_if 0 (;@14;) + br 2 (;@12;) + end + end + local.get 4 + i32.const 40 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @12 + local.get 8 + i32.eqz + br_if 0 (;@12;) + loop ;; label = @13 + local.get 3 + local.get 3 + i64.load32_u + local.get 5 + i64.mul + local.get 9 + i64.add + local.tee 9 + i64.store32 + local.get 3 + i32.const 4 + i32.add + local.set 3 + local.get 9 + i64.const 32 + i64.shr_u + local.set 9 + local.get 8 + i32.const -1 + i32.add + local.tee 8 + br_if 0 (;@13;) + end + end + local.get 9 + i32.wrap_i64 + local.tee 3 + i32.eqz + br_if 0 (;@11;) + local.get 4 + i32.const 39 + i32.gt_u + br_if 2 (;@9;) + local.get 0 + local.get 4 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 3 + i32.store + local.get 4 + i32.const 1 + i32.add + local.set 4 + end + local.get 0 + local.get 4 + i32.store + end + local.get 1 + i32.const 8 + i32.and + i32.eqz + br_if 4 (;@5;) + local.get 0 + i32.load + local.tee 4 + i32.const 41 + i32.ge_u + br_if 1 (;@8;) + block ;; label = @10 + local.get 4 + br_if 0 (;@10;) + i32.const 0 + local.set 4 + br 4 (;@6;) + end + local.get 0 + i32.const 4 + i32.add + local.set 3 + local.get 4 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 6 + i32.const 1 + i32.add + local.tee 7 + i32.const 3 + i32.and + local.set 8 + block ;; label = @10 + local.get 6 + i32.const 3 + i32.ge_u + br_if 0 (;@10;) + i64.const 0 + local.set 5 + br 3 (;@7;) + end + local.get 7 + i32.const 2147483644 + i32.and + local.set 6 + i64.const 0 + local.set 5 + loop ;; label = @10 + local.get 3 + local.get 3 + i64.load32_u + i64.const 100000000 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 3 + i32.const 4 + i32.add + local.tee 7 + local.get 7 + i64.load32_u + i64.const 100000000 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 3 + i32.const 8 + i32.add + local.tee 7 + local.get 7 + i64.load32_u + i64.const 100000000 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 3 + i32.const 12 + i32.add + local.tee 7 + local.get 7 + i64.load32_u + i64.const 100000000 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 3 + i32.const 16 + i32.add + local.set 3 + local.get 6 + i32.const -4 + i32.add + local.tee 6 + br_if 0 (;@10;) + br 3 (;@7;) + end + end + local.get 4 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 4 + i32.const 40 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @7 + local.get 8 + i32.eqz + br_if 0 (;@7;) + loop ;; label = @8 + local.get 3 + local.get 3 + i64.load32_u + i64.const 100000000 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 3 + i32.const 4 + i32.add + local.set 3 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 8 + i32.const -1 + i32.add + local.tee 8 + br_if 0 (;@8;) + end + end + local.get 5 + i32.wrap_i64 + local.tee 3 + i32.eqz + br_if 0 (;@6;) + local.get 4 + i32.const 39 + i32.gt_u + br_if 2 (;@4;) + local.get 0 + local.get 4 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 3 + i32.store + local.get 4 + i32.const 1 + i32.add + local.set 4 + end + local.get 0 + local.get 4 + i32.store + end + local.get 1 + i32.const 16 + i32.and + i32.eqz + br_if 3 (;@1;) + i32.const 0 + local.set 6 + local.get 2 + i32.const 0 + i32.const 160 + call $memset + local.set 10 + block ;; label = @5 + local.get 0 + i32.load + local.tee 8 + i32.const 2 + i32.lt_u + br_if 0 (;@5;) + local.get 8 + i32.const 41 + i32.ge_u + br_if 2 (;@3;) + local.get 10 + i32.const 1052648 + i32.const 2 + local.get 0 + i32.const 4 + i32.add + local.get 8 + call $_ZN4core3num6bignum8Big32x4010mul_digits9mul_inner17h9a158cea3cb95d31E + local.set 11 + br 3 (;@2;) + end + local.get 0 + i32.const 4 + i32.add + local.tee 3 + local.get 8 + i32.const 2 + i32.shl + i32.add + local.set 4 + local.get 10 + i32.const 4 + i32.add + local.set 12 + i32.const 0 + local.set 11 + loop ;; label = @5 + local.get 6 + i32.const -1 + i32.add + local.set 8 + local.get 12 + local.get 6 + i32.const 2 + i32.shl + i32.add + local.set 6 + loop ;; label = @6 + local.get 3 + local.get 4 + i32.eq + br_if 4 (;@2;) + local.get 6 + i32.const 4 + i32.add + local.set 6 + local.get 8 + i32.const 1 + i32.add + local.set 8 + local.get 3 + i32.load + local.set 7 + local.get 3 + i32.const 4 + i32.add + local.tee 13 + local.set 3 + local.get 7 + i32.eqz + br_if 0 (;@6;) + end + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 8 + i32.const 39 + i32.gt_u + br_if 0 (;@9;) + local.get 6 + i32.const -8 + i32.add + local.tee 3 + local.get 7 + i64.extend_i32_u + local.tee 5 + i64.const 1874919424 + i64.mul + local.get 3 + i64.load32_u + i64.add + local.tee 9 + i64.store32 + block ;; label = @10 + local.get 8 + i32.const 39 + i32.eq + br_if 0 (;@10;) + local.get 6 + i32.const -4 + i32.add + local.tee 3 + local.get 9 + i64.const 32 + i64.shr_u + local.get 3 + i64.load32_u + i64.add + local.get 5 + i64.const 2328306 + i64.mul + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.tee 3 + br_if 2 (;@8;) + i32.const 2 + local.set 3 + br 3 (;@7;) + end + local.get 8 + i32.const 1 + i32.add + local.set 8 + end + local.get 8 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 8 + i32.const 37 + i32.gt_u + br_if 1 (;@6;) + local.get 6 + local.get 3 + i32.store + i32.const 3 + local.set 3 + end + local.get 8 + i32.const 1 + i32.add + local.set 6 + local.get 3 + local.get 8 + i32.add + local.tee 3 + local.get 11 + local.get 11 + local.get 3 + i32.lt_u + select + local.set 11 + local.get 13 + local.set 3 + br 1 (;@5;) + end + end + local.get 8 + i32.const 2 + i32.add + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 4 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 8 + i32.const 40 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 0 + i32.const 4 + i32.add + local.get 10 + i32.const 160 + call $memcpy + drop + local.get 0 + local.get 11 + i32.store + end + block ;; label = @1 + local.get 1 + i32.const 32 + i32.and + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.const 0 + i32.const 160 + call $memset + local.set 11 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load + local.tee 3 + i32.const 4 + i32.lt_u + br_if 0 (;@4;) + local.get 3 + i32.const 41 + i32.ge_u + br_if 1 (;@3;) + local.get 11 + i32.const 1052656 + i32.const 4 + local.get 0 + i32.const 4 + i32.add + local.get 3 + call $_ZN4core3num6bignum8Big32x4010mul_digits9mul_inner17h9a158cea3cb95d31E + local.set 13 + br 2 (;@2;) + end + local.get 0 + i32.const 4 + i32.add + local.tee 7 + local.get 3 + i32.const 2 + i32.shl + i32.add + local.set 4 + i32.const 0 + local.set 10 + i32.const 0 + local.set 13 + loop ;; label = @4 + local.get 10 + i32.const -1 + i32.add + local.set 8 + i32.const 0 + local.set 3 + loop ;; label = @5 + local.get 7 + local.get 3 + i32.add + local.tee 6 + local.get 4 + i32.eq + br_if 3 (;@2;) + local.get 8 + i32.const 1 + i32.add + local.set 8 + local.get 3 + i32.const 4 + i32.add + local.set 3 + local.get 6 + i32.load + local.tee 6 + i32.eqz + br_if 0 (;@5;) + end + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 8 + i32.const 39 + i32.gt_u + br_if 0 (;@8;) + block ;; label = @9 + i32.const 0 + i32.const 40 + local.get 8 + i32.sub + local.tee 12 + local.get 12 + i32.const 40 + i32.gt_u + select + local.tee 12 + i32.const 1 + i32.eq + br_if 0 (;@9;) + local.get 11 + local.get 10 + i32.const 2 + i32.shl + i32.add + local.get 3 + i32.add + local.tee 10 + local.get 6 + i64.extend_i32_u + local.tee 5 + i64.const 2242703233 + i64.mul + local.get 10 + i64.load32_u + i64.add + local.tee 9 + i64.store32 + block ;; label = @10 + local.get 12 + i32.const 2 + i32.ne + br_if 0 (;@10;) + local.get 8 + i32.const 2 + i32.add + local.set 8 + br 2 (;@8;) + end + local.get 10 + i32.const 4 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 762134875 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @10 + local.get 12 + i32.const 3 + i32.ne + br_if 0 (;@10;) + local.get 8 + i32.const 3 + i32.add + local.set 8 + br 2 (;@8;) + end + local.get 10 + i32.const 8 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 1262 + i64.mul + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.tee 6 + br_if 2 (;@7;) + i32.const 4 + local.set 6 + br 3 (;@6;) + end + local.get 8 + i32.const 1 + i32.add + local.set 8 + end + local.get 8 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 8 + i32.const 35 + i32.gt_u + br_if 1 (;@5;) + local.get 10 + i32.const 12 + i32.add + local.get 6 + i32.store + i32.const 5 + local.set 6 + end + local.get 8 + i32.const 1 + i32.add + local.set 10 + local.get 7 + local.get 3 + i32.add + local.set 7 + local.get 6 + local.get 8 + i32.add + local.tee 3 + local.get 13 + local.get 13 + local.get 3 + i32.lt_u + select + local.set 13 + br 1 (;@4;) + end + end + local.get 8 + i32.const 4 + i32.add + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 3 + i32.const 40 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 0 + i32.const 4 + i32.add + local.get 11 + i32.const 160 + call $memcpy + drop + local.get 0 + local.get 13 + i32.store + end + block ;; label = @1 + local.get 1 + i32.const 64 + i32.and + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.const 0 + i32.const 160 + call $memset + local.set 11 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load + local.tee 3 + i32.const 7 + i32.lt_u + br_if 0 (;@4;) + local.get 3 + i32.const 41 + i32.ge_u + br_if 1 (;@3;) + local.get 11 + i32.const 1052672 + i32.const 7 + local.get 0 + i32.const 4 + i32.add + local.get 3 + call $_ZN4core3num6bignum8Big32x4010mul_digits9mul_inner17h9a158cea3cb95d31E + local.set 13 + br 2 (;@2;) + end + local.get 0 + i32.const 4 + i32.add + local.tee 7 + local.get 3 + i32.const 2 + i32.shl + i32.add + local.set 4 + i32.const 0 + local.set 12 + i32.const 0 + local.set 13 + loop ;; label = @4 + local.get 12 + i32.const -1 + i32.add + local.set 8 + i32.const 0 + local.set 3 + loop ;; label = @5 + local.get 7 + local.get 3 + i32.add + local.tee 6 + local.get 4 + i32.eq + br_if 3 (;@2;) + local.get 8 + i32.const 1 + i32.add + local.set 8 + local.get 3 + i32.const 4 + i32.add + local.set 3 + local.get 6 + i32.load + local.tee 6 + i32.eqz + br_if 0 (;@5;) + end + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 8 + i32.const 39 + i32.gt_u + br_if 0 (;@8;) + block ;; label = @9 + i32.const 0 + i32.const 40 + local.get 8 + i32.sub + local.tee 10 + local.get 10 + i32.const 40 + i32.gt_u + select + local.tee 10 + i32.const 1 + i32.eq + br_if 0 (;@9;) + block ;; label = @10 + local.get 10 + i32.const 2 + i32.ne + br_if 0 (;@10;) + local.get 8 + i32.const 2 + i32.add + local.set 8 + br 2 (;@8;) + end + local.get 11 + local.get 12 + i32.const 2 + i32.shl + i32.add + local.get 3 + i32.add + local.tee 12 + i32.const 4 + i32.add + local.tee 14 + local.get 6 + i64.extend_i32_u + local.tee 5 + i64.const 3211403009 + i64.mul + local.get 14 + i64.load32_u + i64.add + local.tee 9 + i64.store32 + block ;; label = @10 + local.get 10 + i32.const 3 + i32.ne + br_if 0 (;@10;) + local.get 8 + i32.const 3 + i32.add + local.set 8 + br 2 (;@8;) + end + local.get 12 + i32.const 8 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 1849224548 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @10 + local.get 10 + i32.const 4 + i32.ne + br_if 0 (;@10;) + local.get 8 + i32.const 4 + i32.add + local.set 8 + br 2 (;@8;) + end + local.get 12 + i32.const 12 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 3668416493 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @10 + local.get 10 + i32.const 5 + i32.ne + br_if 0 (;@10;) + local.get 8 + i32.const 5 + i32.add + local.set 8 + br 2 (;@8;) + end + local.get 12 + i32.const 16 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 3913284084 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @10 + local.get 10 + i32.const 6 + i32.ne + br_if 0 (;@10;) + local.get 8 + i32.const 6 + i32.add + local.set 8 + br 2 (;@8;) + end + local.get 12 + i32.const 20 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 1593091 + i64.mul + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.tee 6 + br_if 2 (;@7;) + i32.const 7 + local.set 6 + br 3 (;@6;) + end + local.get 8 + i32.const 1 + i32.add + local.set 8 + end + local.get 8 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 8 + i32.const 32 + i32.gt_u + br_if 1 (;@5;) + local.get 12 + i32.const 24 + i32.add + local.get 6 + i32.store + i32.const 8 + local.set 6 + end + local.get 8 + i32.const 1 + i32.add + local.set 12 + local.get 7 + local.get 3 + i32.add + local.set 7 + local.get 6 + local.get 8 + i32.add + local.tee 3 + local.get 13 + local.get 13 + local.get 3 + i32.lt_u + select + local.set 13 + br 1 (;@4;) + end + end + local.get 8 + i32.const 7 + i32.add + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 3 + i32.const 40 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 0 + i32.const 4 + i32.add + local.get 11 + i32.const 160 + call $memcpy + drop + local.get 0 + local.get 13 + i32.store + end + block ;; label = @1 + local.get 1 + i32.const 128 + i32.and + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.const 0 + i32.const 160 + call $memset + local.set 13 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load + local.tee 3 + i32.const 14 + i32.lt_u + br_if 0 (;@4;) + local.get 3 + i32.const 41 + i32.ge_u + br_if 1 (;@3;) + local.get 13 + i32.const 1052700 + i32.const 14 + local.get 0 + i32.const 4 + i32.add + local.get 3 + call $_ZN4core3num6bignum8Big32x4010mul_digits9mul_inner17h9a158cea3cb95d31E + local.set 11 + br 2 (;@2;) + end + local.get 0 + i32.const 4 + i32.add + local.tee 7 + local.get 3 + i32.const 2 + i32.shl + i32.add + local.set 4 + i32.const 0 + local.set 12 + i32.const 0 + local.set 11 + loop ;; label = @4 + local.get 12 + i32.const -1 + i32.add + local.set 8 + i32.const 0 + local.set 3 + loop ;; label = @5 + local.get 7 + local.get 3 + i32.add + local.tee 6 + local.get 4 + i32.eq + br_if 3 (;@2;) + local.get 8 + i32.const 1 + i32.add + local.set 8 + local.get 3 + i32.const 4 + i32.add + local.set 3 + local.get 6 + i32.load + local.tee 6 + i32.eqz + br_if 0 (;@5;) + end + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 8 + i32.const 39 + i32.gt_u + br_if 0 (;@8;) + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + i32.const 0 + i32.const 40 + local.get 8 + i32.sub + local.tee 10 + local.get 10 + i32.const 40 + i32.gt_u + select + local.tee 10 + i32.const -1 + i32.add + br_table 2 (;@9;) 1 (;@10;) 1 (;@10;) 0 (;@11;) + end + block ;; label = @11 + local.get 10 + i32.const 4 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 4 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 13 + local.get 12 + i32.const 2 + i32.shl + i32.add + local.get 3 + i32.add + local.tee 12 + i32.const 12 + i32.add + local.tee 14 + local.get 6 + i64.extend_i32_u + local.tee 5 + i64.const 781532673 + i64.mul + local.get 14 + i64.load32_u + i64.add + local.tee 9 + i64.store32 + block ;; label = @11 + local.get 10 + i32.const 5 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 5 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 12 + i32.const 16 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 64985353 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @11 + local.get 10 + i32.const 6 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 6 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 12 + i32.const 20 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 253049085 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @11 + local.get 10 + i32.const 7 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 7 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 12 + i32.const 24 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 594863151 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @11 + local.get 10 + i32.const 8 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 8 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 12 + i32.const 28 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 3553621484 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @11 + local.get 10 + i32.const 9 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 9 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 12 + i32.const 32 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 3288652808 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @11 + local.get 10 + i32.const 10 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 10 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 12 + i32.const 36 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 3167596762 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @11 + local.get 10 + i32.const 11 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 11 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 12 + i32.const 40 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 2788392729 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @11 + local.get 10 + i32.const 12 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 12 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 12 + i32.const 44 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 3911132675 + i64.mul + i64.add + local.tee 9 + i64.store32 + block ;; label = @11 + local.get 10 + i32.const 13 + i32.ne + br_if 0 (;@11;) + local.get 8 + i32.const 13 + i32.add + local.set 8 + br 3 (;@8;) + end + local.get 12 + i32.const 48 + i32.add + local.tee 6 + local.get 9 + i64.const 32 + i64.shr_u + local.get 6 + i64.load32_u + i64.add + local.get 5 + i64.const 590 + i64.mul + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.tee 6 + br_if 3 (;@7;) + i32.const 14 + local.set 6 + br 4 (;@6;) + end + i32.const 0 + local.get 8 + i32.const -40 + i32.add + local.tee 3 + local.get 3 + local.get 8 + i32.gt_u + select + i32.const 40 + i32.add + local.set 8 + br 1 (;@8;) + end + local.get 8 + i32.const 1 + i32.add + local.set 8 + end + local.get 8 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 8 + i32.const 25 + i32.gt_u + br_if 1 (;@5;) + local.get 12 + i32.const 52 + i32.add + local.get 6 + i32.store + i32.const 15 + local.set 6 + end + local.get 8 + i32.const 1 + i32.add + local.set 12 + local.get 7 + local.get 3 + i32.add + local.set 7 + local.get 6 + local.get 8 + i32.add + local.tee 3 + local.get 11 + local.get 11 + local.get 3 + i32.lt_u + select + local.set 11 + br 1 (;@4;) + end + end + local.get 8 + i32.const 14 + i32.add + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 3 + i32.const 40 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 0 + i32.const 4 + i32.add + local.get 13 + i32.const 160 + call $memcpy + drop + local.get 0 + local.get 11 + i32.store + end + block ;; label = @1 + local.get 1 + i32.const 256 + i32.and + i32.eqz + br_if 0 (;@1;) + i32.const 0 + local.set 4 + local.get 2 + i32.const 0 + i32.const 160 + call $memset + local.set 15 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 0 + i32.load + local.tee 3 + i32.const 27 + i32.lt_u + br_if 0 (;@5;) + local.get 3 + i32.const 41 + i32.ge_u + br_if 1 (;@4;) + local.get 15 + i32.const 1052756 + i32.const 27 + local.get 0 + i32.const 4 + i32.add + local.get 3 + call $_ZN4core3num6bignum8Big32x4010mul_digits9mul_inner17h9a158cea3cb95d31E + local.set 16 + br 3 (;@2;) + end + local.get 0 + i32.const 4 + i32.add + local.tee 8 + local.get 3 + i32.const 2 + i32.shl + i32.add + local.set 10 + i32.const 0 + local.set 16 + loop ;; label = @5 + local.get 4 + i32.const 1 + i32.add + local.set 7 + local.get 15 + local.get 4 + i32.const 2 + i32.shl + i32.add + local.set 1 + loop ;; label = @6 + local.get 4 + local.set 13 + local.get 7 + local.set 6 + local.get 1 + local.set 3 + local.get 8 + local.get 10 + i32.eq + br_if 4 (;@2;) + local.get 3 + i32.const 4 + i32.add + local.set 1 + local.get 6 + i32.const 1 + i32.add + local.set 7 + local.get 13 + i32.const 1 + i32.add + local.set 4 + local.get 8 + i32.load + local.set 11 + local.get 8 + i32.const 4 + i32.add + local.tee 12 + local.set 8 + local.get 11 + i32.eqz + br_if 0 (;@6;) + end + i32.const 0 + local.set 7 + i32.const 0 + i32.const 40 + local.get 13 + i32.sub + local.tee 8 + local.get 8 + i32.const 40 + i32.gt_u + select + local.set 17 + local.get 13 + i32.const 40 + local.get 13 + i32.const 40 + i32.lt_u + select + i32.const 2 + i32.shl + local.set 14 + local.get 11 + i64.extend_i32_u + local.set 5 + i64.const 0 + local.set 9 + i32.const -160 + local.set 8 + loop ;; label = @6 + block ;; label = @7 + local.get 14 + local.get 8 + i32.add + br_if 0 (;@7;) + local.get 6 + i32.const -1 + i32.add + local.set 6 + br 4 (;@3;) + end + local.get 3 + local.get 9 + local.get 3 + i64.load32_u + i64.add + local.get 8 + i32.const 1052916 + i32.add + local.tee 1 + i64.load32_u + local.get 5 + i64.mul + i64.add + local.tee 9 + i64.store32 + local.get 9 + i64.const 32 + i64.shr_u + local.set 9 + block ;; label = @7 + local.get 1 + i32.const 4 + i32.add + i32.const 1052864 + i32.eq + br_if 0 (;@7;) + local.get 7 + i32.const 1 + i32.or + local.get 17 + i32.eq + br_if 4 (;@3;) + local.get 3 + i32.const 4 + i32.add + local.tee 1 + local.get 9 + local.get 1 + i64.load32_u + i64.add + local.get 8 + i32.const 1052920 + i32.add + i64.load32_u + local.get 5 + i64.mul + i64.add + local.tee 9 + i64.store32 + local.get 9 + i64.const 32 + i64.shr_u + local.set 9 + local.get 3 + i32.const 8 + i32.add + local.set 3 + local.get 6 + i32.const 2 + i32.add + local.set 6 + local.get 8 + i32.const 8 + i32.add + local.set 8 + local.get 7 + i32.const 2 + i32.add + local.set 7 + br 1 (;@6;) + end + end + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 9 + i32.wrap_i64 + local.tee 3 + br_if 0 (;@8;) + i32.const 27 + local.set 3 + br 1 (;@7;) + end + local.get 13 + i32.const 27 + i32.add + local.tee 8 + i32.const 39 + i32.gt_u + br_if 1 (;@6;) + local.get 15 + local.get 8 + i32.const 2 + i32.shl + i32.add + local.get 3 + i32.store + i32.const 28 + local.set 3 + end + local.get 3 + local.get 13 + i32.add + local.tee 3 + local.get 16 + local.get 16 + local.get 3 + i32.lt_u + select + local.set 16 + local.get 12 + local.set 8 + br 1 (;@5;) + end + end + local.get 8 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 3 + i32.const 40 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 6 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 0 + i32.const 4 + i32.add + local.get 15 + i32.const 160 + call $memcpy + drop + local.get 0 + local.get 16 + i32.store + end + local.get 2 + i32.const 160 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN4core3num6bignum8Big32x4010mul_digits9mul_inner17h9a158cea3cb95d31E (type 17) (param i32 i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i64) + local.get 1 + local.get 2 + i32.const 2 + i32.shl + i32.add + local.set 5 + block ;; label = @1 + block ;; label = @2 + local.get 4 + i32.eqz + br_if 0 (;@2;) + local.get 4 + i32.const 1 + i32.add + local.set 6 + local.get 4 + i32.const 2 + i32.shl + local.set 7 + i32.const 0 + local.set 8 + i32.const 0 + local.set 9 + loop ;; label = @3 + local.get 0 + local.get 8 + i32.const 2 + i32.shl + i32.add + local.set 10 + loop ;; label = @4 + local.get 8 + local.set 11 + local.get 10 + local.set 2 + local.get 1 + local.get 5 + i32.eq + br_if 3 (;@1;) + local.get 2 + i32.const 4 + i32.add + local.set 10 + local.get 11 + i32.const 1 + i32.add + local.set 8 + local.get 1 + i32.load + local.set 12 + local.get 1 + i32.const 4 + i32.add + local.tee 13 + local.set 1 + local.get 12 + i32.eqz + br_if 0 (;@4;) + end + local.get 11 + i32.const 40 + local.get 11 + i32.const 40 + i32.lt_u + select + i32.const -40 + i32.add + local.set 14 + local.get 12 + i64.extend_i32_u + local.set 15 + i64.const 0 + local.set 16 + i32.const 0 + local.set 1 + local.get 7 + local.set 12 + local.get 3 + local.set 10 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + loop ;; label = @7 + local.get 14 + local.get 1 + i32.eq + br_if 1 (;@6;) + local.get 2 + local.get 16 + local.get 2 + i64.load32_u + i64.add + local.get 10 + i64.load32_u + local.get 15 + i64.mul + i64.add + local.tee 16 + i64.store32 + local.get 16 + i64.const 32 + i64.shr_u + local.set 16 + local.get 2 + i32.const 4 + i32.add + local.set 2 + local.get 1 + i32.const -1 + i32.add + local.set 1 + local.get 10 + i32.const 4 + i32.add + local.set 10 + local.get 12 + i32.const -4 + i32.add + local.tee 12 + br_if 0 (;@7;) + end + local.get 4 + local.set 1 + local.get 16 + i32.wrap_i64 + local.tee 2 + br_if 1 (;@5;) + br 2 (;@4;) + end + local.get 1 + i32.const -1 + i32.xor + local.get 8 + i32.add + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + block ;; label = @5 + local.get 11 + local.get 4 + i32.add + local.tee 1 + i32.const 39 + i32.gt_u + br_if 0 (;@5;) + local.get 0 + local.get 1 + i32.const 2 + i32.shl + i32.add + local.get 2 + i32.store + local.get 6 + local.set 1 + br 1 (;@4;) + end + local.get 1 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 1 + local.get 11 + i32.add + local.tee 1 + local.get 9 + local.get 9 + local.get 1 + i32.lt_u + select + local.set 9 + local.get 13 + local.set 1 + br 0 (;@3;) + end + end + i32.const 0 + local.set 9 + i32.const 0 + local.set 2 + loop ;; label = @2 + local.get 1 + local.get 5 + i32.eq + br_if 1 (;@1;) + local.get 2 + i32.const 1 + i32.add + local.set 2 + local.get 1 + i32.load + local.set 10 + local.get 1 + i32.const 4 + i32.add + local.tee 11 + local.set 1 + local.get 10 + i32.eqz + br_if 0 (;@2;) + local.get 2 + i32.const -1 + i32.add + local.tee 1 + local.get 9 + local.get 9 + local.get 1 + i32.lt_u + select + local.set 9 + local.get 11 + local.set 1 + br 0 (;@2;) + end + end + local.get 9) + (func $_ZN4core3num7flt2dec8strategy6dragon15format_shortest17h79a057ff4a168249E (type 5) (param i32 i32 i32 i32) + (local i32 i64 i64 i64 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 1344 + i32.sub + local.tee 4 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + block ;; label = @16 + block ;; label = @17 + block ;; label = @18 + block ;; label = @19 + block ;; label = @20 + block ;; label = @21 + block ;; label = @22 + block ;; label = @23 + block ;; label = @24 + block ;; label = @25 + block ;; label = @26 + block ;; label = @27 + block ;; label = @28 + block ;; label = @29 + block ;; label = @30 + block ;; label = @31 + block ;; label = @32 + block ;; label = @33 + block ;; label = @34 + block ;; label = @35 + block ;; label = @36 + block ;; label = @37 + block ;; label = @38 + block ;; label = @39 + block ;; label = @40 + block ;; label = @41 + local.get 1 + i64.load + local.tee 5 + i64.eqz + br_if 0 (;@41;) + local.get 1 + i64.load offset=8 + local.tee 6 + i64.eqz + br_if 1 (;@40;) + local.get 1 + i64.load offset=16 + local.tee 7 + i64.eqz + br_if 2 (;@39;) + local.get 5 + local.get 7 + i64.add + local.tee 8 + local.get 5 + i64.lt_u + br_if 3 (;@38;) + local.get 5 + local.get 6 + i64.sub + local.get 5 + i64.gt_u + br_if 4 (;@37;) + local.get 3 + i32.const 17 + i32.lt_u + br_if 5 (;@36;) + local.get 1 + i32.load8_u offset=26 + local.set 9 + local.get 1 + i32.load16_u offset=24 + local.set 1 + local.get 4 + local.get 5 + i64.store32 offset=4 + local.get 4 + i32.const 8 + i32.add + i32.const 0 + local.get 5 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.get 5 + i64.const 4294967296 + i64.lt_u + local.tee 10 + select + i32.store + local.get 4 + i32.const 1 + i32.const 2 + local.get 10 + select + i32.store + local.get 4 + i32.const 12 + i32.add + i32.const 0 + i32.const 152 + call $memset + drop + local.get 4 + local.get 6 + i64.store32 offset=172 + local.get 4 + i32.const 168 + i32.add + i32.const 8 + i32.add + i32.const 0 + local.get 6 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.get 6 + i64.const 4294967296 + i64.lt_u + local.tee 10 + select + i32.store + local.get 4 + i32.const 1 + i32.const 2 + local.get 10 + select + i32.store offset=168 + local.get 4 + i32.const 168 + i32.add + i32.const 12 + i32.add + i32.const 0 + i32.const 152 + call $memset + drop + local.get 4 + local.get 7 + i64.store32 offset=340 + local.get 4 + i32.const 336 + i32.add + i32.const 8 + i32.add + i32.const 0 + local.get 7 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.get 7 + i64.const 4294967296 + i64.lt_u + local.tee 10 + select + i32.store + local.get 4 + i32.const 1 + i32.const 2 + local.get 10 + select + i32.store offset=336 + local.get 4 + i32.const 336 + i32.add + i32.const 12 + i32.add + i32.const 0 + i32.const 152 + call $memset + drop + local.get 4 + i32.const 504 + i32.add + i32.const 8 + i32.add + i32.const 0 + i32.const 156 + call $memset + drop + local.get 4 + i64.const 4294967297 + i64.store offset=504 + local.get 1 + i64.extend_i32_u + i64.const 48 + i64.shl + i64.const 48 + i64.shr_s + local.get 8 + i64.const -1 + i64.add + i64.clz + i64.sub + i64.const 1292913986 + i64.mul + i64.const 82746495104 + i64.add + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.tee 10 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.set 11 + block ;; label = @42 + block ;; label = @43 + local.get 1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee 12 + i32.const 0 + i32.lt_s + br_if 0 (;@43;) + local.get 4 + local.get 1 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + drop + local.get 4 + i32.const 168 + i32.add + local.get 1 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + drop + local.get 4 + i32.const 336 + i32.add + local.get 1 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + drop + br 1 (;@42;) + end + local.get 4 + i32.const 504 + i32.add + i32.const 0 + local.get 12 + i32.sub + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + drop + end + block ;; label = @42 + block ;; label = @43 + local.get 11 + i32.const -1 + i32.gt_s + br_if 0 (;@43;) + local.get 4 + i32.const 0 + local.get 11 + i32.sub + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee 1 + call $_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hbd134ab181231231E + drop + local.get 4 + i32.const 168 + i32.add + local.get 1 + call $_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hbd134ab181231231E + drop + local.get 4 + i32.const 336 + i32.add + local.get 1 + call $_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hbd134ab181231231E + drop + br 1 (;@42;) + end + local.get 4 + i32.const 504 + i32.add + local.get 10 + i32.const 65535 + i32.and + call $_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hbd134ab181231231E + drop + end + local.get 4 + i32.load + local.set 13 + local.get 4 + i32.const 1176 + i32.add + i32.const 4 + i32.or + local.get 4 + i32.const 4 + i32.or + local.tee 14 + i32.const 160 + call $memcpy + drop + local.get 4 + local.get 13 + i32.store offset=1176 + block ;; label = @42 + block ;; label = @43 + block ;; label = @44 + block ;; label = @45 + local.get 13 + local.get 4 + i32.load offset=336 + local.tee 15 + local.get 13 + local.get 15 + i32.gt_u + select + local.tee 16 + i32.const 40 + i32.gt_u + br_if 0 (;@45;) + block ;; label = @46 + local.get 16 + br_if 0 (;@46;) + i32.const 0 + local.set 16 + br 4 (;@42;) + end + local.get 16 + i32.const 1 + i32.and + local.set 17 + local.get 16 + i32.const 1 + i32.ne + br_if 1 (;@44;) + i32.const 0 + local.set 18 + i32.const 0 + local.set 19 + br 2 (;@43;) + end + local.get 16 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 16 + i32.const -2 + i32.and + local.set 20 + local.get 4 + i32.const 336 + i32.add + i32.const 8 + i32.add + local.set 10 + local.get 4 + i32.const 1176 + i32.add + i32.const 8 + i32.add + local.set 1 + i32.const 0 + local.set 18 + i32.const 0 + local.set 19 + loop ;; label = @44 + local.get 1 + i32.const -4 + i32.add + local.tee 12 + local.get 12 + i32.load + local.tee 21 + local.get 10 + i32.const -4 + i32.add + i32.load + i32.add + local.tee 12 + local.get 18 + i32.const 1 + i32.and + i32.add + local.tee 22 + i32.store + local.get 1 + local.get 1 + i32.load + local.tee 23 + local.get 10 + i32.load + i32.add + local.tee 18 + local.get 12 + local.get 21 + i32.lt_u + local.get 22 + local.get 12 + i32.lt_u + i32.or + i32.add + local.tee 12 + i32.store + local.get 18 + local.get 23 + i32.lt_u + local.get 12 + local.get 18 + i32.lt_u + i32.or + local.set 18 + local.get 10 + i32.const 8 + i32.add + local.set 10 + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 20 + local.get 19 + i32.const 2 + i32.add + local.tee 19 + i32.ne + br_if 0 (;@44;) + end + end + block ;; label = @43 + local.get 17 + i32.eqz + br_if 0 (;@43;) + local.get 4 + i32.const 1176 + i32.add + local.get 19 + i32.const 2 + i32.shl + local.tee 1 + i32.add + i32.const 4 + i32.add + local.tee 10 + local.get 10 + i32.load + local.tee 10 + local.get 4 + i32.const 336 + i32.add + local.get 1 + i32.add + i32.const 4 + i32.add + i32.load + i32.add + local.tee 1 + local.get 18 + i32.add + local.tee 12 + i32.store + local.get 1 + local.get 10 + i32.lt_u + local.get 12 + local.get 1 + i32.lt_u + i32.or + local.set 18 + end + local.get 18 + i32.const 1 + i32.and + i32.eqz + br_if 0 (;@42;) + local.get 16 + i32.const 39 + i32.gt_u + br_if 7 (;@35;) + local.get 4 + i32.const 1176 + i32.add + local.get 16 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + i32.const 1 + i32.store + local.get 16 + i32.const 1 + i32.add + local.set 16 + end + local.get 4 + local.get 16 + i32.store offset=1176 + local.get 4 + i32.load offset=504 + local.tee 19 + local.get 16 + local.get 19 + local.get 16 + i32.gt_u + select + local.tee 1 + i32.const 41 + i32.ge_u + br_if 7 (;@34;) + local.get 4 + i32.const 336 + i32.add + i32.const 4 + i32.or + local.set 24 + local.get 4 + i32.const 168 + i32.add + i32.const 4 + i32.or + local.set 25 + local.get 4 + i32.const 4 + i32.or + local.set 26 + local.get 1 + i32.const 2 + i32.shl + local.set 1 + block ;; label = @42 + loop ;; label = @43 + block ;; label = @44 + local.get 1 + br_if 0 (;@44;) + i32.const -1 + i32.const 0 + local.get 1 + select + local.set 10 + br 2 (;@42;) + end + local.get 4 + i32.const 1176 + i32.add + local.get 1 + i32.add + local.set 10 + local.get 4 + i32.const 504 + i32.add + local.get 1 + i32.add + local.set 12 + local.get 1 + i32.const -4 + i32.add + local.set 1 + i32.const -1 + local.get 12 + i32.load + local.tee 12 + local.get 10 + i32.load + local.tee 10 + i32.ne + local.get 12 + local.get 10 + i32.lt_u + select + local.tee 10 + i32.eqz + br_if 0 (;@43;) + end + end + block ;; label = @42 + local.get 10 + local.get 9 + i32.lt_s + br_if 0 (;@42;) + local.get 13 + i32.const 41 + i32.ge_u + br_if 9 (;@33;) + block ;; label = @43 + local.get 13 + br_if 0 (;@43;) + i32.const 0 + local.set 13 + br 12 (;@31;) + end + local.get 13 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 1 + i32.const 1 + i32.add + local.tee 12 + i32.const 3 + i32.and + local.set 10 + block ;; label = @43 + local.get 1 + i32.const 3 + i32.ge_u + br_if 0 (;@43;) + i64.const 0 + local.set 5 + local.get 26 + local.set 1 + br 11 (;@32;) + end + local.get 12 + i32.const 2147483644 + i32.and + local.set 12 + i64.const 0 + local.set 5 + local.get 26 + local.set 1 + loop ;; label = @43 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 8 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 12 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 1 + i32.const 16 + i32.add + local.set 1 + local.get 12 + i32.const -4 + i32.add + local.tee 12 + br_if 0 (;@43;) + br 11 (;@32;) + end + end + local.get 11 + i32.const 1 + i32.add + local.set 11 + br 18 (;@23;) + end + i32.const 1052911 + i32.const 28 + i32.const 1052940 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1052956 + i32.const 29 + i32.const 1052988 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053004 + i32.const 28 + i32.const 1053032 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053048 + i32.const 54 + i32.const 1053104 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053120 + i32.const 55 + i32.const 1053176 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053192 + i32.const 45 + i32.const 1053240 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 16 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 1 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 13 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @32 + local.get 10 + i32.eqz + br_if 0 (;@32;) + loop ;; label = @33 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 10 + i32.const -1 + i32.add + local.tee 10 + br_if 0 (;@33;) + end + end + local.get 5 + i32.wrap_i64 + local.tee 1 + i32.eqz + br_if 0 (;@31;) + local.get 13 + i32.const 39 + i32.gt_u + br_if 1 (;@30;) + local.get 4 + local.get 13 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 13 + i32.const 1 + i32.add + local.set 13 + end + local.get 4 + local.get 13 + i32.store + local.get 4 + i32.load offset=168 + local.tee 21 + i32.const 41 + i32.ge_u + br_if 1 (;@29;) + block ;; label = @31 + local.get 21 + br_if 0 (;@31;) + i32.const 0 + local.set 21 + br 4 (;@27;) + end + local.get 21 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 1 + i32.const 1 + i32.add + local.tee 12 + i32.const 3 + i32.and + local.set 10 + block ;; label = @31 + local.get 1 + i32.const 3 + i32.ge_u + br_if 0 (;@31;) + i64.const 0 + local.set 5 + local.get 25 + local.set 1 + br 3 (;@28;) + end + local.get 12 + i32.const 2147483644 + i32.and + local.set 12 + i64.const 0 + local.set 5 + local.get 25 + local.set 1 + loop ;; label = @31 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 8 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 12 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 1 + i32.const 16 + i32.add + local.set 1 + local.get 12 + i32.const -4 + i32.add + local.tee 12 + br_if 0 (;@31;) + br 3 (;@28;) + end + end + local.get 13 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 21 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @28 + local.get 10 + i32.eqz + br_if 0 (;@28;) + loop ;; label = @29 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 10 + i32.const -1 + i32.add + local.tee 10 + br_if 0 (;@29;) + end + end + local.get 5 + i32.wrap_i64 + local.tee 1 + i32.eqz + br_if 0 (;@27;) + local.get 21 + i32.const 39 + i32.gt_u + br_if 1 (;@26;) + local.get 4 + i32.const 168 + i32.add + local.get 21 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 21 + i32.const 1 + i32.add + local.set 21 + end + local.get 4 + local.get 21 + i32.store offset=168 + local.get 15 + i32.const 41 + i32.ge_u + br_if 1 (;@25;) + block ;; label = @27 + local.get 15 + br_if 0 (;@27;) + local.get 4 + i32.const 0 + i32.store offset=336 + br 4 (;@23;) + end + local.get 15 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 1 + i32.const 1 + i32.add + local.tee 12 + i32.const 3 + i32.and + local.set 10 + block ;; label = @27 + local.get 1 + i32.const 3 + i32.ge_u + br_if 0 (;@27;) + i64.const 0 + local.set 5 + local.get 24 + local.set 1 + br 3 (;@24;) + end + local.get 12 + i32.const 2147483644 + i32.and + local.set 12 + i64.const 0 + local.set 5 + local.get 24 + local.set 1 + loop ;; label = @27 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 8 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 12 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 1 + i32.const 16 + i32.add + local.set 1 + local.get 12 + i32.const -4 + i32.add + local.tee 12 + br_if 0 (;@27;) + br 3 (;@24;) + end + end + local.get 21 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 15 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @24 + local.get 10 + i32.eqz + br_if 0 (;@24;) + loop ;; label = @25 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 10 + i32.const -1 + i32.add + local.tee 10 + br_if 0 (;@25;) + end + end + block ;; label = @24 + local.get 5 + i32.wrap_i64 + local.tee 1 + i32.eqz + br_if 0 (;@24;) + local.get 15 + i32.const 39 + i32.gt_u + br_if 2 (;@22;) + local.get 4 + i32.const 336 + i32.add + local.get 15 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 15 + i32.const 1 + i32.add + local.set 15 + end + local.get 4 + local.get 15 + i32.store offset=336 + end + local.get 4 + i32.const 672 + i32.add + i32.const 4 + i32.or + local.get 4 + i32.const 504 + i32.add + i32.const 4 + i32.or + local.tee 1 + i32.const 160 + call $memcpy + drop + local.get 4 + local.get 19 + i32.store offset=672 + local.get 4 + i32.const 672 + i32.add + i32.const 1 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + local.set 27 + local.get 4 + i32.load offset=504 + local.set 10 + local.get 4 + i32.const 840 + i32.add + i32.const 4 + i32.or + local.get 1 + i32.const 160 + call $memcpy + drop + local.get 4 + local.get 10 + i32.store offset=840 + local.get 4 + i32.const 840 + i32.add + i32.const 2 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + local.set 28 + local.get 4 + i32.load offset=504 + local.set 10 + local.get 4 + i32.const 1008 + i32.add + i32.const 4 + i32.or + local.get 1 + i32.const 160 + call $memcpy + drop + local.get 4 + local.get 10 + i32.store offset=1008 + local.get 4 + i32.const 1008 + i32.add + i32.const 3 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + local.set 29 + block ;; label = @23 + block ;; label = @24 + local.get 4 + i32.load + local.tee 20 + local.get 4 + i32.load offset=1008 + local.tee 30 + local.get 20 + local.get 30 + i32.gt_u + select + local.tee 16 + i32.const 40 + i32.gt_u + br_if 0 (;@24;) + local.get 4 + i32.const 336 + i32.add + i32.const 8 + i32.add + local.set 31 + local.get 4 + i32.const 1176 + i32.add + i32.const 8 + i32.add + local.set 32 + local.get 4 + i32.const 504 + i32.add + i32.const 8 + i32.add + local.set 33 + local.get 4 + i32.const 672 + i32.add + i32.const 8 + i32.add + local.set 34 + local.get 4 + i32.const 840 + i32.add + i32.const 8 + i32.add + local.set 35 + local.get 4 + i32.const 1008 + i32.add + i32.const 8 + i32.add + local.set 36 + local.get 4 + i32.const 8 + i32.add + local.set 37 + local.get 4 + i32.const 1176 + i32.add + i32.const 4 + i32.or + local.set 38 + local.get 4 + i32.load offset=504 + local.set 39 + local.get 4 + i32.load offset=672 + local.set 40 + local.get 4 + i32.load offset=840 + local.set 41 + i32.const 0 + local.set 42 + loop ;; label = @25 + local.get 42 + local.set 43 + local.get 16 + i32.const 2 + i32.shl + local.set 1 + block ;; label = @26 + loop ;; label = @27 + block ;; label = @28 + local.get 1 + br_if 0 (;@28;) + i32.const -1 + i32.const 0 + local.get 1 + select + local.set 10 + br 2 (;@26;) + end + local.get 4 + i32.const 1008 + i32.add + local.get 1 + i32.add + local.set 10 + local.get 4 + local.get 1 + i32.add + local.set 12 + local.get 1 + i32.const -4 + i32.add + local.set 1 + i32.const -1 + local.get 12 + i32.load + local.tee 12 + local.get 10 + i32.load + local.tee 10 + i32.ne + local.get 12 + local.get 10 + i32.lt_u + select + local.tee 10 + i32.eqz + br_if 0 (;@27;) + end + end + i32.const 0 + local.set 15 + block ;; label = @26 + local.get 10 + i32.const 1 + i32.gt_u + br_if 0 (;@26;) + block ;; label = @27 + local.get 16 + i32.eqz + br_if 0 (;@27;) + i32.const 1 + local.set 18 + local.get 16 + i32.const 1 + i32.and + local.set 13 + i32.const 0 + local.set 19 + block ;; label = @28 + local.get 16 + i32.const 1 + i32.eq + br_if 0 (;@28;) + local.get 16 + i32.const -2 + i32.and + local.set 20 + i32.const 0 + local.set 19 + i32.const 1 + local.set 18 + local.get 36 + local.set 10 + local.get 37 + local.set 1 + loop ;; label = @29 + local.get 1 + i32.const -4 + i32.add + local.tee 12 + local.get 12 + i32.load + local.tee 21 + local.get 10 + i32.const -4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 12 + local.get 18 + i32.const 1 + i32.and + i32.add + local.tee 22 + i32.store + local.get 1 + local.get 1 + i32.load + local.tee 23 + local.get 10 + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 18 + local.get 12 + local.get 21 + i32.lt_u + local.get 22 + local.get 12 + i32.lt_u + i32.or + i32.add + local.tee 12 + i32.store + local.get 18 + local.get 23 + i32.lt_u + local.get 12 + local.get 18 + i32.lt_u + i32.or + local.set 18 + local.get 10 + i32.const 8 + i32.add + local.set 10 + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 20 + local.get 19 + i32.const 2 + i32.add + local.tee 19 + i32.ne + br_if 0 (;@29;) + end + end + block ;; label = @28 + local.get 13 + i32.eqz + br_if 0 (;@28;) + local.get 4 + local.get 19 + i32.const 2 + i32.shl + local.tee 1 + i32.add + i32.const 4 + i32.add + local.tee 10 + local.get 10 + i32.load + local.tee 10 + local.get 29 + local.get 1 + i32.add + i32.const 4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 1 + local.get 18 + i32.add + local.tee 12 + i32.store + local.get 1 + local.get 10 + i32.lt_u + local.get 12 + local.get 1 + i32.lt_u + i32.or + local.set 18 + end + local.get 18 + i32.const 1 + i32.and + i32.eqz + br_if 6 (;@21;) + end + local.get 4 + local.get 16 + i32.store + i32.const 8 + local.set 15 + local.get 16 + local.set 20 + end + local.get 20 + local.get 41 + local.get 20 + local.get 41 + i32.gt_u + select + local.tee 16 + i32.const 41 + i32.ge_u + br_if 5 (;@20;) + local.get 16 + i32.const 2 + i32.shl + local.set 1 + block ;; label = @26 + loop ;; label = @27 + block ;; label = @28 + local.get 1 + br_if 0 (;@28;) + i32.const -1 + i32.const 0 + local.get 1 + select + local.set 10 + br 2 (;@26;) + end + local.get 4 + i32.const 840 + i32.add + local.get 1 + i32.add + local.set 10 + local.get 4 + local.get 1 + i32.add + local.set 12 + local.get 1 + i32.const -4 + i32.add + local.set 1 + i32.const -1 + local.get 12 + i32.load + local.tee 12 + local.get 10 + i32.load + local.tee 10 + i32.ne + local.get 12 + local.get 10 + i32.lt_u + select + local.tee 10 + i32.eqz + br_if 0 (;@27;) + end + end + block ;; label = @26 + block ;; label = @27 + local.get 10 + i32.const 1 + i32.le_u + br_if 0 (;@27;) + local.get 20 + local.set 16 + br 1 (;@26;) + end + block ;; label = @27 + local.get 16 + i32.eqz + br_if 0 (;@27;) + i32.const 1 + local.set 18 + local.get 16 + i32.const 1 + i32.and + local.set 13 + i32.const 0 + local.set 19 + block ;; label = @28 + local.get 16 + i32.const 1 + i32.eq + br_if 0 (;@28;) + local.get 16 + i32.const -2 + i32.and + local.set 20 + i32.const 0 + local.set 19 + i32.const 1 + local.set 18 + local.get 35 + local.set 10 + local.get 37 + local.set 1 + loop ;; label = @29 + local.get 1 + i32.const -4 + i32.add + local.tee 12 + local.get 12 + i32.load + local.tee 21 + local.get 10 + i32.const -4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 12 + local.get 18 + i32.const 1 + i32.and + i32.add + local.tee 22 + i32.store + local.get 1 + local.get 1 + i32.load + local.tee 23 + local.get 10 + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 18 + local.get 12 + local.get 21 + i32.lt_u + local.get 22 + local.get 12 + i32.lt_u + i32.or + i32.add + local.tee 12 + i32.store + local.get 18 + local.get 23 + i32.lt_u + local.get 12 + local.get 18 + i32.lt_u + i32.or + local.set 18 + local.get 10 + i32.const 8 + i32.add + local.set 10 + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 20 + local.get 19 + i32.const 2 + i32.add + local.tee 19 + i32.ne + br_if 0 (;@29;) + end + end + block ;; label = @28 + local.get 13 + i32.eqz + br_if 0 (;@28;) + local.get 4 + local.get 19 + i32.const 2 + i32.shl + local.tee 1 + i32.add + i32.const 4 + i32.add + local.tee 10 + local.get 10 + i32.load + local.tee 10 + local.get 28 + local.get 1 + i32.add + i32.const 4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 1 + local.get 18 + i32.add + local.tee 12 + i32.store + local.get 1 + local.get 10 + i32.lt_u + local.get 12 + local.get 1 + i32.lt_u + i32.or + local.set 18 + end + local.get 18 + i32.const 1 + i32.and + i32.eqz + br_if 8 (;@19;) + end + local.get 4 + local.get 16 + i32.store + local.get 15 + i32.const 4 + i32.or + local.set 15 + end + local.get 16 + local.get 40 + local.get 16 + local.get 40 + i32.gt_u + select + local.tee 13 + i32.const 41 + i32.ge_u + br_if 7 (;@18;) + local.get 13 + i32.const 2 + i32.shl + local.set 1 + block ;; label = @26 + loop ;; label = @27 + block ;; label = @28 + local.get 1 + br_if 0 (;@28;) + i32.const -1 + i32.const 0 + local.get 1 + select + local.set 10 + br 2 (;@26;) + end + local.get 4 + i32.const 672 + i32.add + local.get 1 + i32.add + local.set 10 + local.get 4 + local.get 1 + i32.add + local.set 12 + local.get 1 + i32.const -4 + i32.add + local.set 1 + i32.const -1 + local.get 12 + i32.load + local.tee 12 + local.get 10 + i32.load + local.tee 10 + i32.ne + local.get 12 + local.get 10 + i32.lt_u + select + local.tee 10 + i32.eqz + br_if 0 (;@27;) + end + end + block ;; label = @26 + block ;; label = @27 + local.get 10 + i32.const 1 + i32.le_u + br_if 0 (;@27;) + local.get 16 + local.set 13 + br 1 (;@26;) + end + block ;; label = @27 + local.get 13 + i32.eqz + br_if 0 (;@27;) + i32.const 1 + local.set 18 + local.get 13 + i32.const 1 + i32.and + local.set 16 + i32.const 0 + local.set 19 + block ;; label = @28 + local.get 13 + i32.const 1 + i32.eq + br_if 0 (;@28;) + local.get 13 + i32.const -2 + i32.and + local.set 20 + i32.const 0 + local.set 19 + i32.const 1 + local.set 18 + local.get 34 + local.set 10 + local.get 37 + local.set 1 + loop ;; label = @29 + local.get 1 + i32.const -4 + i32.add + local.tee 12 + local.get 12 + i32.load + local.tee 21 + local.get 10 + i32.const -4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 12 + local.get 18 + i32.const 1 + i32.and + i32.add + local.tee 22 + i32.store + local.get 1 + local.get 1 + i32.load + local.tee 23 + local.get 10 + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 18 + local.get 12 + local.get 21 + i32.lt_u + local.get 22 + local.get 12 + i32.lt_u + i32.or + i32.add + local.tee 12 + i32.store + local.get 18 + local.get 23 + i32.lt_u + local.get 12 + local.get 18 + i32.lt_u + i32.or + local.set 18 + local.get 10 + i32.const 8 + i32.add + local.set 10 + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 20 + local.get 19 + i32.const 2 + i32.add + local.tee 19 + i32.ne + br_if 0 (;@29;) + end + end + block ;; label = @28 + local.get 16 + i32.eqz + br_if 0 (;@28;) + local.get 4 + local.get 19 + i32.const 2 + i32.shl + local.tee 1 + i32.add + i32.const 4 + i32.add + local.tee 10 + local.get 10 + i32.load + local.tee 10 + local.get 27 + local.get 1 + i32.add + i32.const 4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 1 + local.get 18 + i32.add + local.tee 12 + i32.store + local.get 1 + local.get 10 + i32.lt_u + local.get 12 + local.get 1 + i32.lt_u + i32.or + local.set 18 + end + local.get 18 + i32.const 1 + i32.and + i32.eqz + br_if 10 (;@17;) + end + local.get 4 + local.get 13 + i32.store + local.get 15 + i32.const 2 + i32.add + local.set 15 + end + local.get 13 + local.get 39 + local.get 13 + local.get 39 + i32.gt_u + select + local.tee 20 + i32.const 41 + i32.ge_u + br_if 9 (;@16;) + local.get 20 + i32.const 2 + i32.shl + local.set 1 + block ;; label = @26 + loop ;; label = @27 + block ;; label = @28 + local.get 1 + br_if 0 (;@28;) + i32.const -1 + i32.const 0 + local.get 1 + select + local.set 10 + br 2 (;@26;) + end + local.get 4 + i32.const 504 + i32.add + local.get 1 + i32.add + local.set 10 + local.get 4 + local.get 1 + i32.add + local.set 12 + local.get 1 + i32.const -4 + i32.add + local.set 1 + i32.const -1 + local.get 12 + i32.load + local.tee 12 + local.get 10 + i32.load + local.tee 10 + i32.ne + local.get 12 + local.get 10 + i32.lt_u + select + local.tee 10 + i32.eqz + br_if 0 (;@27;) + end + end + block ;; label = @26 + block ;; label = @27 + local.get 10 + i32.const 1 + i32.le_u + br_if 0 (;@27;) + local.get 13 + local.set 20 + br 1 (;@26;) + end + block ;; label = @27 + local.get 20 + i32.eqz + br_if 0 (;@27;) + i32.const 1 + local.set 18 + local.get 20 + i32.const 1 + i32.and + local.set 13 + i32.const 0 + local.set 19 + block ;; label = @28 + local.get 20 + i32.const 1 + i32.eq + br_if 0 (;@28;) + local.get 20 + i32.const -2 + i32.and + local.set 16 + i32.const 0 + local.set 19 + i32.const 1 + local.set 18 + local.get 33 + local.set 10 + local.get 37 + local.set 1 + loop ;; label = @29 + local.get 1 + i32.const -4 + i32.add + local.tee 12 + local.get 12 + i32.load + local.tee 21 + local.get 10 + i32.const -4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 12 + local.get 18 + i32.const 1 + i32.and + i32.add + local.tee 22 + i32.store + local.get 1 + local.get 1 + i32.load + local.tee 23 + local.get 10 + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 18 + local.get 12 + local.get 21 + i32.lt_u + local.get 22 + local.get 12 + i32.lt_u + i32.or + i32.add + local.tee 12 + i32.store + local.get 18 + local.get 23 + i32.lt_u + local.get 12 + local.get 18 + i32.lt_u + i32.or + local.set 18 + local.get 10 + i32.const 8 + i32.add + local.set 10 + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 16 + local.get 19 + i32.const 2 + i32.add + local.tee 19 + i32.ne + br_if 0 (;@29;) + end + end + block ;; label = @28 + local.get 13 + i32.eqz + br_if 0 (;@28;) + local.get 4 + local.get 19 + i32.const 2 + i32.shl + local.tee 1 + i32.add + i32.const 4 + i32.add + local.tee 10 + local.get 10 + i32.load + local.tee 10 + local.get 4 + i32.const 504 + i32.add + local.get 1 + i32.add + i32.const 4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 1 + local.get 18 + i32.add + local.tee 12 + i32.store + local.get 1 + local.get 10 + i32.lt_u + local.get 12 + local.get 1 + i32.lt_u + i32.or + local.set 18 + end + local.get 18 + i32.const 1 + i32.and + i32.eqz + br_if 12 (;@15;) + end + local.get 4 + local.get 20 + i32.store + local.get 15 + i32.const 1 + i32.add + local.set 15 + end + local.get 43 + local.get 3 + i32.eq + br_if 15 (;@10;) + local.get 2 + local.get 43 + i32.add + local.get 15 + i32.const 48 + i32.add + i32.store8 + local.get 20 + local.get 4 + i32.load offset=168 + local.tee 17 + local.get 20 + local.get 17 + i32.gt_u + select + local.tee 1 + i32.const 41 + i32.ge_u + br_if 11 (;@14;) + local.get 43 + i32.const 1 + i32.add + local.set 42 + local.get 1 + i32.const 2 + i32.shl + local.set 1 + block ;; label = @26 + loop ;; label = @27 + block ;; label = @28 + local.get 1 + br_if 0 (;@28;) + i32.const -1 + i32.const 0 + local.get 1 + select + local.set 16 + br 2 (;@26;) + end + local.get 4 + i32.const 168 + i32.add + local.get 1 + i32.add + local.set 10 + local.get 4 + local.get 1 + i32.add + local.set 12 + local.get 1 + i32.const -4 + i32.add + local.set 1 + i32.const -1 + local.get 12 + i32.load + local.tee 12 + local.get 10 + i32.load + local.tee 10 + i32.ne + local.get 12 + local.get 10 + i32.lt_u + select + local.tee 16 + i32.eqz + br_if 0 (;@27;) + end + end + local.get 38 + local.get 14 + i32.const 160 + call $memcpy + drop + local.get 4 + local.get 20 + i32.store offset=1176 + local.get 20 + local.get 4 + i32.load offset=336 + local.tee 44 + local.get 20 + local.get 44 + i32.gt_u + select + local.tee 15 + i32.const 40 + i32.gt_u + br_if 12 (;@13;) + block ;; label = @26 + block ;; label = @27 + local.get 15 + br_if 0 (;@27;) + i32.const 0 + local.set 15 + br 1 (;@26;) + end + local.get 15 + i32.const 1 + i32.and + local.set 45 + i32.const 0 + local.set 18 + i32.const 0 + local.set 19 + block ;; label = @27 + local.get 15 + i32.const 1 + i32.eq + br_if 0 (;@27;) + local.get 15 + i32.const -2 + i32.and + local.set 13 + i32.const 0 + local.set 18 + local.get 31 + local.set 10 + local.get 32 + local.set 1 + i32.const 0 + local.set 19 + loop ;; label = @28 + local.get 1 + i32.const -4 + i32.add + local.tee 12 + local.get 12 + i32.load + local.tee 21 + local.get 10 + i32.const -4 + i32.add + i32.load + i32.add + local.tee 12 + local.get 18 + i32.const 1 + i32.and + i32.add + local.tee 22 + i32.store + local.get 1 + local.get 1 + i32.load + local.tee 23 + local.get 10 + i32.load + i32.add + local.tee 18 + local.get 12 + local.get 21 + i32.lt_u + local.get 22 + local.get 12 + i32.lt_u + i32.or + i32.add + local.tee 12 + i32.store + local.get 18 + local.get 23 + i32.lt_u + local.get 12 + local.get 18 + i32.lt_u + i32.or + local.set 18 + local.get 10 + i32.const 8 + i32.add + local.set 10 + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 13 + local.get 19 + i32.const 2 + i32.add + local.tee 19 + i32.ne + br_if 0 (;@28;) + end + end + block ;; label = @27 + local.get 45 + i32.eqz + br_if 0 (;@27;) + local.get 4 + i32.const 1176 + i32.add + local.get 19 + i32.const 2 + i32.shl + local.tee 1 + i32.add + i32.const 4 + i32.add + local.tee 10 + local.get 10 + i32.load + local.tee 10 + local.get 4 + i32.const 336 + i32.add + local.get 1 + i32.add + i32.const 4 + i32.add + i32.load + i32.add + local.tee 1 + local.get 18 + i32.add + local.tee 12 + i32.store + local.get 1 + local.get 10 + i32.lt_u + local.get 12 + local.get 1 + i32.lt_u + i32.or + local.set 18 + end + local.get 18 + i32.const 1 + i32.and + i32.eqz + br_if 0 (;@26;) + local.get 15 + i32.const 39 + i32.gt_u + br_if 14 (;@12;) + local.get 4 + i32.const 1176 + i32.add + local.get 15 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + i32.const 1 + i32.store + local.get 15 + i32.const 1 + i32.add + local.set 15 + end + local.get 4 + local.get 15 + i32.store offset=1176 + local.get 39 + local.get 15 + local.get 39 + local.get 15 + i32.gt_u + select + local.tee 1 + i32.const 41 + i32.ge_u + br_if 14 (;@11;) + local.get 1 + i32.const 2 + i32.shl + local.set 1 + block ;; label = @26 + loop ;; label = @27 + block ;; label = @28 + local.get 1 + br_if 0 (;@28;) + i32.const -1 + i32.const 0 + local.get 1 + select + local.set 10 + br 2 (;@26;) + end + local.get 4 + i32.const 1176 + i32.add + local.get 1 + i32.add + local.set 10 + local.get 4 + i32.const 504 + i32.add + local.get 1 + i32.add + local.set 12 + local.get 1 + i32.const -4 + i32.add + local.set 1 + i32.const -1 + local.get 12 + i32.load + local.tee 12 + local.get 10 + i32.load + local.tee 10 + i32.ne + local.get 12 + local.get 10 + i32.lt_u + select + local.tee 10 + i32.eqz + br_if 0 (;@27;) + end + end + local.get 16 + local.get 9 + i32.lt_s + br_if 2 (;@23;) + local.get 10 + local.get 9 + i32.lt_s + br_if 2 (;@23;) + local.get 20 + i32.const 41 + i32.ge_u + br_if 16 (;@9;) + block ;; label = @26 + block ;; label = @27 + local.get 20 + br_if 0 (;@27;) + i32.const 0 + local.set 20 + br 1 (;@26;) + end + local.get 20 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 12 + i32.const 1 + i32.add + local.tee 18 + i32.const 3 + i32.and + local.set 10 + i64.const 0 + local.set 5 + local.get 26 + local.set 1 + block ;; label = @27 + local.get 12 + i32.const 3 + i32.lt_u + br_if 0 (;@27;) + local.get 18 + i32.const 2147483644 + i32.and + local.set 12 + i64.const 0 + local.set 5 + local.get 26 + local.set 1 + loop ;; label = @28 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 8 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 12 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 1 + i32.const 16 + i32.add + local.set 1 + local.get 12 + i32.const -4 + i32.add + local.tee 12 + br_if 0 (;@28;) + end + end + block ;; label = @27 + local.get 10 + i32.eqz + br_if 0 (;@27;) + loop ;; label = @28 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 10 + i32.const -1 + i32.add + local.tee 10 + br_if 0 (;@28;) + end + end + local.get 5 + i32.wrap_i64 + local.tee 1 + i32.eqz + br_if 0 (;@26;) + local.get 20 + i32.const 39 + i32.gt_u + br_if 18 (;@8;) + local.get 4 + local.get 20 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 20 + i32.const 1 + i32.add + local.set 20 + end + local.get 4 + local.get 20 + i32.store + local.get 17 + i32.const 41 + i32.ge_u + br_if 18 (;@7;) + block ;; label = @26 + block ;; label = @27 + local.get 17 + br_if 0 (;@27;) + i32.const 0 + local.set 17 + br 1 (;@26;) + end + local.get 17 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 12 + i32.const 1 + i32.add + local.tee 18 + i32.const 3 + i32.and + local.set 10 + i64.const 0 + local.set 5 + local.get 25 + local.set 1 + block ;; label = @27 + local.get 12 + i32.const 3 + i32.lt_u + br_if 0 (;@27;) + local.get 18 + i32.const 2147483644 + i32.and + local.set 12 + i64.const 0 + local.set 5 + local.get 25 + local.set 1 + loop ;; label = @28 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 8 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 12 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 1 + i32.const 16 + i32.add + local.set 1 + local.get 12 + i32.const -4 + i32.add + local.tee 12 + br_if 0 (;@28;) + end + end + block ;; label = @27 + local.get 10 + i32.eqz + br_if 0 (;@27;) + loop ;; label = @28 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 10 + i32.const -1 + i32.add + local.tee 10 + br_if 0 (;@28;) + end + end + local.get 5 + i32.wrap_i64 + local.tee 1 + i32.eqz + br_if 0 (;@26;) + local.get 17 + i32.const 39 + i32.gt_u + br_if 20 (;@6;) + local.get 4 + i32.const 168 + i32.add + local.get 17 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 17 + i32.const 1 + i32.add + local.set 17 + end + local.get 4 + local.get 17 + i32.store offset=168 + local.get 44 + i32.const 41 + i32.ge_u + br_if 20 (;@5;) + block ;; label = @26 + block ;; label = @27 + local.get 44 + br_if 0 (;@27;) + i32.const 0 + local.set 44 + br 1 (;@26;) + end + local.get 44 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 12 + i32.const 1 + i32.add + local.tee 18 + i32.const 3 + i32.and + local.set 10 + i64.const 0 + local.set 5 + local.get 24 + local.set 1 + block ;; label = @27 + local.get 12 + i32.const 3 + i32.lt_u + br_if 0 (;@27;) + local.get 18 + i32.const 2147483644 + i32.and + local.set 12 + i64.const 0 + local.set 5 + local.get 24 + local.set 1 + loop ;; label = @28 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 8 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 12 + i32.add + local.tee 18 + local.get 18 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i64.store32 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 1 + i32.const 16 + i32.add + local.set 1 + local.get 12 + i32.const -4 + i32.add + local.tee 12 + br_if 0 (;@28;) + end + end + block ;; label = @27 + local.get 10 + i32.eqz + br_if 0 (;@27;) + loop ;; label = @28 + local.get 1 + local.get 1 + i64.load32_u + i64.const 10 + i64.mul + local.get 5 + i64.add + local.tee 5 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i64.const 32 + i64.shr_u + local.set 5 + local.get 10 + i32.const -1 + i32.add + local.tee 10 + br_if 0 (;@28;) + end + end + local.get 5 + i32.wrap_i64 + local.tee 1 + i32.eqz + br_if 0 (;@26;) + local.get 44 + i32.const 39 + i32.gt_u + br_if 22 (;@4;) + local.get 4 + i32.const 336 + i32.add + local.get 44 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 44 + i32.const 1 + i32.add + local.set 44 + end + local.get 4 + local.get 44 + i32.store offset=336 + local.get 20 + local.get 30 + local.get 20 + local.get 30 + i32.gt_u + select + local.tee 16 + i32.const 40 + i32.le_u + br_if 0 (;@25;) + end + end + local.get 16 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 10 + local.get 9 + i32.ge_s + br_if 21 (;@1;) + block ;; label = @23 + local.get 16 + local.get 9 + i32.ge_s + br_if 0 (;@23;) + local.get 4 + i32.const 1 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + drop + local.get 4 + i32.load + local.tee 1 + local.get 4 + i32.load offset=504 + local.tee 10 + local.get 1 + local.get 10 + i32.gt_u + select + local.tee 1 + i32.const 41 + i32.ge_u + br_if 20 (;@3;) + local.get 1 + i32.const 2 + i32.shl + local.set 1 + block ;; label = @24 + loop ;; label = @25 + block ;; label = @26 + local.get 1 + br_if 0 (;@26;) + i32.const -1 + i32.const 0 + local.get 1 + select + local.set 10 + br 2 (;@24;) + end + local.get 4 + i32.const 504 + i32.add + local.get 1 + i32.add + local.set 10 + local.get 4 + local.get 1 + i32.add + local.set 12 + local.get 1 + i32.const -4 + i32.add + local.set 1 + i32.const -1 + local.get 12 + i32.load + local.tee 12 + local.get 10 + i32.load + local.tee 10 + i32.ne + local.get 12 + local.get 10 + i32.lt_u + select + local.tee 10 + i32.eqz + br_if 0 (;@25;) + end + end + local.get 10 + i32.const 2 + i32.ge_u + br_if 22 (;@1;) + end + local.get 43 + local.get 3 + i32.ge_u + br_if 20 (;@2;) + local.get 2 + local.get 42 + i32.add + local.set 19 + i32.const -1 + local.set 10 + local.get 43 + local.set 1 + block ;; label = @23 + loop ;; label = @24 + local.get 1 + i32.const -1 + i32.eq + br_if 1 (;@23;) + local.get 10 + i32.const 1 + i32.add + local.set 10 + local.get 2 + local.get 1 + i32.add + local.set 12 + local.get 1 + i32.const -1 + i32.add + local.tee 18 + local.set 1 + local.get 12 + i32.load8_u + i32.const 57 + i32.eq + br_if 0 (;@24;) + end + local.get 2 + local.get 18 + i32.add + local.tee 12 + i32.const 1 + i32.add + local.tee 1 + local.get 1 + i32.load8_u + i32.const 1 + i32.add + i32.store8 + local.get 43 + local.get 18 + i32.const 2 + i32.add + i32.lt_u + br_if 22 (;@1;) + local.get 12 + i32.const 2 + i32.add + i32.const 48 + local.get 10 + call $memset + drop + br 22 (;@1;) + end + local.get 2 + i32.const 49 + i32.store8 + block ;; label = @23 + local.get 43 + i32.eqz + br_if 0 (;@23;) + local.get 2 + i32.const 1 + i32.add + i32.const 48 + local.get 43 + call $memset + drop + end + block ;; label = @23 + local.get 42 + local.get 3 + i32.ge_u + br_if 0 (;@23;) + local.get 19 + i32.const 48 + i32.store8 + local.get 11 + i32.const 1 + i32.add + local.set 11 + local.get 43 + i32.const 2 + i32.add + local.set 42 + br 22 (;@1;) + end + local.get 42 + local.get 3 + i32.const 1053272 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 15 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + i32.const 1058468 + i32.const 26 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 16 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1058468 + i32.const 26 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 13 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1058468 + i32.const 26 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 20 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1058468 + i32.const 26 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 1 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 15 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 15 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 1 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 3 + local.get 3 + i32.const 1053256 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 20 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 20 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 17 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 17 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 44 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 44 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 1 + i32.const 40 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 42 + local.get 3 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @1 + local.get 42 + local.get 3 + i32.gt_u + br_if 0 (;@1;) + local.get 0 + local.get 11 + i32.store16 offset=8 + local.get 0 + local.get 42 + i32.store offset=4 + local.get 0 + local.get 2 + i32.store + local.get 4 + i32.const 1344 + i32.add + global.set $__stack_pointer + return + end + local.get 42 + local.get 3 + local.get 4 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable) + (func $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 1279 + i32.gt_u + br_if 0 (;@2;) + local.get 1 + i32.const 5 + i32.shr_u + local.set 2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 0 + i32.load + local.tee 3 + i32.eqz + br_if 0 (;@6;) + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + local.set 4 + local.get 0 + local.get 3 + local.get 2 + i32.add + i32.const 2 + i32.shl + i32.add + local.set 5 + local.get 3 + i32.const -1 + i32.add + local.tee 3 + i32.const 39 + i32.gt_u + local.set 6 + loop ;; label = @7 + local.get 6 + br_if 4 (;@3;) + local.get 2 + local.get 3 + i32.add + local.tee 7 + i32.const 40 + i32.ge_u + br_if 2 (;@5;) + local.get 5 + local.get 4 + i32.load + i32.store + local.get 5 + i32.const -4 + i32.add + local.set 5 + local.get 4 + i32.const -4 + i32.add + local.set 4 + local.get 3 + i32.const -1 + i32.add + local.tee 3 + i32.const -1 + i32.ne + br_if 0 (;@7;) + end + end + local.get 1 + i32.const 32 + i32.lt_u + br_if 4 (;@1;) + local.get 0 + i32.const 0 + i32.store offset=4 + local.get 1 + i32.const 64 + i32.ge_u + br_if 1 (;@4;) + br 4 (;@1;) + end + local.get 7 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 0 + i32.const 8 + i32.add + i32.const 0 + i32.store + local.get 2 + i32.const 1 + local.get 2 + i32.const 1 + i32.gt_u + select + local.tee 3 + i32.const 2 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 12 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 3 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 16 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 4 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 20 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 5 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 24 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 6 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 28 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 7 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 32 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 8 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 36 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 9 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 40 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 10 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 44 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 11 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 48 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 12 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 52 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 13 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 56 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 14 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 60 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 15 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 64 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 16 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 68 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 17 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 72 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 18 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 76 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 19 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 80 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 20 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 84 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 21 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 88 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 22 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 92 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 23 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 96 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 24 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 100 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 25 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 104 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 26 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 108 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 27 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 112 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 28 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 116 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 29 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 120 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 30 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 124 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 31 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 128 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 32 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 132 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 33 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 136 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 34 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 140 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 35 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 144 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 36 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 148 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 37 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 152 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 38 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 156 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 39 + i32.eq + br_if 2 (;@1;) + local.get 0 + i32.const 160 + i32.add + i32.const 0 + i32.store + local.get 3 + i32.const 40 + i32.eq + br_if 2 (;@1;) + i32.const 40 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 3 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + i32.const 1058494 + i32.const 29 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 0 + i32.load + local.get 2 + i32.add + local.set 4 + block ;; label = @1 + local.get 1 + i32.const 31 + i32.and + local.tee 6 + br_if 0 (;@1;) + local.get 0 + local.get 4 + i32.store + local.get 0 + return + end + block ;; label = @1 + block ;; label = @2 + local.get 4 + i32.const -1 + i32.add + local.tee 3 + i32.const 39 + i32.gt_u + br_if 0 (;@2;) + local.get 4 + local.set 8 + local.get 0 + local.get 3 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + i32.load + local.tee 5 + i32.const 0 + local.get 1 + i32.sub + local.tee 1 + i32.shr_u + local.tee 3 + i32.eqz + br_if 1 (;@1;) + block ;; label = @3 + local.get 4 + i32.const 39 + i32.gt_u + br_if 0 (;@3;) + local.get 0 + local.get 4 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 3 + i32.store + local.get 4 + i32.const 1 + i32.add + local.set 8 + br 2 (;@1;) + end + local.get 4 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 3 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.const 1 + i32.add + local.tee 7 + local.get 4 + i32.ge_u + br_if 0 (;@2;) + local.get 1 + i32.const 31 + i32.and + local.set 1 + local.get 4 + i32.const 2 + i32.shl + local.get 0 + i32.add + i32.const -4 + i32.add + local.set 3 + loop ;; label = @3 + local.get 4 + i32.const -2 + i32.add + i32.const 40 + i32.ge_u + br_if 2 (;@1;) + local.get 3 + i32.const 4 + i32.add + local.get 5 + local.get 6 + i32.shl + local.get 3 + i32.load + local.tee 5 + local.get 1 + i32.shr_u + i32.or + i32.store + local.get 3 + i32.const -4 + i32.add + local.set 3 + local.get 7 + local.get 4 + i32.const -1 + i32.add + local.tee 4 + i32.lt_u + br_if 0 (;@3;) + end + end + local.get 0 + local.get 2 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.tee 3 + local.get 3 + i32.load + local.get 6 + i32.shl + i32.store + local.get 0 + local.get 8 + i32.store + local.get 0 + return + end + i32.const -1 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable) + (func $_ZN4core3num7flt2dec8strategy6dragon12format_exact17h7c7b3a844a169efcE (type 11) (param i32 i32 i32 i32 i32) + (local i32 i64 i64 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 848 + i32.sub + local.tee 5 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + block ;; label = @16 + block ;; label = @17 + block ;; label = @18 + block ;; label = @19 + block ;; label = @20 + block ;; label = @21 + block ;; label = @22 + block ;; label = @23 + block ;; label = @24 + block ;; label = @25 + block ;; label = @26 + block ;; label = @27 + local.get 1 + i64.load + local.tee 6 + i64.eqz + br_if 0 (;@27;) + local.get 1 + i64.load offset=8 + local.tee 7 + i64.eqz + br_if 1 (;@26;) + local.get 1 + i64.load offset=16 + local.tee 8 + i64.eqz + br_if 2 (;@25;) + local.get 6 + local.get 8 + i64.add + local.get 6 + i64.lt_u + br_if 3 (;@24;) + local.get 6 + local.get 7 + i64.sub + local.get 6 + i64.gt_u + br_if 4 (;@23;) + local.get 1 + i32.load16_u offset=24 + local.set 1 + local.get 5 + local.get 6 + i64.store32 offset=12 + local.get 5 + i32.const 8 + i32.add + i32.const 8 + i32.add + i32.const 0 + local.get 6 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.get 6 + i64.const 4294967296 + i64.lt_u + local.tee 9 + select + i32.store + local.get 5 + i32.const 1 + i32.const 2 + local.get 9 + select + i32.store offset=8 + local.get 5 + i32.const 20 + i32.add + i32.const 0 + i32.const 152 + call $memset + drop + local.get 5 + i32.const 176 + i32.add + i32.const 8 + i32.add + i32.const 0 + i32.const 156 + call $memset + drop + local.get 5 + i64.const 4294967297 + i64.store offset=176 + local.get 1 + i64.extend_i32_u + i64.const 48 + i64.shl + i64.const 48 + i64.shr_s + local.get 6 + i64.const -1 + i64.add + i64.clz + i64.sub + i64.const 1292913986 + i64.mul + i64.const 82746495104 + i64.add + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.tee 9 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.set 10 + block ;; label = @28 + block ;; label = @29 + local.get 1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee 11 + i32.const 0 + i32.lt_s + br_if 0 (;@29;) + local.get 5 + i32.const 8 + i32.add + local.get 1 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + drop + br 1 (;@28;) + end + local.get 5 + i32.const 176 + i32.add + i32.const 0 + local.get 11 + i32.sub + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + drop + end + block ;; label = @28 + block ;; label = @29 + local.get 10 + i32.const -1 + i32.gt_s + br_if 0 (;@29;) + local.get 5 + i32.const 8 + i32.add + i32.const 0 + local.get 10 + i32.sub + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hbd134ab181231231E + drop + br 1 (;@28;) + end + local.get 5 + i32.const 176 + i32.add + local.get 9 + i32.const 65535 + i32.and + call $_ZN4core3num7flt2dec8strategy6dragon9mul_pow1017hbd134ab181231231E + drop + end + local.get 5 + i32.load offset=176 + local.set 12 + local.get 5 + i32.const 680 + i32.add + i32.const 4 + i32.or + local.get 5 + i32.const 176 + i32.add + i32.const 4 + i32.or + local.tee 13 + i32.const 160 + call $memcpy + drop + local.get 5 + local.get 12 + i32.store offset=680 + local.get 3 + local.set 14 + block ;; label = @28 + local.get 3 + i32.const 10 + i32.lt_u + br_if 0 (;@28;) + block ;; label = @29 + local.get 12 + i32.const 40 + i32.le_u + br_if 0 (;@29;) + local.get 12 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 5 + i32.const 680 + i32.add + i32.const -4 + i32.add + local.set 15 + local.get 3 + local.set 14 + local.get 12 + local.set 1 + loop ;; label = @29 + block ;; label = @30 + local.get 1 + i32.eqz + br_if 0 (;@30;) + local.get 1 + i32.const 2 + i32.shl + local.set 11 + local.get 1 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 1 + i32.const 1 + i32.add + local.tee 9 + i32.const 1 + i32.and + local.set 16 + block ;; label = @31 + block ;; label = @32 + local.get 1 + br_if 0 (;@32;) + local.get 5 + i32.const 680 + i32.add + local.get 11 + i32.add + i32.const 4 + i32.add + local.set 1 + i64.const 0 + local.set 6 + br 1 (;@31;) + end + local.get 9 + i32.const 2147483646 + i32.and + local.set 9 + local.get 15 + local.get 11 + i32.add + local.set 1 + i64.const 0 + local.set 6 + loop ;; label = @32 + local.get 1 + i32.const 4 + i32.add + local.tee 11 + local.get 6 + i64.const 32 + i64.shl + local.get 11 + i64.load32_u + i64.or + local.tee 6 + i64.const 1000000000 + i64.div_u + local.tee 8 + i64.store32 + local.get 1 + local.get 6 + local.get 8 + i64.const 1000000000 + i64.mul + i64.sub + i64.const 32 + i64.shl + local.get 1 + i64.load32_u + i64.or + local.tee 6 + i64.const 1000000000 + i64.div_u + local.tee 8 + i64.store32 + local.get 6 + local.get 8 + i64.const 1000000000 + i64.mul + i64.sub + local.set 6 + local.get 1 + i32.const -8 + i32.add + local.set 1 + local.get 9 + i32.const -2 + i32.add + local.tee 9 + br_if 0 (;@32;) + end + local.get 1 + i32.const 8 + i32.add + local.set 1 + end + local.get 16 + i32.eqz + br_if 0 (;@30;) + local.get 1 + i32.const -4 + i32.add + local.tee 1 + local.get 6 + i64.const 32 + i64.shl + local.get 1 + i64.load32_u + i64.or + i64.const 1000000000 + i64.div_u + i64.store32 + end + local.get 14 + i32.const -9 + i32.add + local.tee 14 + i32.const 9 + i32.le_u + br_if 1 (;@28;) + local.get 5 + i32.load offset=680 + local.tee 1 + i32.const 41 + i32.lt_u + br_if 0 (;@29;) + end + local.get 1 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @28 + block ;; label = @29 + block ;; label = @30 + block ;; label = @31 + local.get 14 + i32.const 2 + i32.shl + i32.const 1052608 + i32.add + i32.load + local.tee 9 + i32.eqz + br_if 0 (;@31;) + local.get 5 + i32.load offset=680 + local.tee 1 + i32.const 41 + i32.ge_u + br_if 9 (;@22;) + block ;; label = @32 + local.get 1 + br_if 0 (;@32;) + i32.const 0 + local.set 1 + br 4 (;@28;) + end + local.get 1 + i32.const 2 + i32.shl + local.set 11 + local.get 1 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 1 + i32.const 1 + i32.add + local.tee 16 + i32.const 1 + i32.and + local.set 14 + local.get 9 + i64.extend_i32_u + local.set 6 + local.get 1 + br_if 1 (;@30;) + local.get 5 + i32.const 680 + i32.add + local.get 11 + i32.add + i32.const 4 + i32.add + local.set 1 + i64.const 0 + local.set 8 + br 2 (;@29;) + end + i32.const 1058523 + i32.const 27 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 16 + i32.const 2147483646 + i32.and + local.set 9 + local.get 11 + local.get 5 + i32.const 680 + i32.add + i32.add + i32.const -4 + i32.add + local.set 1 + i64.const 0 + local.set 8 + loop ;; label = @30 + local.get 1 + i32.const 4 + i32.add + local.tee 11 + local.get 8 + i64.const 32 + i64.shl + local.get 11 + i64.load32_u + i64.or + local.tee 8 + local.get 6 + i64.div_u + local.tee 7 + i64.store32 + local.get 1 + local.get 8 + local.get 7 + local.get 6 + i64.mul + i64.sub + i64.const 32 + i64.shl + local.get 1 + i64.load32_u + i64.or + local.tee 8 + local.get 6 + i64.div_u + local.tee 7 + i64.store32 + local.get 8 + local.get 7 + local.get 6 + i64.mul + i64.sub + local.set 8 + local.get 1 + i32.const -8 + i32.add + local.set 1 + local.get 9 + i32.const -2 + i32.add + local.tee 9 + br_if 0 (;@30;) + end + local.get 1 + i32.const 8 + i32.add + local.set 1 + end + block ;; label = @29 + local.get 14 + i32.eqz + br_if 0 (;@29;) + local.get 1 + i32.const -4 + i32.add + local.tee 1 + local.get 8 + i64.const 32 + i64.shl + local.get 1 + i64.load32_u + i64.or + local.get 6 + i64.div_u + i64.store32 + end + local.get 5 + i32.load offset=680 + local.set 1 + end + block ;; label = @28 + block ;; label = @29 + block ;; label = @30 + block ;; label = @31 + local.get 1 + local.get 5 + i32.load offset=8 + local.tee 17 + local.get 1 + local.get 17 + i32.gt_u + select + local.tee 18 + i32.const 40 + i32.gt_u + br_if 0 (;@31;) + block ;; label = @32 + local.get 18 + br_if 0 (;@32;) + i32.const 0 + local.set 18 + br 4 (;@28;) + end + local.get 18 + i32.const 1 + i32.and + local.set 19 + local.get 18 + i32.const 1 + i32.ne + br_if 1 (;@30;) + i32.const 0 + local.set 14 + i32.const 0 + local.set 16 + br 2 (;@29;) + end + local.get 18 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 18 + i32.const -2 + i32.and + local.set 20 + local.get 5 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.set 9 + local.get 5 + i32.const 680 + i32.add + i32.const 8 + i32.add + local.set 1 + i32.const 0 + local.set 14 + i32.const 0 + local.set 16 + loop ;; label = @30 + local.get 1 + i32.const -4 + i32.add + local.tee 11 + local.get 11 + i32.load + local.tee 15 + local.get 9 + i32.const -4 + i32.add + i32.load + i32.add + local.tee 11 + local.get 14 + i32.const 1 + i32.and + i32.add + local.tee 21 + i32.store + local.get 1 + local.get 1 + i32.load + local.tee 22 + local.get 9 + i32.load + i32.add + local.tee 14 + local.get 11 + local.get 15 + i32.lt_u + local.get 21 + local.get 11 + i32.lt_u + i32.or + i32.add + local.tee 11 + i32.store + local.get 14 + local.get 22 + i32.lt_u + local.get 11 + local.get 14 + i32.lt_u + i32.or + local.set 14 + local.get 9 + i32.const 8 + i32.add + local.set 9 + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 20 + local.get 16 + i32.const 2 + i32.add + local.tee 16 + i32.ne + br_if 0 (;@30;) + end + end + block ;; label = @29 + local.get 19 + i32.eqz + br_if 0 (;@29;) + local.get 5 + i32.const 680 + i32.add + local.get 16 + i32.const 2 + i32.shl + local.tee 1 + i32.add + i32.const 4 + i32.add + local.tee 9 + local.get 9 + i32.load + local.tee 9 + local.get 5 + i32.const 8 + i32.add + local.get 1 + i32.add + i32.const 4 + i32.add + i32.load + i32.add + local.tee 1 + local.get 14 + i32.add + local.tee 11 + i32.store + local.get 1 + local.get 9 + i32.lt_u + local.get 11 + local.get 1 + i32.lt_u + i32.or + local.set 14 + end + local.get 14 + i32.const 1 + i32.and + i32.eqz + br_if 0 (;@28;) + local.get 18 + i32.const 39 + i32.gt_u + br_if 7 (;@21;) + local.get 5 + i32.const 680 + i32.add + local.get 18 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + i32.const 1 + i32.store + local.get 18 + i32.const 1 + i32.add + local.set 18 + end + local.get 5 + local.get 18 + i32.store offset=680 + local.get 18 + local.get 12 + local.get 18 + local.get 12 + i32.gt_u + select + local.tee 9 + i32.const 41 + i32.ge_u + br_if 7 (;@20;) + local.get 5 + i32.const 176 + i32.add + i32.const 4 + i32.or + local.set 1 + local.get 5 + i32.const 8 + i32.add + i32.const 4 + i32.or + local.set 19 + local.get 9 + i32.const 2 + i32.shl + local.set 9 + block ;; label = @28 + loop ;; label = @29 + block ;; label = @30 + local.get 9 + br_if 0 (;@30;) + i32.const -1 + i32.const 0 + local.get 9 + select + local.set 11 + br 2 (;@28;) + end + local.get 5 + i32.const 176 + i32.add + local.get 9 + i32.add + local.set 11 + local.get 5 + i32.const 680 + i32.add + local.get 9 + i32.add + local.set 14 + local.get 9 + i32.const -4 + i32.add + local.set 9 + i32.const -1 + local.get 14 + i32.load + local.tee 14 + local.get 11 + i32.load + local.tee 11 + i32.ne + local.get 14 + local.get 11 + i32.lt_u + select + local.tee 11 + i32.eqz + br_if 0 (;@29;) + end + end + block ;; label = @28 + local.get 11 + i32.const 1 + i32.gt_u + br_if 0 (;@28;) + local.get 10 + i32.const 1 + i32.add + local.set 10 + br 12 (;@16;) + end + local.get 17 + i32.const 41 + i32.ge_u + br_if 8 (;@19;) + block ;; label = @28 + local.get 17 + br_if 0 (;@28;) + i32.const 0 + local.set 17 + br 11 (;@17;) + end + local.get 17 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 9 + i32.const 1 + i32.add + local.tee 14 + i32.const 3 + i32.and + local.set 11 + block ;; label = @28 + local.get 9 + i32.const 3 + i32.ge_u + br_if 0 (;@28;) + i64.const 0 + local.set 6 + local.get 19 + local.set 9 + br 10 (;@18;) + end + local.get 14 + i32.const 2147483644 + i32.and + local.set 14 + i64.const 0 + local.set 6 + local.get 19 + local.set 9 + loop ;; label = @28 + local.get 9 + local.get 9 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.add + local.tee 6 + i64.store32 + local.get 9 + i32.const 4 + i32.add + local.tee 16 + local.get 16 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.const 32 + i64.shr_u + i64.add + local.tee 6 + i64.store32 + local.get 9 + i32.const 8 + i32.add + local.tee 16 + local.get 16 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.const 32 + i64.shr_u + i64.add + local.tee 6 + i64.store32 + local.get 9 + i32.const 12 + i32.add + local.tee 16 + local.get 16 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.const 32 + i64.shr_u + i64.add + local.tee 6 + i64.store32 + local.get 6 + i64.const 32 + i64.shr_u + local.set 6 + local.get 9 + i32.const 16 + i32.add + local.set 9 + local.get 14 + i32.const -4 + i32.add + local.tee 14 + br_if 0 (;@28;) + br 10 (;@18;) + end + end + i32.const 1052911 + i32.const 28 + i32.const 1053288 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1052956 + i32.const 29 + i32.const 1053304 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053004 + i32.const 28 + i32.const 1053320 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053048 + i32.const 54 + i32.const 1053336 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053120 + i32.const 55 + i32.const 1053352 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 1 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 18 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 9 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 17 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @18 + local.get 11 + i32.eqz + br_if 0 (;@18;) + loop ;; label = @19 + local.get 9 + local.get 9 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.add + local.tee 6 + i64.store32 + local.get 9 + i32.const 4 + i32.add + local.set 9 + local.get 6 + i64.const 32 + i64.shr_u + local.set 6 + local.get 11 + i32.const -1 + i32.add + local.tee 11 + br_if 0 (;@19;) + end + end + local.get 6 + i32.wrap_i64 + local.tee 9 + i32.eqz + br_if 0 (;@17;) + local.get 17 + i32.const 39 + i32.gt_u + br_if 2 (;@15;) + local.get 5 + i32.const 8 + i32.add + local.get 17 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 9 + i32.store + local.get 17 + i32.const 1 + i32.add + local.set 17 + end + local.get 5 + local.get 17 + i32.store offset=8 + end + i32.const 1 + local.set 15 + block ;; label = @16 + block ;; label = @17 + local.get 10 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee 9 + local.get 4 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee 11 + i32.lt_s + br_if 0 (;@17;) + local.get 10 + local.get 4 + i32.sub + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.get 3 + local.get 9 + local.get 11 + i32.sub + local.get 3 + i32.lt_u + select + local.tee 14 + br_if 1 (;@16;) + end + i32.const 0 + local.set 14 + br 14 (;@2;) + end + local.get 5 + i32.const 344 + i32.add + i32.const 4 + i32.or + local.get 13 + i32.const 160 + call $memcpy + drop + local.get 5 + local.get 12 + i32.store offset=344 + local.get 5 + i32.const 344 + i32.add + i32.const 1 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + local.set 23 + local.get 5 + i32.load offset=176 + local.set 9 + local.get 5 + i32.const 512 + i32.add + i32.const 4 + i32.or + local.get 13 + i32.const 160 + call $memcpy + drop + local.get 5 + local.get 9 + i32.store offset=512 + local.get 5 + i32.const 512 + i32.add + i32.const 2 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + local.set 24 + local.get 5 + i32.load offset=176 + local.set 9 + local.get 5 + i32.const 680 + i32.add + i32.const 4 + i32.or + local.get 13 + i32.const 160 + call $memcpy + drop + local.get 5 + local.get 9 + i32.store offset=680 + local.get 5 + i32.const 176 + i32.add + i32.const 8 + i32.add + local.set 25 + local.get 5 + i32.const 344 + i32.add + i32.const 8 + i32.add + local.set 26 + local.get 5 + i32.const 512 + i32.add + i32.const 8 + i32.add + local.set 27 + local.get 5 + i32.const 680 + i32.add + i32.const 8 + i32.add + local.set 28 + local.get 5 + i32.const 8 + i32.add + i32.const 8 + i32.add + local.set 29 + local.get 5 + i32.const 680 + i32.add + i32.const 3 + call $_ZN4core3num6bignum8Big32x408mul_pow217h1c499bda893bebc9E + local.set 30 + local.get 5 + i32.load offset=8 + local.set 21 + local.get 5 + i32.load offset=176 + local.set 12 + local.get 5 + i32.load offset=344 + local.set 31 + local.get 5 + i32.load offset=512 + local.set 32 + local.get 5 + i32.load offset=680 + local.set 33 + i32.const 0 + local.set 34 + block ;; label = @16 + loop ;; label = @17 + local.get 34 + local.set 13 + local.get 21 + i32.const 41 + i32.ge_u + br_if 3 (;@14;) + local.get 13 + i32.const 1 + i32.add + local.set 34 + local.get 21 + i32.const 2 + i32.shl + local.set 9 + local.get 19 + local.set 11 + block ;; label = @18 + block ;; label = @19 + block ;; label = @20 + loop ;; label = @21 + local.get 9 + i32.eqz + br_if 1 (;@20;) + local.get 9 + i32.const -4 + i32.add + local.set 9 + local.get 11 + i32.load + local.set 16 + local.get 11 + i32.const 4 + i32.add + local.set 11 + local.get 16 + i32.eqz + br_if 0 (;@21;) + end + local.get 21 + local.get 33 + local.get 21 + local.get 33 + i32.gt_u + select + local.tee 35 + i32.const 41 + i32.ge_u + br_if 7 (;@13;) + local.get 35 + i32.const 2 + i32.shl + local.set 9 + block ;; label = @21 + loop ;; label = @22 + block ;; label = @23 + local.get 9 + br_if 0 (;@23;) + i32.const -1 + i32.const 0 + local.get 9 + select + local.set 11 + br 2 (;@21;) + end + local.get 5 + i32.const 680 + i32.add + local.get 9 + i32.add + local.set 11 + local.get 5 + i32.const 8 + i32.add + local.get 9 + i32.add + local.set 16 + local.get 9 + i32.const -4 + i32.add + local.set 9 + i32.const -1 + local.get 16 + i32.load + local.tee 16 + local.get 11 + i32.load + local.tee 11 + i32.ne + local.get 16 + local.get 11 + i32.lt_u + select + local.tee 11 + i32.eqz + br_if 0 (;@22;) + end + end + i32.const 0 + local.set 36 + local.get 11 + i32.const 2 + i32.ge_u + br_if 2 (;@18;) + local.get 35 + i32.eqz + br_if 1 (;@19;) + i32.const 1 + local.set 15 + local.get 35 + i32.const 1 + i32.and + local.set 36 + i32.const 0 + local.set 21 + block ;; label = @21 + local.get 35 + i32.const 1 + i32.eq + br_if 0 (;@21;) + local.get 35 + i32.const -2 + i32.and + local.set 17 + i32.const 0 + local.set 21 + i32.const 1 + local.set 15 + local.get 28 + local.set 11 + local.get 29 + local.set 9 + loop ;; label = @22 + local.get 9 + i32.const -4 + i32.add + local.tee 16 + local.get 16 + i32.load + local.tee 22 + local.get 11 + i32.const -4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 16 + local.get 15 + i32.const 1 + i32.and + i32.add + local.tee 20 + i32.store + local.get 9 + local.get 9 + i32.load + local.tee 18 + local.get 11 + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 15 + local.get 16 + local.get 22 + i32.lt_u + local.get 20 + local.get 16 + i32.lt_u + i32.or + i32.add + local.tee 16 + i32.store + local.get 15 + local.get 18 + i32.lt_u + local.get 16 + local.get 15 + i32.lt_u + i32.or + local.set 15 + local.get 11 + i32.const 8 + i32.add + local.set 11 + local.get 9 + i32.const 8 + i32.add + local.set 9 + local.get 17 + local.get 21 + i32.const 2 + i32.add + local.tee 21 + i32.ne + br_if 0 (;@22;) + end + end + block ;; label = @21 + local.get 36 + i32.eqz + br_if 0 (;@21;) + local.get 5 + i32.const 8 + i32.add + local.get 21 + i32.const 2 + i32.shl + local.tee 9 + i32.add + i32.const 4 + i32.add + local.tee 11 + local.get 11 + i32.load + local.tee 11 + local.get 30 + local.get 9 + i32.add + i32.const 4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 9 + local.get 15 + i32.add + local.tee 16 + i32.store + local.get 9 + local.get 11 + i32.lt_u + local.get 16 + local.get 9 + i32.lt_u + i32.or + local.set 15 + end + local.get 15 + i32.const 1 + i32.and + br_if 1 (;@19;) + i32.const 1058468 + i32.const 26 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 14 + local.get 13 + i32.lt_u + br_if 7 (;@12;) + local.get 14 + local.get 3 + i32.gt_u + br_if 8 (;@11;) + local.get 14 + local.get 13 + i32.eq + br_if 18 (;@1;) + local.get 2 + local.get 13 + i32.add + i32.const 48 + local.get 14 + local.get 13 + i32.sub + call $memset + drop + br 18 (;@1;) + end + local.get 5 + local.get 35 + i32.store offset=8 + i32.const 8 + local.set 36 + local.get 35 + local.set 21 + end + local.get 21 + local.get 32 + local.get 21 + local.get 32 + i32.gt_u + select + local.tee 17 + i32.const 41 + i32.ge_u + br_if 7 (;@10;) + local.get 17 + i32.const 2 + i32.shl + local.set 9 + block ;; label = @18 + loop ;; label = @19 + block ;; label = @20 + local.get 9 + br_if 0 (;@20;) + i32.const -1 + i32.const 0 + local.get 9 + select + local.set 11 + br 2 (;@18;) + end + local.get 5 + i32.const 512 + i32.add + local.get 9 + i32.add + local.set 11 + local.get 5 + i32.const 8 + i32.add + local.get 9 + i32.add + local.set 16 + local.get 9 + i32.const -4 + i32.add + local.set 9 + i32.const -1 + local.get 16 + i32.load + local.tee 16 + local.get 11 + i32.load + local.tee 11 + i32.ne + local.get 16 + local.get 11 + i32.lt_u + select + local.tee 11 + i32.eqz + br_if 0 (;@19;) + end + end + block ;; label = @18 + block ;; label = @19 + local.get 11 + i32.const 1 + i32.le_u + br_if 0 (;@19;) + local.get 21 + local.set 17 + br 1 (;@18;) + end + block ;; label = @19 + local.get 17 + i32.eqz + br_if 0 (;@19;) + i32.const 1 + local.set 15 + local.get 17 + i32.const 1 + i32.and + local.set 37 + i32.const 0 + local.set 21 + block ;; label = @20 + local.get 17 + i32.const 1 + i32.eq + br_if 0 (;@20;) + local.get 17 + i32.const -2 + i32.and + local.set 35 + i32.const 0 + local.set 21 + i32.const 1 + local.set 15 + local.get 27 + local.set 11 + local.get 29 + local.set 9 + loop ;; label = @21 + local.get 9 + i32.const -4 + i32.add + local.tee 16 + local.get 16 + i32.load + local.tee 22 + local.get 11 + i32.const -4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 16 + local.get 15 + i32.const 1 + i32.and + i32.add + local.tee 20 + i32.store + local.get 9 + local.get 9 + i32.load + local.tee 18 + local.get 11 + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 15 + local.get 16 + local.get 22 + i32.lt_u + local.get 20 + local.get 16 + i32.lt_u + i32.or + i32.add + local.tee 16 + i32.store + local.get 15 + local.get 18 + i32.lt_u + local.get 16 + local.get 15 + i32.lt_u + i32.or + local.set 15 + local.get 11 + i32.const 8 + i32.add + local.set 11 + local.get 9 + i32.const 8 + i32.add + local.set 9 + local.get 35 + local.get 21 + i32.const 2 + i32.add + local.tee 21 + i32.ne + br_if 0 (;@21;) + end + end + block ;; label = @20 + local.get 37 + i32.eqz + br_if 0 (;@20;) + local.get 5 + i32.const 8 + i32.add + local.get 21 + i32.const 2 + i32.shl + local.tee 9 + i32.add + i32.const 4 + i32.add + local.tee 11 + local.get 11 + i32.load + local.tee 11 + local.get 24 + local.get 9 + i32.add + i32.const 4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 9 + local.get 15 + i32.add + local.tee 16 + i32.store + local.get 9 + local.get 11 + i32.lt_u + local.get 16 + local.get 9 + i32.lt_u + i32.or + local.set 15 + end + local.get 15 + i32.const 1 + i32.and + i32.eqz + br_if 10 (;@9;) + end + local.get 5 + local.get 17 + i32.store offset=8 + local.get 36 + i32.const 4 + i32.or + local.set 36 + end + local.get 17 + local.get 31 + local.get 17 + local.get 31 + i32.gt_u + select + local.tee 35 + i32.const 41 + i32.ge_u + br_if 9 (;@8;) + local.get 35 + i32.const 2 + i32.shl + local.set 9 + block ;; label = @18 + loop ;; label = @19 + block ;; label = @20 + local.get 9 + br_if 0 (;@20;) + i32.const -1 + i32.const 0 + local.get 9 + select + local.set 11 + br 2 (;@18;) + end + local.get 5 + i32.const 344 + i32.add + local.get 9 + i32.add + local.set 11 + local.get 5 + i32.const 8 + i32.add + local.get 9 + i32.add + local.set 16 + local.get 9 + i32.const -4 + i32.add + local.set 9 + i32.const -1 + local.get 16 + i32.load + local.tee 16 + local.get 11 + i32.load + local.tee 11 + i32.ne + local.get 16 + local.get 11 + i32.lt_u + select + local.tee 11 + i32.eqz + br_if 0 (;@19;) + end + end + block ;; label = @18 + block ;; label = @19 + local.get 11 + i32.const 1 + i32.le_u + br_if 0 (;@19;) + local.get 17 + local.set 35 + br 1 (;@18;) + end + block ;; label = @19 + local.get 35 + i32.eqz + br_if 0 (;@19;) + i32.const 1 + local.set 15 + local.get 35 + i32.const 1 + i32.and + local.set 37 + i32.const 0 + local.set 21 + block ;; label = @20 + local.get 35 + i32.const 1 + i32.eq + br_if 0 (;@20;) + local.get 35 + i32.const -2 + i32.and + local.set 17 + i32.const 0 + local.set 21 + i32.const 1 + local.set 15 + local.get 26 + local.set 11 + local.get 29 + local.set 9 + loop ;; label = @21 + local.get 9 + i32.const -4 + i32.add + local.tee 16 + local.get 16 + i32.load + local.tee 22 + local.get 11 + i32.const -4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 16 + local.get 15 + i32.const 1 + i32.and + i32.add + local.tee 20 + i32.store + local.get 9 + local.get 9 + i32.load + local.tee 18 + local.get 11 + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 15 + local.get 16 + local.get 22 + i32.lt_u + local.get 20 + local.get 16 + i32.lt_u + i32.or + i32.add + local.tee 16 + i32.store + local.get 15 + local.get 18 + i32.lt_u + local.get 16 + local.get 15 + i32.lt_u + i32.or + local.set 15 + local.get 11 + i32.const 8 + i32.add + local.set 11 + local.get 9 + i32.const 8 + i32.add + local.set 9 + local.get 17 + local.get 21 + i32.const 2 + i32.add + local.tee 21 + i32.ne + br_if 0 (;@21;) + end + end + block ;; label = @20 + local.get 37 + i32.eqz + br_if 0 (;@20;) + local.get 5 + i32.const 8 + i32.add + local.get 21 + i32.const 2 + i32.shl + local.tee 9 + i32.add + i32.const 4 + i32.add + local.tee 11 + local.get 11 + i32.load + local.tee 11 + local.get 23 + local.get 9 + i32.add + i32.const 4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 9 + local.get 15 + i32.add + local.tee 16 + i32.store + local.get 9 + local.get 11 + i32.lt_u + local.get 16 + local.get 9 + i32.lt_u + i32.or + local.set 15 + end + local.get 15 + i32.const 1 + i32.and + i32.eqz + br_if 12 (;@7;) + end + local.get 5 + local.get 35 + i32.store offset=8 + local.get 36 + i32.const 2 + i32.add + local.set 36 + end + local.get 35 + local.get 12 + local.get 35 + local.get 12 + i32.gt_u + select + local.tee 21 + i32.const 41 + i32.ge_u + br_if 11 (;@6;) + local.get 21 + i32.const 2 + i32.shl + local.set 9 + block ;; label = @18 + loop ;; label = @19 + block ;; label = @20 + local.get 9 + br_if 0 (;@20;) + i32.const -1 + i32.const 0 + local.get 9 + select + local.set 11 + br 2 (;@18;) + end + local.get 5 + i32.const 176 + i32.add + local.get 9 + i32.add + local.set 11 + local.get 5 + i32.const 8 + i32.add + local.get 9 + i32.add + local.set 16 + local.get 9 + i32.const -4 + i32.add + local.set 9 + i32.const -1 + local.get 16 + i32.load + local.tee 16 + local.get 11 + i32.load + local.tee 11 + i32.ne + local.get 16 + local.get 11 + i32.lt_u + select + local.tee 11 + i32.eqz + br_if 0 (;@19;) + end + end + block ;; label = @18 + block ;; label = @19 + local.get 11 + i32.const 1 + i32.le_u + br_if 0 (;@19;) + local.get 35 + local.set 21 + br 1 (;@18;) + end + block ;; label = @19 + local.get 21 + i32.eqz + br_if 0 (;@19;) + i32.const 1 + local.set 15 + local.get 21 + i32.const 1 + i32.and + local.set 37 + i32.const 0 + local.set 22 + block ;; label = @20 + local.get 21 + i32.const 1 + i32.eq + br_if 0 (;@20;) + local.get 21 + i32.const -2 + i32.and + local.set 35 + i32.const 0 + local.set 22 + i32.const 1 + local.set 15 + local.get 25 + local.set 11 + local.get 29 + local.set 9 + loop ;; label = @21 + local.get 9 + i32.const -4 + i32.add + local.tee 16 + local.get 16 + i32.load + local.tee 20 + local.get 11 + i32.const -4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 16 + local.get 15 + i32.const 1 + i32.and + i32.add + local.tee 18 + i32.store + local.get 9 + local.get 9 + i32.load + local.tee 17 + local.get 11 + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 15 + local.get 16 + local.get 20 + i32.lt_u + local.get 18 + local.get 16 + i32.lt_u + i32.or + i32.add + local.tee 16 + i32.store + local.get 15 + local.get 17 + i32.lt_u + local.get 16 + local.get 15 + i32.lt_u + i32.or + local.set 15 + local.get 11 + i32.const 8 + i32.add + local.set 11 + local.get 9 + i32.const 8 + i32.add + local.set 9 + local.get 35 + local.get 22 + i32.const 2 + i32.add + local.tee 22 + i32.ne + br_if 0 (;@21;) + end + end + block ;; label = @20 + local.get 37 + i32.eqz + br_if 0 (;@20;) + local.get 5 + i32.const 8 + i32.add + local.get 22 + i32.const 2 + i32.shl + local.tee 9 + i32.add + i32.const 4 + i32.add + local.tee 11 + local.get 11 + i32.load + local.tee 11 + local.get 5 + i32.const 176 + i32.add + local.get 9 + i32.add + i32.const 4 + i32.add + i32.load + i32.const -1 + i32.xor + i32.add + local.tee 9 + local.get 15 + i32.add + local.tee 16 + i32.store + local.get 9 + local.get 11 + i32.lt_u + local.get 16 + local.get 9 + i32.lt_u + i32.or + local.set 15 + end + local.get 15 + i32.const 1 + i32.and + i32.eqz + br_if 14 (;@5;) + end + local.get 5 + local.get 21 + i32.store offset=8 + local.get 36 + i32.const 1 + i32.add + local.set 36 + end + local.get 13 + local.get 3 + i32.eq + br_if 1 (;@16;) + local.get 2 + local.get 13 + i32.add + local.get 36 + i32.const 48 + i32.add + i32.store8 + local.get 21 + i32.const 41 + i32.ge_u + br_if 13 (;@4;) + block ;; label = @18 + block ;; label = @19 + local.get 21 + br_if 0 (;@19;) + i32.const 0 + local.set 21 + br 1 (;@18;) + end + local.get 21 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 16 + i32.const 1 + i32.add + local.tee 15 + i32.const 3 + i32.and + local.set 11 + i64.const 0 + local.set 6 + local.get 19 + local.set 9 + block ;; label = @19 + local.get 16 + i32.const 3 + i32.lt_u + br_if 0 (;@19;) + local.get 15 + i32.const 2147483644 + i32.and + local.set 16 + i64.const 0 + local.set 6 + local.get 19 + local.set 9 + loop ;; label = @20 + local.get 9 + local.get 9 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.add + local.tee 6 + i64.store32 + local.get 9 + i32.const 4 + i32.add + local.tee 15 + local.get 15 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.const 32 + i64.shr_u + i64.add + local.tee 6 + i64.store32 + local.get 9 + i32.const 8 + i32.add + local.tee 15 + local.get 15 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.const 32 + i64.shr_u + i64.add + local.tee 6 + i64.store32 + local.get 9 + i32.const 12 + i32.add + local.tee 15 + local.get 15 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.const 32 + i64.shr_u + i64.add + local.tee 6 + i64.store32 + local.get 6 + i64.const 32 + i64.shr_u + local.set 6 + local.get 9 + i32.const 16 + i32.add + local.set 9 + local.get 16 + i32.const -4 + i32.add + local.tee 16 + br_if 0 (;@20;) + end + end + block ;; label = @19 + local.get 11 + i32.eqz + br_if 0 (;@19;) + loop ;; label = @20 + local.get 9 + local.get 9 + i64.load32_u + i64.const 10 + i64.mul + local.get 6 + i64.add + local.tee 6 + i64.store32 + local.get 9 + i32.const 4 + i32.add + local.set 9 + local.get 6 + i64.const 32 + i64.shr_u + local.set 6 + local.get 11 + i32.const -1 + i32.add + local.tee 11 + br_if 0 (;@20;) + end + end + local.get 6 + i32.wrap_i64 + local.tee 9 + i32.eqz + br_if 0 (;@18;) + local.get 21 + i32.const 39 + i32.gt_u + br_if 15 (;@3;) + local.get 5 + i32.const 8 + i32.add + local.get 21 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 9 + i32.store + local.get 21 + i32.const 1 + i32.add + local.set 21 + end + local.get 5 + local.get 21 + i32.store offset=8 + local.get 34 + local.get 14 + i32.ne + br_if 0 (;@17;) + end + i32.const 0 + local.set 15 + br 14 (;@2;) + end + local.get 3 + local.get 3 + i32.const 1053368 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 17 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 21 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 35 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 13 + local.get 14 + local.get 1 + call $_ZN4core5slice5index22slice_index_order_fail17h62857dc8db751d24E + unreachable + end + local.get 14 + local.get 3 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 17 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1058468 + i32.const 26 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 35 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1058468 + i32.const 26 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 21 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + i32.const 1058468 + i32.const 26 + i32.const 1058452 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 21 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 21 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 12 + i32.const 41 + i32.ge_u + br_if 0 (;@9;) + block ;; label = @10 + local.get 12 + br_if 0 (;@10;) + i32.const 0 + local.set 12 + br 3 (;@7;) + end + local.get 12 + i32.const -1 + i32.add + i32.const 1073741823 + i32.and + local.tee 11 + i32.const 1 + i32.add + local.tee 16 + i32.const 3 + i32.and + local.set 9 + block ;; label = @10 + local.get 11 + i32.const 3 + i32.ge_u + br_if 0 (;@10;) + i64.const 0 + local.set 6 + br 2 (;@8;) + end + local.get 16 + i32.const 2147483644 + i32.and + local.set 11 + i64.const 0 + local.set 6 + loop ;; label = @10 + local.get 1 + local.get 1 + i64.load32_u + i64.const 5 + i64.mul + local.get 6 + i64.add + local.tee 6 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.tee 16 + local.get 16 + i64.load32_u + i64.const 5 + i64.mul + local.get 6 + i64.const 32 + i64.shr_u + i64.add + local.tee 6 + i64.store32 + local.get 1 + i32.const 8 + i32.add + local.tee 16 + local.get 16 + i64.load32_u + i64.const 5 + i64.mul + local.get 6 + i64.const 32 + i64.shr_u + i64.add + local.tee 6 + i64.store32 + local.get 1 + i32.const 12 + i32.add + local.tee 16 + local.get 16 + i64.load32_u + i64.const 5 + i64.mul + local.get 6 + i64.const 32 + i64.shr_u + i64.add + local.tee 6 + i64.store32 + local.get 6 + i64.const 32 + i64.shr_u + local.set 6 + local.get 1 + i32.const 16 + i32.add + local.set 1 + local.get 11 + i32.const -4 + i32.add + local.tee 11 + br_if 0 (;@10;) + br 2 (;@8;) + end + end + local.get 12 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @8 + local.get 9 + i32.eqz + br_if 0 (;@8;) + loop ;; label = @9 + local.get 1 + local.get 1 + i64.load32_u + i64.const 5 + i64.mul + local.get 6 + i64.add + local.tee 6 + i64.store32 + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 6 + i64.const 32 + i64.shr_u + local.set 6 + local.get 9 + i32.const -1 + i32.add + local.tee 9 + br_if 0 (;@9;) + end + end + local.get 6 + i32.wrap_i64 + local.tee 1 + i32.eqz + br_if 0 (;@7;) + local.get 12 + i32.const 39 + i32.gt_u + br_if 1 (;@6;) + local.get 5 + i32.const 176 + i32.add + local.get 12 + i32.const 2 + i32.shl + i32.add + i32.const 4 + i32.add + local.get 1 + i32.store + local.get 12 + i32.const 1 + i32.add + local.set 12 + end + local.get 5 + local.get 12 + i32.store offset=176 + local.get 5 + i32.load offset=8 + local.tee 1 + local.get 12 + local.get 1 + local.get 12 + i32.gt_u + select + local.tee 1 + i32.const 41 + i32.ge_u + br_if 1 (;@5;) + local.get 1 + i32.const 2 + i32.shl + local.set 1 + block ;; label = @7 + loop ;; label = @8 + block ;; label = @9 + local.get 1 + br_if 0 (;@9;) + i32.const -1 + i32.const 0 + local.get 1 + select + local.set 9 + br 2 (;@7;) + end + local.get 5 + i32.const 176 + i32.add + local.get 1 + i32.add + local.set 9 + local.get 5 + i32.const 8 + i32.add + local.get 1 + i32.add + local.set 11 + local.get 1 + i32.const -4 + i32.add + local.set 1 + i32.const -1 + local.get 11 + i32.load + local.tee 11 + local.get 9 + i32.load + local.tee 9 + i32.ne + local.get 11 + local.get 9 + i32.lt_u + select + local.tee 9 + i32.eqz + br_if 0 (;@8;) + end + end + block ;; label = @7 + block ;; label = @8 + local.get 9 + i32.const 255 + i32.and + br_table 0 (;@8;) 1 (;@7;) 6 (;@2;) + end + local.get 15 + br_if 0 (;@7;) + local.get 14 + i32.const -1 + i32.add + local.tee 1 + local.get 3 + i32.ge_u + br_if 3 (;@4;) + local.get 2 + local.get 1 + i32.add + i32.load8_u + i32.const 1 + i32.and + i32.eqz + br_if 5 (;@2;) + end + local.get 14 + local.get 3 + i32.gt_u + br_if 3 (;@3;) + local.get 2 + local.get 14 + i32.add + local.set 21 + i32.const 0 + local.set 1 + local.get 2 + local.set 9 + block ;; label = @7 + loop ;; label = @8 + local.get 14 + local.get 1 + i32.eq + br_if 1 (;@7;) + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 9 + local.get 14 + i32.add + local.set 11 + local.get 9 + i32.const -1 + i32.add + local.tee 16 + local.set 9 + local.get 11 + i32.const -1 + i32.add + i32.load8_u + i32.const 57 + i32.eq + br_if 0 (;@8;) + end + local.get 16 + local.get 14 + i32.add + local.tee 9 + local.get 9 + i32.load8_u + i32.const 1 + i32.add + i32.store8 + local.get 14 + local.get 14 + local.get 1 + i32.sub + i32.const 1 + i32.add + i32.le_u + br_if 5 (;@2;) + local.get 9 + i32.const 1 + i32.add + i32.const 48 + local.get 1 + i32.const -1 + i32.add + call $memset + drop + br 5 (;@2;) + end + i32.const 49 + local.set 1 + block ;; label = @7 + local.get 15 + br_if 0 (;@7;) + local.get 2 + i32.const 49 + i32.store8 + i32.const 48 + local.set 1 + local.get 14 + i32.const 1 + i32.eq + br_if 0 (;@7;) + i32.const 48 + local.set 1 + local.get 2 + i32.const 1 + i32.add + i32.const 48 + local.get 14 + i32.const -1 + i32.add + call $memset + drop + end + local.get 10 + i32.const 16 + i32.shl + i32.const 65536 + i32.add + i32.const 16 + i32.shr_s + local.tee 10 + local.get 4 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.le_s + br_if 4 (;@2;) + local.get 14 + local.get 3 + i32.ge_u + br_if 4 (;@2;) + local.get 21 + local.get 1 + i32.store8 + local.get 14 + i32.const 1 + i32.add + local.set 14 + br 4 (;@2;) + end + local.get 12 + i32.const 40 + i32.const 1058452 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 1 + i32.const 40 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 1 + local.get 3 + i32.const 1053384 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 14 + local.get 3 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 14 + local.get 3 + i32.le_u + br_if 0 (;@1;) + local.get 14 + local.get 3 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 0 + local.get 10 + i32.store16 offset=8 + local.get 0 + local.get 14 + i32.store offset=4 + local.get 0 + local.get 2 + i32.store + local.get 5 + i32.const 848 + i32.add + global.set $__stack_pointer) + (func $_ZN4core5slice5index22slice_index_order_fail17h62857dc8db751d24E (type 14) (param i32 i32 i32) + local.get 0 + local.get 1 + call $_ZN4core3ops8function6FnOnce9call_once17h7c417dfb7831499cE + unreachable) + (func $_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt17h64ed5b861a35503dE (type 5) (param i32 i32 i32 i32) + (local i32 i64 i64 i64 i64 i32 i32 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 4 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i64.load + local.tee 5 + i64.eqz + br_if 0 (;@5;) + block ;; label = @6 + local.get 1 + i64.load offset=8 + local.tee 6 + i64.eqz + br_if 0 (;@6;) + block ;; label = @7 + local.get 1 + i64.load offset=16 + local.tee 7 + i64.eqz + br_if 0 (;@7;) + block ;; label = @8 + local.get 5 + local.get 7 + i64.add + local.tee 7 + local.get 5 + i64.lt_u + br_if 0 (;@8;) + block ;; label = @9 + local.get 5 + local.get 6 + i64.sub + local.tee 8 + local.get 5 + i64.gt_u + br_if 0 (;@9;) + block ;; label = @10 + local.get 3 + i32.const 17 + i32.lt_u + br_if 0 (;@10;) + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + local.get 7 + i64.const 2305843009213693951 + i64.gt_u + br_if 0 (;@15;) + local.get 4 + local.get 1 + i32.load16_u offset=24 + local.tee 1 + i32.store16 offset=8 + local.get 4 + local.get 8 + i64.store + local.get 1 + local.get 1 + i32.const -32 + i32.add + local.get 1 + local.get 7 + i64.const 4294967296 + i64.lt_u + local.tee 9 + select + local.tee 10 + i32.const -16 + i32.add + local.get 10 + local.get 7 + i64.const 32 + i64.shl + local.get 7 + local.get 9 + select + local.tee 7 + i64.const 281474976710656 + i64.lt_u + local.tee 9 + select + local.tee 10 + i32.const -8 + i32.add + local.get 10 + local.get 7 + i64.const 16 + i64.shl + local.get 7 + local.get 9 + select + local.tee 7 + i64.const 72057594037927936 + i64.lt_u + local.tee 9 + select + local.tee 10 + i32.const -4 + i32.add + local.get 10 + local.get 7 + i64.const 8 + i64.shl + local.get 7 + local.get 9 + select + local.tee 7 + i64.const 1152921504606846976 + i64.lt_u + local.tee 9 + select + local.tee 10 + i32.const -2 + i32.add + local.get 10 + local.get 7 + i64.const 4 + i64.shl + local.get 7 + local.get 9 + select + local.tee 7 + i64.const 4611686018427387904 + i64.lt_u + local.tee 9 + select + local.get 7 + i64.const 2 + i64.shl + local.get 7 + local.get 9 + select + local.tee 11 + i64.const 63 + i64.shr_s + i32.wrap_i64 + i32.const -1 + i32.xor + i32.add + local.tee 9 + i32.sub + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee 10 + i32.const 0 + i32.lt_s + br_if 4 (;@11;) + local.get 4 + i64.const -1 + local.get 10 + i64.extend_i32_u + local.tee 12 + i64.shr_u + local.tee 7 + local.get 8 + i64.and + i64.store offset=16 + local.get 8 + local.get 7 + i64.gt_u + br_if 3 (;@12;) + local.get 4 + local.get 1 + i32.store16 offset=8 + local.get 4 + local.get 5 + i64.store + local.get 4 + local.get 7 + local.get 5 + i64.and + i64.store offset=16 + local.get 5 + local.get 7 + i64.gt_u + br_if 2 (;@13;) + i32.const -96 + local.get 9 + i32.sub + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 80 + i32.mul + i32.const 86960 + i32.add + i32.const 2126 + i32.div_s + local.tee 1 + i32.const 81 + i32.ge_u + br_if 1 (;@14;) + local.get 1 + i32.const 4 + i32.shl + local.tee 1 + i32.const 1053400 + i32.add + i64.load + local.tee 7 + i64.const 4294967295 + i64.and + local.tee 6 + local.get 5 + local.get 12 + i64.const 63 + i64.and + local.tee 12 + i64.shl + local.tee 5 + i64.const 32 + i64.shr_u + local.tee 13 + i64.mul + local.tee 14 + i64.const 32 + i64.shr_u + local.tee 15 + local.get 7 + i64.const 32 + i64.shr_u + local.tee 16 + local.get 13 + i64.mul + i64.add + local.get 16 + local.get 5 + i64.const 4294967295 + i64.and + local.tee 5 + i64.mul + local.tee 7 + i64.const 32 + i64.shr_u + local.tee 17 + i64.add + local.set 18 + local.get 14 + i64.const 4294967295 + i64.and + local.get 6 + local.get 5 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.get 7 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483648 + i64.add + i64.const 32 + i64.shr_u + local.set 19 + i64.const 1 + i32.const 0 + local.get 9 + local.get 1 + i32.const 1053408 + i32.add + i32.load16_u + i32.add + i32.sub + i32.const 63 + i32.and + i64.extend_i32_u + local.tee 7 + i64.shl + local.tee 20 + i64.const -1 + i64.add + local.set 14 + local.get 6 + local.get 8 + local.get 12 + i64.shl + local.tee 5 + i64.const 32 + i64.shr_u + local.tee 8 + i64.mul + local.tee 12 + i64.const 4294967295 + i64.and + local.get 6 + local.get 5 + i64.const 4294967295 + i64.and + local.tee 5 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.get 16 + local.get 5 + i64.mul + local.tee 5 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483648 + i64.add + i64.const 32 + i64.shr_u + local.set 21 + local.get 16 + local.get 8 + i64.mul + local.set 8 + local.get 5 + i64.const 32 + i64.shr_u + local.set 22 + local.get 12 + i64.const 32 + i64.shr_u + local.set 12 + local.get 1 + i32.const 1053410 + i32.add + i32.load16_u + local.set 1 + block ;; label = @16 + block ;; label = @17 + block ;; label = @18 + block ;; label = @19 + local.get 16 + local.get 11 + local.get 11 + i64.const -1 + i64.xor + i64.const 63 + i64.shr_u + i64.shl + local.tee 5 + i64.const 32 + i64.shr_u + local.tee 23 + i64.mul + local.tee 24 + local.get 6 + local.get 23 + i64.mul + local.tee 11 + i64.const 32 + i64.shr_u + local.tee 25 + i64.add + local.get 16 + local.get 5 + i64.const 4294967295 + i64.and + local.tee 5 + i64.mul + local.tee 26 + i64.const 32 + i64.shr_u + local.tee 27 + i64.add + local.get 11 + i64.const 4294967295 + i64.and + local.get 6 + local.get 5 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.get 26 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483648 + i64.add + i64.const 32 + i64.shr_u + local.tee 28 + i64.add + i64.const 1 + i64.add + local.tee 26 + local.get 7 + i64.shr_u + i32.wrap_i64 + local.tee 10 + i32.const 10000 + i32.lt_u + br_if 0 (;@19;) + local.get 10 + i32.const 1000000 + i32.lt_u + br_if 1 (;@18;) + local.get 10 + i32.const 100000000 + i32.lt_u + br_if 2 (;@17;) + i32.const 8 + i32.const 9 + local.get 10 + i32.const 1000000000 + i32.lt_u + local.tee 9 + select + local.set 29 + i32.const 100000000 + i32.const 1000000000 + local.get 9 + select + local.set 9 + br 3 (;@16;) + end + block ;; label = @19 + local.get 10 + i32.const 100 + i32.lt_u + br_if 0 (;@19;) + i32.const 2 + i32.const 3 + local.get 10 + i32.const 1000 + i32.lt_u + local.tee 9 + select + local.set 29 + i32.const 100 + i32.const 1000 + local.get 9 + select + local.set 9 + br 3 (;@16;) + end + i32.const 1 + i32.const 10 + local.get 10 + i32.const 10 + i32.lt_u + select + local.set 9 + local.get 10 + i32.const 9 + i32.gt_u + local.set 29 + br 2 (;@16;) + end + i32.const 4 + i32.const 5 + local.get 10 + i32.const 100000 + i32.lt_u + local.tee 9 + select + local.set 29 + i32.const 10000 + i32.const 100000 + local.get 9 + select + local.set 9 + br 1 (;@16;) + end + i32.const 6 + i32.const 7 + local.get 10 + i32.const 10000000 + i32.lt_u + local.tee 9 + select + local.set 29 + i32.const 1000000 + i32.const 10000000 + local.get 9 + select + local.set 9 + end + local.get 18 + local.get 19 + i64.add + local.set 18 + local.get 26 + local.get 14 + i64.and + local.set 5 + local.get 29 + local.get 1 + i32.sub + i32.const 1 + i32.add + local.set 30 + local.get 26 + local.get 8 + local.get 12 + i64.add + local.get 22 + i64.add + local.get 21 + i64.add + local.tee 22 + i64.sub + i64.const 1 + i64.add + local.tee 12 + local.get 14 + i64.and + local.set 8 + i32.const 0 + local.set 1 + loop ;; label = @16 + local.get 10 + local.get 9 + i32.div_u + local.set 31 + block ;; label = @17 + block ;; label = @18 + block ;; label = @19 + block ;; label = @20 + local.get 3 + local.get 1 + i32.eq + br_if 0 (;@20;) + local.get 2 + local.get 1 + i32.add + local.tee 32 + local.get 31 + i32.const 48 + i32.add + local.tee 33 + i32.store8 + local.get 12 + local.get 10 + local.get 31 + local.get 9 + i32.mul + i32.sub + local.tee 10 + i64.extend_i32_u + local.get 7 + i64.shl + local.tee 6 + local.get 5 + i64.add + local.tee 11 + i64.gt_u + br_if 16 (;@4;) + local.get 29 + local.get 1 + i32.ne + br_if 3 (;@17;) + local.get 1 + i32.const 1 + i32.add + local.tee 1 + local.get 3 + local.get 1 + local.get 3 + i32.gt_u + select + local.set 10 + i64.const 1 + local.set 6 + loop ;; label = @21 + local.get 6 + local.set 11 + local.get 8 + local.set 12 + local.get 10 + local.get 1 + i32.eq + br_if 2 (;@19;) + local.get 11 + i64.const 10 + i64.mul + local.set 6 + local.get 2 + local.get 1 + i32.add + local.get 5 + i64.const 10 + i64.mul + local.tee 5 + local.get 7 + i64.shr_u + i32.wrap_i64 + i32.const 48 + i32.add + local.tee 9 + i32.store8 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 12 + i64.const 10 + i64.mul + local.tee 8 + local.get 5 + local.get 14 + i64.and + local.tee 5 + i64.le_u + br_if 0 (;@21;) + end + local.get 1 + i32.const -1 + i32.add + local.get 3 + i32.ge_u + br_if 2 (;@18;) + local.get 8 + local.get 5 + i64.sub + local.tee 16 + local.get 20 + i64.ge_u + local.set 10 + local.get 6 + local.get 26 + local.get 18 + i64.sub + i64.mul + local.tee 7 + local.get 6 + i64.add + local.set 19 + local.get 7 + local.get 6 + i64.sub + local.tee 14 + local.get 5 + i64.le_u + br_if 17 (;@3;) + local.get 16 + local.get 20 + i64.lt_u + br_if 17 (;@3;) + local.get 2 + local.get 1 + i32.add + i32.const -1 + i32.add + local.set 31 + local.get 12 + i64.const 10 + i64.mul + local.get 20 + local.get 5 + i64.add + i64.sub + local.set 16 + local.get 20 + local.get 14 + i64.sub + local.set 26 + local.get 14 + local.get 5 + i64.sub + local.set 13 + i64.const 0 + local.set 7 + loop ;; label = @21 + block ;; label = @22 + local.get 5 + local.get 20 + i64.add + local.tee 6 + local.get 14 + i64.lt_u + br_if 0 (;@22;) + local.get 13 + local.get 7 + i64.add + local.get 26 + local.get 5 + i64.add + i64.ge_u + br_if 0 (;@22;) + i32.const 1 + local.set 10 + br 19 (;@3;) + end + local.get 31 + local.get 9 + i32.const -1 + i32.add + local.tee 9 + i32.store8 + local.get 16 + local.get 7 + i64.add + local.tee 12 + local.get 20 + i64.ge_u + local.set 10 + local.get 6 + local.get 14 + i64.ge_u + br_if 19 (;@2;) + local.get 7 + local.get 20 + i64.sub + local.set 7 + local.get 6 + local.set 5 + local.get 12 + local.get 20 + i64.ge_u + br_if 0 (;@21;) + br 19 (;@2;) + end + end + local.get 3 + local.get 3 + i32.const 1054972 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 10 + local.get 3 + i32.const 1054988 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 1 + local.get 3 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 9 + i32.const 10 + i32.lt_u + local.set 31 + local.get 9 + i32.const 10 + i32.div_u + local.set 9 + local.get 31 + i32.eqz + br_if 0 (;@16;) + end + i32.const 1054944 + i32.const 25 + i32.const 1054920 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1054856 + i32.const 45 + i32.const 1054904 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 1 + i32.const 81 + i32.const 1054744 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 4 + i32.const 0 + i32.store offset=24 + local.get 4 + i32.const 16 + i32.add + local.get 4 + local.get 4 + i32.const 24 + i32.add + call $_ZN4core9panicking13assert_failed17ha9edb8cd2ad82ee4E + unreachable + end + local.get 4 + i32.const 0 + i32.store offset=24 + local.get 4 + i32.const 16 + i32.add + local.get 4 + local.get 4 + i32.const 24 + i32.add + call $_ZN4core9panicking13assert_failed17ha9edb8cd2ad82ee4E + unreachable + end + i32.const 1052472 + i32.const 29 + i32.const 1052536 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053192 + i32.const 45 + i32.const 1054840 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053120 + i32.const 55 + i32.const 1054824 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053048 + i32.const 54 + i32.const 1054808 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1053004 + i32.const 28 + i32.const 1054792 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1052956 + i32.const 29 + i32.const 1054776 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1052911 + i32.const 28 + i32.const 1054760 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 1 + i32.const 1 + i32.add + local.set 10 + block ;; label = @4 + block ;; label = @5 + local.get 1 + local.get 3 + i32.ge_u + br_if 0 (;@5;) + local.get 12 + local.get 11 + i64.sub + local.tee 14 + local.get 9 + i64.extend_i32_u + local.get 7 + i64.shl + local.tee 7 + i64.ge_u + local.set 1 + local.get 26 + local.get 18 + i64.sub + local.tee 8 + i64.const 1 + i64.add + local.set 21 + local.get 8 + i64.const -1 + i64.add + local.tee 20 + local.get 11 + i64.le_u + br_if 1 (;@4;) + local.get 14 + local.get 7 + i64.lt_u + br_if 1 (;@4;) + local.get 5 + local.get 7 + i64.add + local.tee 11 + local.get 15 + i64.add + local.get 17 + i64.add + local.get 19 + i64.add + local.get 16 + local.get 13 + local.get 23 + i64.sub + i64.mul + i64.add + local.get 25 + i64.sub + local.get 27 + i64.sub + local.get 28 + i64.sub + local.set 14 + local.get 25 + local.get 27 + i64.add + local.get 28 + i64.add + local.get 24 + i64.add + local.set 8 + i64.const 0 + local.get 18 + local.get 6 + local.get 5 + i64.add + i64.add + i64.sub + local.set 19 + i64.const 2 + local.get 22 + local.get 11 + local.get 6 + i64.add + i64.add + i64.sub + local.set 13 + loop ;; label = @6 + block ;; label = @7 + local.get 6 + local.get 11 + i64.add + local.tee 16 + local.get 20 + i64.lt_u + br_if 0 (;@7;) + local.get 19 + local.get 8 + i64.add + local.get 6 + local.get 14 + i64.add + i64.ge_u + br_if 0 (;@7;) + local.get 6 + local.get 5 + i64.add + local.set 11 + i32.const 1 + local.set 1 + br 3 (;@4;) + end + local.get 32 + local.get 33 + i32.const -1 + i32.add + local.tee 33 + i32.store8 + local.get 5 + local.get 7 + i64.add + local.set 5 + local.get 13 + local.get 8 + i64.add + local.set 26 + block ;; label = @7 + local.get 16 + local.get 20 + i64.ge_u + br_if 0 (;@7;) + local.get 11 + local.get 7 + i64.add + local.set 11 + local.get 14 + local.get 7 + i64.add + local.set 14 + local.get 8 + local.get 7 + i64.sub + local.set 8 + local.get 26 + local.get 7 + i64.ge_u + br_if 1 (;@6;) + end + end + local.get 26 + local.get 7 + i64.ge_u + local.set 1 + local.get 6 + local.get 5 + i64.add + local.set 11 + br 1 (;@4;) + end + local.get 10 + local.get 3 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 21 + local.get 11 + i64.le_u + br_if 0 (;@6;) + local.get 1 + i32.eqz + br_if 0 (;@6;) + local.get 11 + local.get 7 + i64.add + local.tee 5 + local.get 21 + i64.lt_u + br_if 1 (;@5;) + local.get 21 + local.get 11 + i64.sub + local.get 5 + local.get 21 + i64.sub + i64.ge_u + br_if 1 (;@5;) + end + block ;; label = @6 + local.get 11 + i64.const 2 + i64.lt_u + br_if 0 (;@6;) + local.get 11 + local.get 12 + i64.const -4 + i64.add + i64.le_u + br_if 2 (;@4;) + end + local.get 0 + i32.const 0 + i32.store + br 4 (;@1;) + end + local.get 0 + i32.const 0 + i32.store + br 3 (;@1;) + end + local.get 0 + local.get 10 + i32.store offset=4 + local.get 0 + local.get 2 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 30 + i32.store16 + br 2 (;@1;) + end + local.get 5 + local.set 6 + end + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 19 + local.get 6 + i64.le_u + br_if 0 (;@4;) + local.get 10 + i32.eqz + br_if 0 (;@4;) + local.get 6 + local.get 20 + i64.add + local.tee 5 + local.get 19 + i64.lt_u + br_if 1 (;@3;) + local.get 19 + local.get 6 + i64.sub + local.get 5 + local.get 19 + i64.sub + i64.ge_u + br_if 1 (;@3;) + end + block ;; label = @4 + local.get 11 + i64.const 20 + i64.mul + local.get 6 + i64.gt_u + br_if 0 (;@4;) + local.get 6 + local.get 11 + i64.const -40 + i64.mul + local.get 8 + i64.add + i64.le_u + br_if 2 (;@2;) + end + local.get 0 + i32.const 0 + i32.store + br 2 (;@1;) + end + local.get 0 + i32.const 0 + i32.store + br 1 (;@1;) + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 2 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 30 + i32.store16 + end + local.get 4 + i32.const 48 + i32.add + global.set $__stack_pointer) + (func $_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt17hdb8697593954465bE (type 11) (param i32 i32 i32 i32 i32) + (local i64 i32 i32 i64 i64 i64 i64 i32 i32 i64 i32 i32 i32 i32 i64) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 1 + i64.load + local.tee 5 + i64.eqz + br_if 0 (;@7;) + local.get 5 + i64.const 2305843009213693951 + i64.gt_u + br_if 1 (;@6;) + local.get 3 + i32.eqz + br_if 3 (;@4;) + i32.const -96 + local.get 1 + i32.load16_u offset=24 + local.tee 1 + i32.const -32 + i32.add + local.get 1 + local.get 5 + i64.const 4294967296 + i64.lt_u + local.tee 6 + select + local.tee 1 + i32.const -16 + i32.add + local.get 1 + local.get 5 + i64.const 32 + i64.shl + local.get 5 + local.get 6 + select + local.tee 5 + i64.const 281474976710656 + i64.lt_u + local.tee 6 + select + local.tee 1 + i32.const -8 + i32.add + local.get 1 + local.get 5 + i64.const 16 + i64.shl + local.get 5 + local.get 6 + select + local.tee 5 + i64.const 72057594037927936 + i64.lt_u + local.tee 6 + select + local.tee 1 + i32.const -4 + i32.add + local.get 1 + local.get 5 + i64.const 8 + i64.shl + local.get 5 + local.get 6 + select + local.tee 5 + i64.const 1152921504606846976 + i64.lt_u + local.tee 6 + select + local.tee 1 + i32.const -2 + i32.add + local.get 1 + local.get 5 + i64.const 4 + i64.shl + local.get 5 + local.get 6 + select + local.tee 5 + i64.const 4611686018427387904 + i64.lt_u + local.tee 6 + select + local.get 5 + i64.const 2 + i64.shl + local.get 5 + local.get 6 + select + local.tee 5 + i64.const 63 + i64.shr_s + i32.wrap_i64 + i32.const -1 + i32.xor + i32.add + local.tee 6 + i32.sub + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 80 + i32.mul + i32.const 86960 + i32.add + i32.const 2126 + i32.div_s + local.tee 1 + i32.const 81 + i32.ge_u + br_if 2 (;@5;) + local.get 1 + i32.const 4 + i32.shl + local.tee 1 + i32.const 1053410 + i32.add + i32.load16_u + local.set 7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 1 + i32.const 1053400 + i32.add + i64.load + local.tee 8 + i64.const 4294967295 + i64.and + local.tee 9 + local.get 5 + local.get 5 + i64.const -1 + i64.xor + i64.const 63 + i64.shr_u + i64.shl + local.tee 5 + i64.const 32 + i64.shr_u + local.tee 10 + i64.mul + local.tee 11 + i64.const 32 + i64.shr_u + local.get 8 + i64.const 32 + i64.shr_u + local.tee 8 + local.get 10 + i64.mul + i64.add + local.get 8 + local.get 5 + i64.const 4294967295 + i64.and + local.tee 5 + i64.mul + local.tee 8 + i64.const 32 + i64.shr_u + i64.add + local.get 11 + i64.const 4294967295 + i64.and + local.get 9 + local.get 5 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.get 8 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483648 + i64.add + i64.const 32 + i64.shr_u + i64.add + local.tee 5 + i32.const -64 + local.get 6 + local.get 1 + i32.const 1053408 + i32.add + i32.load16_u + i32.add + i32.sub + local.tee 1 + i32.const 63 + i32.and + i64.extend_i32_u + local.tee 10 + i64.shr_u + i32.wrap_i64 + local.tee 12 + i32.const 10000 + i32.lt_u + br_if 0 (;@11;) + local.get 12 + i32.const 1000000 + i32.lt_u + br_if 1 (;@10;) + local.get 12 + i32.const 100000000 + i32.lt_u + br_if 2 (;@9;) + i32.const 8 + i32.const 9 + local.get 12 + i32.const 1000000000 + i32.lt_u + local.tee 6 + select + local.set 13 + i32.const 100000000 + i32.const 1000000000 + local.get 6 + select + local.set 6 + br 3 (;@8;) + end + block ;; label = @11 + local.get 12 + i32.const 100 + i32.lt_u + br_if 0 (;@11;) + i32.const 2 + i32.const 3 + local.get 12 + i32.const 1000 + i32.lt_u + local.tee 6 + select + local.set 13 + i32.const 100 + i32.const 1000 + local.get 6 + select + local.set 6 + br 3 (;@8;) + end + i32.const 1 + i32.const 10 + local.get 12 + i32.const 10 + i32.lt_u + select + local.set 6 + local.get 12 + i32.const 9 + i32.gt_u + local.set 13 + br 2 (;@8;) + end + i32.const 4 + i32.const 5 + local.get 12 + i32.const 100000 + i32.lt_u + local.tee 6 + select + local.set 13 + i32.const 10000 + i32.const 100000 + local.get 6 + select + local.set 6 + br 1 (;@8;) + end + i32.const 6 + i32.const 7 + local.get 12 + i32.const 10000000 + i32.lt_u + local.tee 6 + select + local.set 13 + i32.const 1000000 + i32.const 10000000 + local.get 6 + select + local.set 6 + end + i64.const 1 + local.get 10 + i64.shl + local.set 14 + block ;; label = @8 + block ;; label = @9 + local.get 13 + local.get 7 + i32.sub + i32.const 16 + i32.shl + i32.const 65536 + i32.add + i32.const 16 + i32.shr_s + local.tee 15 + local.get 4 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee 7 + i32.le_s + br_if 0 (;@9;) + local.get 5 + local.get 14 + i64.const -1 + i64.add + local.tee 11 + i64.and + local.set 8 + local.get 1 + i32.const 65535 + i32.and + local.set 16 + local.get 15 + local.get 4 + i32.sub + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.get 3 + local.get 15 + local.get 7 + i32.sub + local.get 3 + i32.lt_u + select + local.tee 17 + i32.const -1 + i32.add + local.set 18 + i32.const 0 + local.set 1 + loop ;; label = @10 + local.get 12 + local.get 6 + i32.div_u + local.set 7 + local.get 3 + local.get 1 + i32.eq + br_if 7 (;@3;) + local.get 12 + local.get 7 + local.get 6 + i32.mul + i32.sub + local.set 12 + local.get 2 + local.get 1 + i32.add + local.get 7 + i32.const 48 + i32.add + i32.store8 + local.get 18 + local.get 1 + i32.eq + br_if 8 (;@2;) + local.get 13 + local.get 1 + i32.eq + br_if 2 (;@8;) + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 6 + i32.const 10 + i32.lt_u + local.set 7 + local.get 6 + i32.const 10 + i32.div_u + local.set 6 + local.get 7 + i32.eqz + br_if 0 (;@10;) + end + i32.const 1054944 + i32.const 25 + i32.const 1055164 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 0 + local.get 2 + local.get 3 + i32.const 0 + local.get 15 + local.get 4 + local.get 5 + i64.const 10 + i64.div_u + local.get 6 + i64.extend_i32_u + local.get 10 + i64.shl + local.get 14 + call $_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round17h10045992d5377395E + return + end + local.get 1 + i32.const 1 + i32.add + local.tee 1 + local.get 3 + local.get 1 + local.get 3 + i32.gt_u + select + local.set 6 + local.get 16 + i32.const -1 + i32.add + i32.const 63 + i32.and + i64.extend_i32_u + local.set 19 + i64.const 1 + local.set 5 + loop ;; label = @8 + block ;; label = @9 + local.get 5 + local.get 19 + i64.shr_u + i64.eqz + br_if 0 (;@9;) + local.get 0 + i32.const 0 + i32.store + return + end + local.get 6 + local.get 1 + i32.eq + br_if 7 (;@1;) + local.get 5 + i64.const 10 + i64.mul + local.set 5 + local.get 8 + i64.const 10 + i64.mul + local.tee 9 + local.get 11 + i64.and + local.set 8 + local.get 2 + local.get 1 + i32.add + local.get 9 + local.get 10 + i64.shr_u + i32.wrap_i64 + i32.const 48 + i32.add + i32.store8 + local.get 17 + local.get 1 + i32.const 1 + i32.add + local.tee 1 + i32.ne + br_if 0 (;@8;) + end + local.get 0 + local.get 2 + local.get 3 + local.get 17 + local.get 15 + local.get 4 + local.get 8 + local.get 14 + local.get 5 + call $_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round17h10045992d5377395E + return + end + i32.const 1052911 + i32.const 28 + i32.const 1055080 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1055096 + i32.const 36 + i32.const 1055132 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 1 + i32.const 81 + i32.const 1054744 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + i32.const 1055004 + i32.const 33 + i32.const 1055148 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 3 + local.get 3 + i32.const 1055180 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 0 + local.get 2 + local.get 3 + local.get 17 + local.get 15 + local.get 4 + local.get 12 + i64.extend_i32_u + local.get 10 + i64.shl + local.get 8 + i64.add + local.get 6 + i64.extend_i32_u + local.get 10 + i64.shl + local.get 14 + call $_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round17h10045992d5377395E + return + end + local.get 6 + local.get 3 + i32.const 1055196 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable) + (func $_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt14possibly_round17h10045992d5377395E (type 19) (param i32 i32 i32 i32 i32 i32 i64 i64 i64) + (local i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 7 + local.get 8 + i64.le_u + br_if 0 (;@7;) + local.get 7 + local.get 8 + i64.sub + local.get 8 + i64.le_u + br_if 1 (;@6;) + block ;; label = @8 + local.get 7 + local.get 6 + i64.sub + local.get 6 + i64.le_u + br_if 0 (;@8;) + local.get 7 + local.get 6 + i64.const 1 + i64.shl + i64.sub + local.get 8 + i64.const 1 + i64.shl + i64.ge_u + br_if 3 (;@5;) + end + block ;; label = @8 + local.get 6 + local.get 8 + i64.le_u + br_if 0 (;@8;) + local.get 7 + local.get 6 + local.get 8 + i64.sub + local.tee 8 + i64.sub + local.get 8 + i64.le_u + br_if 4 (;@4;) + end + local.get 0 + i32.const 0 + i32.store + return + end + local.get 0 + i32.const 0 + i32.store + return + end + local.get 0 + i32.const 0 + i32.store + return + end + local.get 3 + local.get 2 + i32.gt_u + br_if 1 (;@3;) + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 4 + i32.store16 + return + end + local.get 3 + local.get 2 + i32.gt_u + br_if 1 (;@2;) + local.get 1 + local.get 3 + i32.add + local.set 9 + i32.const 0 + local.set 10 + local.get 1 + local.set 11 + block ;; label = @4 + loop ;; label = @5 + local.get 3 + local.get 10 + i32.eq + br_if 1 (;@4;) + local.get 10 + i32.const 1 + i32.add + local.set 10 + local.get 11 + local.get 3 + i32.add + local.set 12 + local.get 11 + i32.const -1 + i32.add + local.tee 13 + local.set 11 + local.get 12 + i32.const -1 + i32.add + i32.load8_u + i32.const 57 + i32.eq + br_if 0 (;@5;) + end + local.get 13 + local.get 3 + i32.add + local.tee 11 + local.get 11 + i32.load8_u + i32.const 1 + i32.add + i32.store8 + local.get 3 + local.get 10 + i32.sub + i32.const 1 + i32.add + local.get 3 + i32.ge_u + br_if 3 (;@1;) + local.get 11 + i32.const 1 + i32.add + i32.const 48 + local.get 10 + i32.const -1 + i32.add + call $memset + drop + br 3 (;@1;) + end + block ;; label = @4 + block ;; label = @5 + local.get 3 + br_if 0 (;@5;) + i32.const 49 + local.set 10 + br 1 (;@4;) + end + local.get 1 + i32.const 49 + i32.store8 + i32.const 48 + local.set 10 + local.get 3 + i32.const 1 + i32.eq + br_if 0 (;@4;) + i32.const 48 + local.set 10 + local.get 1 + i32.const 1 + i32.add + i32.const 48 + local.get 3 + i32.const -1 + i32.add + call $memset + drop + end + local.get 4 + i32.const 16 + i32.shl + i32.const 65536 + i32.add + i32.const 16 + i32.shr_s + local.tee 4 + local.get 5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.le_s + br_if 2 (;@1;) + local.get 3 + local.get 2 + i32.ge_u + br_if 2 (;@1;) + local.get 9 + local.get 10 + i32.store8 + local.get 3 + i32.const 1 + i32.add + local.set 3 + br 2 (;@1;) + end + local.get 3 + local.get 2 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 3 + local.get 2 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + block ;; label = @1 + local.get 3 + local.get 2 + i32.gt_u + br_if 0 (;@1;) + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + local.get 0 + i32.const 8 + i32.add + local.get 4 + i32.store16 + return + end + local.get 3 + local.get 2 + local.get 3 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable) + (func $_ZN4core3num7flt2dec17digits_to_dec_str17h8b11b5064ce17005E (type 20) (param i32 i32 i32 i32 i32 i32 i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 2 + i32.eqz + br_if 0 (;@5;) + local.get 1 + i32.load8_u + i32.const 49 + i32.lt_u + br_if 1 (;@4;) + local.get 6 + i32.const 4 + i32.lt_u + br_if 2 (;@3;) + block ;; label = @6 + block ;; label = @7 + local.get 3 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee 7 + i32.const 1 + i32.lt_s + br_if 0 (;@7;) + local.get 5 + local.get 1 + i32.store offset=4 + i32.const 2 + local.set 6 + local.get 5 + i32.const 2 + i32.store16 + local.get 3 + i32.const 65535 + i32.and + local.tee 3 + local.get 2 + i32.ge_u + br_if 1 (;@6;) + local.get 5 + i32.const 2 + i32.store16 offset=24 + local.get 5 + i32.const 2 + i32.store16 offset=12 + local.get 5 + local.get 3 + i32.store offset=8 + local.get 5 + i32.const 32 + i32.add + local.get 2 + local.get 3 + i32.sub + local.tee 2 + i32.store + local.get 5 + i32.const 28 + i32.add + local.get 1 + local.get 3 + i32.add + i32.store + local.get 5 + i32.const 20 + i32.add + i32.const 1 + i32.store + local.get 5 + i32.const 16 + i32.add + i32.const 1055370 + i32.store + i32.const 3 + local.set 6 + local.get 2 + local.get 4 + i32.ge_u + br_if 6 (;@1;) + local.get 4 + local.get 2 + i32.sub + local.set 4 + br 5 (;@2;) + end + local.get 5 + i32.const 2 + i32.store16 offset=24 + local.get 5 + i32.const 0 + i32.store16 offset=12 + local.get 5 + i32.const 2 + i32.store offset=8 + local.get 5 + i32.const 1055368 + i32.store offset=4 + local.get 5 + i32.const 2 + i32.store16 + local.get 5 + i32.const 32 + i32.add + local.get 2 + i32.store + local.get 5 + i32.const 28 + i32.add + local.get 1 + i32.store + local.get 5 + i32.const 16 + i32.add + i32.const 0 + local.get 7 + i32.sub + local.tee 1 + i32.store + i32.const 3 + local.set 6 + local.get 4 + local.get 2 + i32.le_u + br_if 5 (;@1;) + local.get 4 + local.get 2 + i32.sub + local.tee 2 + local.get 1 + i32.le_u + br_if 5 (;@1;) + local.get 2 + local.get 7 + i32.add + local.set 4 + br 4 (;@2;) + end + local.get 5 + i32.const 0 + i32.store16 offset=12 + local.get 5 + local.get 2 + i32.store offset=8 + local.get 5 + i32.const 16 + i32.add + local.get 3 + local.get 2 + i32.sub + i32.store + local.get 4 + i32.eqz + br_if 4 (;@1;) + local.get 5 + i32.const 2 + i32.store16 offset=24 + local.get 5 + i32.const 32 + i32.add + i32.const 1 + i32.store + local.get 5 + i32.const 28 + i32.add + i32.const 1055370 + i32.store + br 3 (;@2;) + end + i32.const 1055004 + i32.const 33 + i32.const 1055248 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1055264 + i32.const 33 + i32.const 1055300 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + i32.const 1055316 + i32.const 34 + i32.const 1055352 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 5 + i32.const 0 + i32.store16 offset=36 + local.get 5 + i32.const 40 + i32.add + local.get 4 + i32.store + i32.const 4 + local.set 6 + end + local.get 0 + local.get 6 + i32.store offset=4 + local.get 0 + local.get 5 + i32.store) + (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h2de6d2d5e758a8bfE (type 1) (param i32 i32) (result i32) + local.get 0 + i64.load32_u + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h3b907f6c04e88bc5E) + (func $_ZN4core10intrinsics17const_eval_select17h9aee09010ef67421E (type 2) (param i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + local.get 0 + i32.load offset=8 + local.get 0 + i32.load offset=12 + call $_ZN4core3ops8function6FnOnce9call_once17h6f91af5b3e6b797aE + unreachable) + (func $_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17had963592bd1ced4fE (type 1) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 128 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load + local.tee 3 + i32.const 16 + i32.and + br_if 0 (;@5;) + local.get 3 + i32.const 32 + i32.and + br_if 1 (;@4;) + local.get 0 + i64.load32_u + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h3b907f6c04e88bc5E + local.set 0 + br 4 (;@1;) + end + local.get 0 + i32.load + local.set 0 + i32.const 0 + local.set 3 + loop ;; label = @5 + local.get 2 + local.get 3 + i32.add + i32.const 127 + i32.add + i32.const 48 + i32.const 87 + local.get 0 + i32.const 15 + i32.and + local.tee 4 + i32.const 10 + i32.lt_u + select + local.get 4 + i32.add + i32.store8 + local.get 3 + i32.const -1 + i32.add + local.set 3 + local.get 0 + i32.const 15 + i32.gt_u + local.set 4 + local.get 0 + i32.const 4 + i32.shr_u + local.set 0 + local.get 4 + br_if 0 (;@5;) + end + local.get 3 + i32.const 128 + i32.add + local.tee 0 + i32.const 129 + i32.ge_u + br_if 1 (;@3;) + local.get 1 + i32.const 1 + i32.const 1055812 + i32.const 2 + local.get 2 + local.get 3 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 3 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE + local.set 0 + br 3 (;@1;) + end + local.get 0 + i32.load + local.set 0 + i32.const 0 + local.set 3 + loop ;; label = @4 + local.get 2 + local.get 3 + i32.add + i32.const 127 + i32.add + i32.const 48 + i32.const 55 + local.get 0 + i32.const 15 + i32.and + local.tee 4 + i32.const 10 + i32.lt_u + select + local.get 4 + i32.add + i32.store8 + local.get 3 + i32.const -1 + i32.add + local.set 3 + local.get 0 + i32.const 15 + i32.gt_u + local.set 4 + local.get 0 + i32.const 4 + i32.shr_u + local.set 0 + local.get 4 + br_if 0 (;@4;) + end + local.get 3 + i32.const 128 + i32.add + local.tee 0 + i32.const 129 + i32.ge_u + br_if 1 (;@2;) + local.get 1 + i32.const 1 + i32.const 1055812 + i32.const 2 + local.get 2 + local.get 3 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 3 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE + local.set 0 + br 2 (;@1;) + end + local.get 0 + i32.const 128 + local.get 0 + call $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE + unreachable + end + local.get 0 + i32.const 128 + local.get 0 + call $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE + unreachable + end + local.get 2 + i32.const 128 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN4core3fmt5write17h541cd9cf0c4cf63eE (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + i32.const 36 + i32.add + local.get 1 + i32.store + local.get 3 + i32.const 3 + i32.store8 offset=40 + 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 4 + local.get 3 + i32.const 0 + i32.store offset=24 + local.get 3 + i32.const 0 + i32.store offset=16 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.load offset=8 + local.tee 5 + br_if 0 (;@4;) + local.get 2 + i32.const 20 + i32.add + i32.load + local.tee 6 + i32.eqz + br_if 1 (;@3;) + local.get 2 + i32.load + local.set 1 + local.get 2 + i32.load offset=16 + local.set 0 + local.get 6 + i32.const -1 + i32.add + i32.const 536870911 + i32.and + i32.const 1 + i32.add + local.tee 4 + local.set 6 + loop ;; label = @5 + block ;; label = @6 + local.get 1 + i32.const 4 + i32.add + i32.load + local.tee 7 + i32.eqz + br_if 0 (;@6;) + local.get 3 + i32.load offset=32 + local.get 1 + i32.load + local.get 7 + local.get 3 + i32.load offset=36 + i32.load offset=12 + call_indirect (type 7) + br_if 4 (;@2;) + end + local.get 0 + i32.load + local.get 3 + i32.const 8 + i32.add + local.get 0 + i32.const 4 + i32.add + i32.load + call_indirect (type 1) + br_if 3 (;@2;) + local.get 0 + i32.const 8 + i32.add + local.set 0 + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 6 + i32.const -1 + i32.add + local.tee 6 + br_if 0 (;@5;) + br 2 (;@3;) + end + end + local.get 2 + i32.const 12 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@3;) + local.get 0 + i32.const 5 + i32.shl + local.set 8 + local.get 0 + i32.const -1 + i32.add + i32.const 134217727 + i32.and + i32.const 1 + i32.add + local.set 4 + local.get 2 + i32.load + local.set 1 + i32.const 0 + local.set 6 + loop ;; label = @4 + block ;; label = @5 + local.get 1 + i32.const 4 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@5;) + local.get 3 + i32.load offset=32 + local.get 1 + i32.load + local.get 0 + local.get 3 + i32.load offset=36 + i32.load offset=12 + call_indirect (type 7) + br_if 3 (;@2;) + end + local.get 3 + local.get 5 + local.get 6 + i32.add + local.tee 0 + i32.const 28 + i32.add + i32.load8_u + i32.store8 offset=40 + local.get 3 + local.get 0 + i32.const 4 + i32.add + i64.load align=4 + i64.const 32 + i64.rotl + i64.store offset=8 + local.get 0 + i32.const 24 + i32.add + i32.load + local.set 9 + local.get 2 + i32.load offset=16 + local.set 10 + i32.const 0 + local.set 11 + i32.const 0 + local.set 7 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 0 + i32.const 20 + i32.add + i32.load + br_table 1 (;@6;) 0 (;@7;) 2 (;@5;) 1 (;@6;) + end + local.get 9 + i32.const 3 + i32.shl + local.set 12 + i32.const 0 + local.set 7 + local.get 10 + local.get 12 + i32.add + local.tee 12 + i32.load offset=4 + i32.const 76 + i32.ne + br_if 1 (;@5;) + local.get 12 + i32.load + i32.load + local.set 9 + end + i32.const 1 + local.set 7 + end + local.get 3 + local.get 9 + i32.store offset=20 + local.get 3 + local.get 7 + i32.store offset=16 + local.get 0 + i32.const 16 + i32.add + i32.load + local.set 7 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 0 + i32.const 12 + i32.add + i32.load + br_table 1 (;@6;) 0 (;@7;) 2 (;@5;) 1 (;@6;) + end + local.get 7 + i32.const 3 + i32.shl + local.set 9 + local.get 10 + local.get 9 + i32.add + local.tee 9 + i32.load offset=4 + i32.const 76 + i32.ne + br_if 1 (;@5;) + local.get 9 + i32.load + i32.load + local.set 7 + end + i32.const 1 + local.set 11 + end + local.get 3 + local.get 7 + i32.store offset=28 + local.get 3 + local.get 11 + i32.store offset=24 + local.get 10 + local.get 0 + i32.load + i32.const 3 + i32.shl + i32.add + local.tee 0 + i32.load + local.get 3 + i32.const 8 + i32.add + local.get 0 + i32.load offset=4 + call_indirect (type 1) + br_if 2 (;@2;) + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 8 + local.get 6 + i32.const 32 + i32.add + local.tee 6 + i32.ne + br_if 0 (;@4;) + end + end + i32.const 0 + local.set 0 + local.get 4 + local.get 2 + i32.load offset=4 + i32.lt_u + local.tee 1 + i32.eqz + br_if 1 (;@1;) + local.get 3 + i32.load offset=32 + local.get 2 + i32.load + local.get 4 + i32.const 3 + i32.shl + i32.add + i32.const 0 + local.get 1 + select + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + local.get 3 + i32.load offset=36 + i32.load offset=12 + call_indirect (type 7) + i32.eqz + br_if 1 (;@1;) + end + i32.const 1 + local.set 0 + end + local.get 3 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN71_$LT$core..ops..range..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h424074486177c719E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + i32.const 1 + local.set 3 + block ;; label = @1 + local.get 0 + local.get 1 + call $_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17had963592bd1ced4fE + br_if 0 (;@1;) + local.get 1 + i32.const 28 + i32.add + i32.load + local.set 4 + local.get 1 + i32.load offset=24 + local.set 5 + local.get 2 + i32.const 28 + i32.add + i32.const 0 + i32.store + local.get 2 + i32.const 1052472 + i32.store offset=24 + local.get 2 + i64.const 1 + i64.store offset=12 align=4 + local.get 2 + i32.const 1055440 + i32.store offset=8 + local.get 5 + local.get 4 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17h541cd9cf0c4cf63eE + br_if 0 (;@1;) + local.get 0 + i32.const 4 + i32.add + local.get 1 + call $_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17had963592bd1ced4fE + local.set 3 + end + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 3) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17heecc97a41e7e6799E (type 8) (param i32) (result i64) + i64.const -7895021645295676753) + (func $_ZN4core5ascii14escape_default17h5b1079c7afc46dbaE (type 6) (param i32 i32) + (local i32 i32 i32) + i32.const 2 + local.set 2 + i32.const 29788 + local.set 3 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + local.get 1 + i32.const 255 + i32.and + local.tee 4 + i32.const -9 + i32.add + br_table 8 (;@1;) 3 (;@6;) 1 (;@8;) 1 (;@8;) 2 (;@7;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 6 (;@3;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 1 (;@8;) 5 (;@4;) 0 (;@9;) + end + local.get 4 + i32.const 92 + i32.eq + br_if 3 (;@5;) + end + local.get 1 + i32.const -32 + i32.add + i32.const 255 + i32.and + i32.const 95 + i32.ge_u + br_if 5 (;@2;) + local.get 1 + i32.const 255 + i32.and + local.set 3 + i32.const 1 + local.set 2 + br 6 (;@1;) + end + i32.const 29276 + local.set 3 + br 5 (;@1;) + end + i32.const 28252 + local.set 3 + br 4 (;@1;) + end + i32.const 23644 + local.set 3 + br 3 (;@1;) + end + i32.const 10076 + local.set 3 + br 2 (;@1;) + end + i32.const 8796 + local.set 3 + br 1 (;@1;) + end + i32.const 4 + local.set 2 + local.get 1 + i32.const 240 + i32.and + i32.const 4 + i32.shr_u + i32.const 1055448 + i32.add + i32.load8_u + i32.const 16 + i32.shl + local.get 1 + i32.const 15 + i32.and + i32.const 1055448 + i32.add + i32.load8_u + i32.const 24 + i32.shl + i32.or + i32.const 30812 + i32.or + local.set 3 + end + local.get 0 + local.get 3 + i32.store offset=2 align=1 + local.get 0 + local.get 2 + i32.store8 offset=1 + local.get 0 + i32.const 0 + i32.store8) + (func $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17had3440eba33f6c5bE (type 1) (param i32 i32) (result i32) + local.get 1 + i32.load offset=24 + i32.const 1055464 + i32.const 11 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7)) + (func $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f487ac2903f0e44E (type 1) (param i32 i32) (result i32) + local.get 1 + i32.load offset=24 + i32.const 1055475 + i32.const 14 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7)) + (func $_ZN4core3str8converts9from_utf817hbea79677803a1d0bE (type 14) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + i32.const 0 + local.get 2 + i32.const -7 + i32.add + local.tee 3 + local.get 3 + local.get 2 + i32.gt_u + select + local.set 4 + local.get 1 + i32.const 3 + i32.add + i32.const -4 + i32.and + local.get 1 + i32.sub + local.set 5 + i32.const 0 + local.set 3 + loop ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + local.get 1 + local.get 3 + i32.add + i32.load8_u + local.tee 6 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee 7 + i32.const 0 + i32.lt_s + br_if 0 (;@12;) + local.get 5 + i32.const -1 + i32.eq + br_if 1 (;@11;) + local.get 5 + local.get 3 + i32.sub + i32.const 3 + i32.and + br_if 1 (;@11;) + local.get 3 + local.get 4 + i32.lt_u + br_if 2 (;@10;) + br 8 (;@4;) + end + i32.const 1 + local.set 8 + i32.const 1 + local.set 9 + block ;; label = @12 + block ;; label = @13 + block ;; label = @14 + block ;; label = @15 + block ;; label = @16 + block ;; label = @17 + block ;; label = @18 + block ;; label = @19 + local.get 6 + i32.const 1056348 + i32.add + i32.load8_u + i32.const -2 + i32.add + br_table 0 (;@19;) 1 (;@18;) 2 (;@17;) 14 (;@5;) + end + local.get 3 + i32.const 1 + i32.add + local.tee 6 + local.get 2 + i32.lt_u + br_if 6 (;@12;) + i32.const 0 + local.set 9 + br 13 (;@5;) + end + i32.const 1 + local.set 8 + i32.const 0 + local.set 9 + local.get 3 + i32.const 1 + i32.add + local.tee 10 + local.get 2 + i32.ge_u + br_if 12 (;@5;) + local.get 1 + local.get 10 + i32.add + i32.load8_s + local.set 10 + local.get 6 + i32.const -224 + i32.add + br_table 1 (;@16;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 3 (;@14;) 2 (;@15;) 3 (;@14;) + end + i32.const 1 + local.set 8 + block ;; label = @17 + local.get 3 + i32.const 1 + i32.add + local.tee 9 + local.get 2 + i32.lt_u + br_if 0 (;@17;) + i32.const 0 + local.set 9 + br 12 (;@5;) + end + local.get 1 + local.get 9 + i32.add + i32.load8_s + local.set 10 + block ;; label = @17 + block ;; label = @18 + block ;; label = @19 + local.get 6 + i32.const -240 + i32.add + br_table 1 (;@18;) 0 (;@19;) 0 (;@19;) 0 (;@19;) 2 (;@17;) 0 (;@19;) + end + i32.const 1 + local.set 8 + block ;; label = @19 + local.get 7 + i32.const 15 + i32.add + i32.const 255 + i32.and + i32.const 2 + i32.le_u + br_if 0 (;@19;) + i32.const 1 + local.set 9 + br 14 (;@5;) + end + local.get 10 + i32.const -1 + i32.le_s + br_if 9 (;@9;) + i32.const 1 + local.set 9 + br 13 (;@5;) + end + local.get 10 + i32.const 112 + i32.add + i32.const 255 + i32.and + i32.const 48 + i32.lt_u + br_if 9 (;@8;) + br 11 (;@6;) + end + local.get 10 + i32.const -113 + i32.gt_s + br_if 10 (;@6;) + br 8 (;@8;) + end + local.get 10 + i32.const -32 + i32.and + i32.const -96 + i32.ne + br_if 9 (;@6;) + br 2 (;@13;) + end + local.get 10 + i32.const -96 + i32.ge_s + br_if 8 (;@6;) + br 1 (;@13;) + end + block ;; label = @14 + block ;; label = @15 + local.get 7 + i32.const 31 + i32.add + i32.const 255 + i32.and + i32.const 12 + i32.lt_u + br_if 0 (;@15;) + i32.const 1 + local.set 8 + block ;; label = @16 + local.get 7 + i32.const -2 + i32.and + i32.const -18 + i32.eq + br_if 0 (;@16;) + i32.const 1 + local.set 9 + br 11 (;@5;) + end + local.get 10 + i32.const -1 + i32.le_s + br_if 1 (;@14;) + i32.const 1 + local.set 9 + br 10 (;@5;) + end + local.get 10 + i32.const -65 + i32.gt_s + br_if 8 (;@6;) + br 1 (;@13;) + end + i32.const 1 + local.set 9 + local.get 10 + i32.const -64 + i32.ge_u + br_if 8 (;@5;) + end + i32.const 0 + local.set 9 + local.get 3 + i32.const 2 + i32.add + local.tee 6 + local.get 2 + i32.ge_u + br_if 7 (;@5;) + local.get 1 + local.get 6 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 5 (;@7;) + i32.const 1 + local.set 9 + i32.const 2 + local.set 8 + br 7 (;@5;) + end + local.get 1 + local.get 6 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + br_if 5 (;@6;) + br 4 (;@7;) + end + local.get 3 + i32.const 1 + i32.add + local.set 3 + br 7 (;@3;) + end + loop ;; label = @10 + local.get 1 + local.get 3 + i32.add + local.tee 6 + i32.load + i32.const -2139062144 + i32.and + br_if 6 (;@4;) + local.get 6 + i32.const 4 + i32.add + i32.load + i32.const -2139062144 + i32.and + br_if 6 (;@4;) + local.get 3 + i32.const 8 + i32.add + local.tee 3 + local.get 4 + i32.ge_u + br_if 6 (;@4;) + br 0 (;@10;) + end + end + i32.const 1 + local.set 9 + local.get 10 + i32.const -64 + i32.ge_u + br_if 3 (;@5;) + end + block ;; label = @8 + local.get 3 + i32.const 2 + i32.add + local.tee 6 + local.get 2 + i32.lt_u + br_if 0 (;@8;) + i32.const 0 + local.set 9 + br 3 (;@5;) + end + block ;; label = @8 + local.get 1 + local.get 6 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 0 (;@8;) + i32.const 2 + local.set 8 + i32.const 1 + local.set 9 + br 3 (;@5;) + end + i32.const 0 + local.set 9 + local.get 3 + i32.const 3 + i32.add + local.tee 6 + local.get 2 + i32.ge_u + br_if 2 (;@5;) + local.get 1 + local.get 6 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 0 (;@7;) + i32.const 3 + local.set 8 + i32.const 1 + local.set 9 + br 2 (;@5;) + end + local.get 6 + i32.const 1 + i32.add + local.set 3 + br 3 (;@3;) + end + i32.const 1 + local.set 8 + i32.const 1 + local.set 9 + end + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + i32.const 9 + i32.add + local.get 8 + i32.store8 + local.get 0 + i32.const 8 + i32.add + local.get 9 + i32.store8 + local.get 0 + i32.const 1 + i32.store + return + end + local.get 3 + local.get 2 + i32.ge_u + br_if 0 (;@3;) + loop ;; label = @4 + local.get 1 + local.get 3 + i32.add + i32.load8_s + i32.const 0 + i32.lt_s + br_if 1 (;@3;) + local.get 2 + local.get 3 + i32.const 1 + i32.add + local.tee 3 + i32.ne + br_if 0 (;@4;) + br 3 (;@1;) + end + end + local.get 3 + local.get 2 + i32.lt_u + br_if 0 (;@2;) + end + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 0 + i32.const 0 + i32.store) + (func $_ZN4core3fmt8builders11DebugStruct5field17hfef08cc5743c92cbE (type 17) (param i32 i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i64 i64) + global.get $__stack_pointer + i32.const 64 + i32.sub + local.tee 5 + global.set $__stack_pointer + i32.const 1 + local.set 6 + block ;; label = @1 + local.get 0 + i32.load8_u offset=4 + br_if 0 (;@1;) + local.get 0 + i32.load8_u offset=5 + local.set 7 + block ;; label = @2 + local.get 0 + i32.load + local.tee 8 + i32.load + local.tee 9 + i32.const 4 + i32.and + br_if 0 (;@2;) + i32.const 1 + local.set 6 + local.get 8 + i32.load offset=24 + i32.const 1055781 + i32.const 1055783 + local.get 7 + i32.const 255 + i32.and + local.tee 7 + select + i32.const 2 + i32.const 3 + local.get 7 + select + local.get 8 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@1;) + i32.const 1 + local.set 6 + local.get 8 + i32.load offset=24 + local.get 1 + local.get 2 + local.get 8 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@1;) + i32.const 1 + local.set 6 + local.get 8 + i32.load offset=24 + i32.const 1055728 + i32.const 2 + local.get 8 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@1;) + local.get 3 + local.get 8 + local.get 4 + i32.load offset=12 + call_indirect (type 1) + local.set 6 + br 1 (;@1;) + end + block ;; label = @2 + local.get 7 + i32.const 255 + i32.and + br_if 0 (;@2;) + i32.const 1 + local.set 6 + local.get 8 + i32.load offset=24 + i32.const 1055776 + i32.const 3 + local.get 8 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@1;) + local.get 8 + i32.load + local.set 9 + end + i32.const 1 + local.set 6 + local.get 5 + i32.const 1 + i32.store8 offset=23 + local.get 5 + i32.const 52 + i32.add + i32.const 1055748 + i32.store + local.get 5 + i32.const 16 + i32.add + local.get 5 + i32.const 23 + i32.add + i32.store + local.get 5 + local.get 9 + i32.store offset=24 + local.get 5 + local.get 8 + i64.load offset=24 align=4 + i64.store offset=8 + local.get 8 + i64.load offset=8 align=4 + local.set 10 + local.get 8 + i64.load offset=16 align=4 + local.set 11 + local.get 5 + local.get 8 + i32.load8_u offset=32 + i32.store8 offset=56 + local.get 5 + local.get 8 + i32.load offset=4 + i32.store offset=28 + local.get 5 + local.get 11 + i64.store offset=40 + local.get 5 + local.get 10 + i64.store offset=32 + local.get 5 + local.get 5 + i32.const 8 + i32.add + i32.store offset=48 + local.get 5 + i32.const 8 + i32.add + local.get 1 + local.get 2 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h139107c7aca74f78E + br_if 0 (;@1;) + local.get 5 + i32.const 8 + i32.add + i32.const 1055728 + i32.const 2 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h139107c7aca74f78E + br_if 0 (;@1;) + local.get 3 + local.get 5 + i32.const 24 + i32.add + local.get 4 + i32.load offset=12 + call_indirect (type 1) + br_if 0 (;@1;) + local.get 5 + i32.load offset=48 + i32.const 1055779 + i32.const 2 + local.get 5 + i32.load offset=52 + i32.load offset=12 + call_indirect (type 7) + local.set 6 + end + local.get 0 + i32.const 1 + i32.store8 offset=5 + local.get 0 + local.get 6 + i32.store8 offset=4 + local.get 5 + i32.const 64 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hc9ebebfaabed7c75E (type 1) (param i32 i32) (result i32) + local.get 1 + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + call $_ZN4core3fmt9Formatter3pad17ha9ee57a4f2525d55E) + (func $_ZN4core5panic10panic_info9PanicInfo7message17h716df998157744adE (type 0) (param i32) (result i32) + local.get 0 + i32.load offset=8) + (func $_ZN4core5panic10panic_info9PanicInfo8location17hbf5421d4ce3ad7c2E (type 0) (param i32) (result i32) + local.get 0 + i32.load offset=12) + (func $_ZN4core9panicking19assert_failed_inner17h16bc0d78f5f6ea7aE (type 20) (param i32 i32 i32 i32 i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 112 + i32.sub + local.tee 7 + global.set $__stack_pointer + local.get 7 + local.get 2 + i32.store offset=12 + local.get 7 + local.get 1 + i32.store offset=8 + local.get 7 + local.get 4 + i32.store offset=20 + local.get 7 + local.get 3 + i32.store offset=16 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.const 255 + i32.and + br_table 0 (;@4;) 1 (;@3;) 2 (;@2;) 0 (;@4;) + end + local.get 7 + i32.const 1055597 + i32.store offset=24 + i32.const 2 + local.set 0 + br 2 (;@1;) + end + local.get 7 + i32.const 1055595 + i32.store offset=24 + i32.const 2 + local.set 0 + br 1 (;@1;) + end + local.get 7 + i32.const 1055588 + i32.store offset=24 + i32.const 7 + local.set 0 + end + local.get 7 + local.get 0 + i32.store offset=28 + block ;; label = @1 + local.get 5 + i32.load + br_if 0 (;@1;) + local.get 7 + i32.const 56 + i32.add + i32.const 20 + i32.add + i32.const 77 + i32.store + local.get 7 + i32.const 68 + i32.add + i32.const 77 + i32.store + local.get 7 + i32.const 88 + i32.add + i32.const 20 + i32.add + i32.const 3 + i32.store + local.get 7 + i64.const 4 + i64.store offset=92 align=4 + local.get 7 + i32.const 1055696 + i32.store offset=88 + local.get 7 + i32.const 73 + i32.store offset=60 + local.get 7 + local.get 7 + i32.const 56 + i32.add + i32.store offset=104 + local.get 7 + local.get 7 + i32.const 16 + i32.add + i32.store offset=72 + local.get 7 + local.get 7 + i32.const 8 + i32.add + i32.store offset=64 + local.get 7 + local.get 7 + i32.const 24 + i32.add + i32.store offset=56 + local.get 7 + i32.const 88 + i32.add + local.get 6 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable + end + local.get 7 + i32.const 32 + i32.add + i32.const 16 + i32.add + local.get 5 + i32.const 16 + i32.add + i64.load align=4 + i64.store + local.get 7 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.get 5 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 7 + local.get 5 + i64.load align=4 + i64.store offset=32 + local.get 7 + i32.const 88 + i32.add + i32.const 20 + i32.add + i32.const 4 + i32.store + local.get 7 + i32.const 84 + i32.add + i32.const 78 + i32.store + local.get 7 + i32.const 56 + i32.add + i32.const 20 + i32.add + i32.const 77 + i32.store + local.get 7 + i32.const 68 + i32.add + i32.const 77 + i32.store + local.get 7 + i64.const 4 + i64.store offset=92 align=4 + local.get 7 + i32.const 1055660 + i32.store offset=88 + local.get 7 + i32.const 73 + i32.store offset=60 + local.get 7 + local.get 7 + i32.const 56 + i32.add + i32.store offset=104 + local.get 7 + local.get 7 + i32.const 32 + i32.add + i32.store offset=80 + local.get 7 + local.get 7 + i32.const 16 + i32.add + i32.store offset=72 + local.get 7 + local.get 7 + i32.const 8 + i32.add + i32.store offset=64 + local.get 7 + local.get 7 + i32.const 24 + i32.add + i32.store offset=56 + local.get 7 + i32.const 88 + i32.add + local.get 6 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h048bf2722bbaaf65E (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + local.get 0 + i32.load offset=4 + i32.load offset=12 + call_indirect (type 1)) + (func $_ZN59_$LT$core..fmt..Arguments$u20$as$u20$core..fmt..Display$GT$3fmt17hbde4cf33375ef476E (type 1) (param i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 1 + i32.const 28 + i32.add + i32.load + local.set 3 + local.get 1 + i32.load offset=24 + local.set 1 + local.get 2 + i32.const 8 + i32.add + i32.const 16 + i32.add + local.get 0 + 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 0 + i32.const 8 + i32.add + i64.load align=4 + i64.store + local.get 2 + local.get 0 + i64.load align=4 + i64.store offset=8 + local.get 1 + local.get 3 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17h541cd9cf0c4cf63eE + local.set 0 + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN4core6result13unwrap_failed17h12b99b1d3e50afbfE (type 11) (param i32 i32 i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 64 + i32.sub + local.tee 5 + global.set $__stack_pointer + local.get 5 + local.get 1 + i32.store offset=12 + local.get 5 + local.get 0 + i32.store offset=8 + local.get 5 + local.get 3 + i32.store offset=20 + local.get 5 + local.get 2 + i32.store offset=16 + local.get 5 + i32.const 44 + i32.add + i32.const 2 + i32.store + local.get 5 + i32.const 60 + i32.add + i32.const 77 + i32.store + local.get 5 + i64.const 2 + i64.store offset=28 align=4 + local.get 5 + i32.const 1055732 + i32.store offset=24 + local.get 5 + i32.const 73 + i32.store offset=52 + local.get 5 + local.get 5 + i32.const 48 + i32.add + i32.store offset=40 + local.get 5 + local.get 5 + i32.const 16 + i32.add + i32.store offset=56 + local.get 5 + local.get 5 + i32.const 8 + i32.add + i32.store offset=48 + local.get 5 + i32.const 24 + i32.add + local.get 4 + call $_ZN4core9panicking9panic_fmt17hf8c4db4c4f39fc55E + unreachable) + (func $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h139107c7aca74f78E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.set 3 + local.get 0 + i32.load + local.set 4 + local.get 0 + i32.load offset=8 + local.set 5 + loop ;; label = @3 + block ;; label = @4 + local.get 5 + i32.load8_u + i32.eqz + br_if 0 (;@4;) + local.get 4 + i32.const 1055772 + i32.const 4 + local.get 3 + i32.load offset=12 + call_indirect (type 7) + i32.eqz + br_if 0 (;@4;) + i32.const 1 + return + end + i32.const 0 + local.set 6 + local.get 2 + local.set 7 + block ;; label = @4 + block ;; label = @5 + loop ;; label = @6 + local.get 1 + local.get 6 + i32.add + local.set 8 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 7 + i32.const 8 + i32.lt_u + br_if 0 (;@11;) + block ;; label = @12 + local.get 8 + i32.const 3 + i32.add + i32.const -4 + i32.and + local.get 8 + i32.sub + local.tee 0 + br_if 0 (;@12;) + local.get 7 + i32.const -8 + i32.add + local.set 9 + i32.const 0 + local.set 10 + br 3 (;@9;) + end + local.get 7 + local.get 0 + local.get 0 + local.get 7 + i32.gt_u + select + local.set 10 + i32.const 0 + local.set 0 + loop ;; label = @12 + local.get 8 + local.get 0 + i32.add + i32.load8_u + i32.const 10 + i32.eq + br_if 5 (;@7;) + local.get 10 + local.get 0 + i32.const 1 + i32.add + local.tee 0 + i32.eq + br_if 2 (;@10;) + br 0 (;@12;) + end + end + local.get 7 + i32.eqz + br_if 5 (;@5;) + i32.const 0 + local.set 0 + local.get 8 + i32.load8_u + i32.const 10 + i32.eq + br_if 3 (;@7;) + local.get 7 + i32.const 1 + i32.eq + br_if 5 (;@5;) + i32.const 1 + local.set 0 + local.get 8 + i32.load8_u offset=1 + i32.const 10 + i32.eq + br_if 3 (;@7;) + local.get 7 + i32.const 2 + i32.eq + br_if 5 (;@5;) + i32.const 2 + local.set 0 + local.get 8 + i32.load8_u offset=2 + i32.const 10 + i32.eq + br_if 3 (;@7;) + local.get 7 + i32.const 3 + i32.eq + br_if 5 (;@5;) + i32.const 3 + local.set 0 + local.get 8 + i32.load8_u offset=3 + i32.const 10 + i32.eq + br_if 3 (;@7;) + local.get 7 + i32.const 4 + i32.eq + br_if 5 (;@5;) + i32.const 4 + local.set 0 + local.get 8 + i32.load8_u offset=4 + i32.const 10 + i32.eq + br_if 3 (;@7;) + local.get 7 + i32.const 5 + i32.eq + br_if 5 (;@5;) + i32.const 5 + local.set 0 + local.get 8 + i32.load8_u offset=5 + i32.const 10 + i32.eq + br_if 3 (;@7;) + local.get 7 + i32.const 6 + i32.eq + br_if 5 (;@5;) + i32.const 6 + local.set 0 + local.get 8 + i32.load8_u offset=6 + i32.const 10 + i32.ne + br_if 5 (;@5;) + br 3 (;@7;) + end + local.get 10 + local.get 7 + i32.const -8 + i32.add + local.tee 9 + i32.gt_u + br_if 1 (;@8;) + end + block ;; label = @9 + loop ;; label = @10 + local.get 8 + local.get 10 + i32.add + local.tee 11 + i32.load + local.tee 0 + i32.const -1 + i32.xor + local.get 0 + i32.const 168430090 + i32.xor + i32.const -16843009 + i32.add + i32.and + i32.const -2139062144 + i32.and + br_if 1 (;@9;) + local.get 11 + i32.const 4 + i32.add + i32.load + local.tee 0 + i32.const -1 + i32.xor + local.get 0 + i32.const 168430090 + i32.xor + i32.const -16843009 + i32.add + i32.and + i32.const -2139062144 + i32.and + br_if 1 (;@9;) + local.get 10 + i32.const 8 + i32.add + local.tee 10 + local.get 9 + i32.le_u + br_if 0 (;@10;) + end + end + local.get 10 + local.get 7 + i32.le_u + br_if 0 (;@8;) + local.get 10 + local.get 7 + local.get 0 + call $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE + unreachable + end + local.get 10 + local.get 7 + i32.eq + br_if 2 (;@5;) + local.get 10 + local.get 7 + i32.sub + local.set 11 + local.get 8 + local.get 10 + i32.add + local.set 8 + i32.const 0 + local.set 0 + block ;; label = @8 + loop ;; label = @9 + local.get 8 + local.get 0 + i32.add + i32.load8_u + i32.const 10 + i32.eq + br_if 1 (;@8;) + local.get 11 + local.get 0 + i32.const 1 + i32.add + local.tee 0 + i32.add + br_if 0 (;@9;) + br 4 (;@5;) + end + end + local.get 10 + local.get 0 + i32.add + local.set 0 + end + block ;; label = @7 + local.get 0 + local.get 6 + i32.add + local.tee 0 + i32.const 1 + i32.add + local.tee 6 + local.get 0 + i32.lt_u + br_if 0 (;@7;) + local.get 2 + local.get 6 + i32.lt_u + br_if 0 (;@7;) + local.get 1 + local.get 0 + i32.add + i32.load8_u + i32.const 10 + i32.ne + br_if 0 (;@7;) + local.get 5 + i32.const 1 + i32.store8 + block ;; label = @8 + block ;; label = @9 + local.get 2 + local.get 6 + i32.gt_u + br_if 0 (;@9;) + local.get 2 + local.set 0 + local.get 2 + local.get 6 + i32.eq + br_if 5 (;@4;) + br 1 (;@8;) + end + local.get 1 + local.get 6 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 0 (;@8;) + local.get 6 + local.set 0 + br 4 (;@4;) + end + local.get 1 + local.get 2 + i32.const 0 + local.get 6 + local.get 0 + call $_ZN4core3str16slice_error_fail17h4bc2d57feff47476E + unreachable + end + local.get 2 + local.get 6 + i32.sub + local.set 7 + local.get 2 + local.get 6 + i32.ge_u + br_if 0 (;@6;) + end + end + local.get 5 + i32.const 0 + i32.store8 + local.get 2 + local.set 0 + end + block ;; label = @4 + local.get 4 + local.get 1 + local.get 0 + local.get 3 + i32.load offset=12 + call_indirect (type 7) + i32.eqz + br_if 0 (;@4;) + i32.const 1 + return + end + block ;; label = @4 + block ;; label = @5 + local.get 2 + local.get 0 + i32.gt_u + br_if 0 (;@5;) + local.get 2 + local.get 0 + i32.eq + br_if 1 (;@4;) + br 4 (;@1;) + end + local.get 1 + local.get 0 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 3 (;@1;) + end + local.get 1 + local.get 0 + i32.add + local.set 1 + local.get 2 + local.get 0 + i32.sub + local.tee 2 + br_if 0 (;@3;) + end + end + i32.const 0 + return + end + local.get 1 + local.get 2 + local.get 0 + local.get 2 + local.get 0 + call $_ZN4core3str16slice_error_fail17h4bc2d57feff47476E + unreachable) + (func $_ZN4core3str16slice_error_fail17h4bc2d57feff47476E (type 11) (param i32 i32 i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 5 + global.set $__stack_pointer + local.get 5 + local.get 3 + i32.store offset=12 + local.get 5 + local.get 2 + i32.store offset=8 + local.get 5 + local.get 1 + i32.store offset=4 + local.get 5 + local.get 0 + i32.store + local.get 5 + call $_ZN4core10intrinsics17const_eval_select17h9aee09010ef67421E + unreachable) + (func $_ZN4core3fmt8builders10DebugTuple5field17hf9de79b94b040d93E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i64 i64) + global.get $__stack_pointer + i32.const 64 + i32.sub + local.tee 3 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load8_u offset=8 + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.set 4 + i32.const 1 + local.set 5 + br 1 (;@1;) + end + local.get 0 + i32.load offset=4 + local.set 4 + block ;; label = @2 + local.get 0 + i32.load + local.tee 6 + i32.load + local.tee 7 + i32.const 4 + i32.and + br_if 0 (;@2;) + i32.const 1 + local.set 5 + local.get 6 + i32.load offset=24 + i32.const 1055781 + i32.const 1055791 + local.get 4 + select + i32.const 2 + i32.const 1 + local.get 4 + select + local.get 6 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@1;) + local.get 1 + local.get 6 + local.get 2 + i32.load offset=12 + call_indirect (type 1) + local.set 5 + br 1 (;@1;) + end + block ;; label = @2 + local.get 4 + br_if 0 (;@2;) + block ;; label = @3 + local.get 6 + i32.load offset=24 + i32.const 1055789 + i32.const 2 + local.get 6 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + i32.eqz + br_if 0 (;@3;) + i32.const 1 + local.set 5 + i32.const 0 + local.set 4 + br 2 (;@1;) + end + local.get 6 + i32.load + local.set 7 + end + i32.const 1 + local.set 5 + local.get 3 + i32.const 1 + i32.store8 offset=23 + local.get 3 + i32.const 52 + i32.add + i32.const 1055748 + i32.store + local.get 3 + i32.const 16 + i32.add + local.get 3 + i32.const 23 + i32.add + i32.store + local.get 3 + local.get 7 + i32.store offset=24 + local.get 3 + local.get 6 + i64.load offset=24 align=4 + i64.store offset=8 + local.get 6 + i64.load offset=8 align=4 + local.set 8 + local.get 6 + i64.load offset=16 align=4 + local.set 9 + local.get 3 + local.get 6 + i32.load8_u offset=32 + i32.store8 offset=56 + local.get 3 + local.get 6 + i32.load offset=4 + i32.store offset=28 + local.get 3 + local.get 9 + i64.store offset=40 + local.get 3 + local.get 8 + i64.store offset=32 + local.get 3 + local.get 3 + i32.const 8 + i32.add + i32.store offset=48 + local.get 1 + local.get 3 + i32.const 24 + i32.add + local.get 2 + i32.load offset=12 + call_indirect (type 1) + br_if 0 (;@1;) + local.get 3 + i32.load offset=48 + i32.const 1055779 + i32.const 2 + local.get 3 + i32.load offset=52 + i32.load offset=12 + call_indirect (type 7) + local.set 5 + end + local.get 0 + local.get 5 + i32.store8 offset=8 + local.get 0 + local.get 4 + i32.const 1 + i32.add + i32.store offset=4 + local.get 3 + i32.const 64 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN4core3fmt5float29float_to_decimal_common_exact17ha0eb36bd8474348dE (type 21) (param i32 f32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i64 i64 i32 i64) + global.get $__stack_pointer + i32.const 1136 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 1 + i32.reinterpret_f32 + local.set 5 + i32.const 3 + local.set 6 + block ;; label = @1 + block ;; label = @2 + local.get 1 + f32.const inf (;=inf;) + f32.ne + br_if 0 (;@2;) + br 1 (;@1;) + end + local.get 1 + f32.const -inf (;=-inf;) + f32.eq + br_if 0 (;@1;) + block ;; label = @2 + local.get 1 + local.get 1 + f32.eq + br_if 0 (;@2;) + i32.const 2 + local.set 6 + br 1 (;@1;) + end + local.get 5 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + local.get 5 + i32.const 1 + i32.shl + i32.const 16777214 + i32.and + local.get 5 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.tee 7 + select + local.tee 8 + i64.extend_i32_u + local.tee 9 + i64.const 1 + i64.and + local.set 10 + i32.const 4 + local.set 6 + block ;; label = @2 + block ;; label = @3 + i32.const 4 + i32.const 3 + local.get 5 + i32.const 2139095040 + i32.and + select + i32.const 2 + local.get 5 + i32.const 2147483647 + i32.and + select + i32.const -2 + i32.add + br_table 2 (;@1;) 0 (;@3;) 1 (;@2;) 2 (;@1;) + end + local.get 7 + i32.const -150 + i32.add + local.set 11 + local.get 10 + i32.wrap_i64 + i32.const 1 + i32.xor + local.set 6 + i64.const 1 + local.set 12 + br 1 (;@1;) + end + i64.const 33554432 + local.get 9 + i64.const 1 + i64.shl + local.get 8 + i32.const 8388608 + i32.eq + local.tee 11 + select + local.set 9 + i64.const 2 + i64.const 1 + local.get 11 + select + local.set 12 + local.get 10 + i32.wrap_i64 + i32.const 1 + i32.xor + local.set 6 + i32.const -152 + i32.const -151 + local.get 11 + select + local.get 7 + i32.add + local.set 11 + end + local.get 4 + local.get 11 + i32.store16 offset=1128 + local.get 4 + local.get 12 + i64.store offset=1120 + local.get 4 + i64.const 1 + i64.store offset=1112 + local.get 4 + local.get 9 + i64.store offset=1104 + local.get 4 + local.get 6 + i32.store8 offset=1130 + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 2 + i32.ne + br_if 0 (;@2;) + i32.const 1052472 + local.set 2 + i32.const 0 + local.set 5 + br 1 (;@1;) + end + block ;; label = @2 + local.get 2 + br_if 0 (;@2;) + i32.const 1055371 + i32.const 1052472 + local.get 5 + i32.const 0 + i32.lt_s + select + local.set 2 + local.get 5 + i32.const 31 + i32.shr_u + local.set 5 + br 1 (;@1;) + end + i32.const 1055371 + i32.const 1055372 + local.get 5 + i32.const 0 + i32.lt_s + select + local.set 2 + i32.const 1 + local.set 5 + end + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 6 + i32.const -2 + i32.add + local.tee 6 + i32.const 3 + local.get 6 + i32.const 3 + i32.lt_u + select + i32.const 255 + i32.and + br_table 3 (;@4;) 2 (;@5;) 1 (;@6;) 0 (;@7;) 3 (;@4;) + end + i32.const -12 + i32.const 5 + local.get 11 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.tee 6 + i32.const 0 + i32.lt_s + select + local.get 6 + i32.mul + local.tee 6 + i32.const 16063 + i32.gt_u + br_if 5 (;@1;) + local.get 4 + i32.const 1040 + i32.add + local.get 4 + i32.const 1104 + i32.add + local.get 4 + i32.const 16 + i32.add + local.get 6 + i32.const 4 + i32.shr_u + i32.const 21 + i32.add + local.tee 11 + i32.const 0 + local.get 3 + i32.sub + i32.const -32768 + local.get 3 + i32.const 32768 + i32.lt_u + select + local.tee 6 + call $_ZN4core3num7flt2dec8strategy5grisu16format_exact_opt17hdb8697593954465bE + local.get 6 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.set 6 + block ;; label = @7 + block ;; label = @8 + local.get 4 + i32.load offset=1040 + br_if 0 (;@8;) + local.get 4 + i32.const 1088 + i32.add + local.get 4 + i32.const 1104 + i32.add + local.get 4 + i32.const 16 + i32.add + local.get 11 + local.get 6 + call $_ZN4core3num7flt2dec8strategy6dragon12format_exact17h7c7b3a844a169efcE + br 1 (;@7;) + end + local.get 4 + i32.const 1088 + i32.add + i32.const 8 + i32.add + local.get 4 + i32.const 1040 + i32.add + i32.const 8 + i32.add + i32.load + i32.store + local.get 4 + local.get 4 + i64.load offset=1040 + i64.store offset=1088 + end + block ;; label = @7 + local.get 4 + i32.load16_s offset=1096 + local.tee 11 + local.get 6 + i32.le_s + br_if 0 (;@7;) + local.get 4 + i32.const 8 + i32.add + local.get 4 + i32.load offset=1088 + local.get 4 + i32.load offset=1092 + local.get 11 + local.get 3 + local.get 4 + i32.const 1040 + i32.add + i32.const 4 + call $_ZN4core3num7flt2dec17digits_to_dec_str17h8b11b5064ce17005E + local.get 4 + local.get 5 + i32.store offset=1092 + local.get 4 + local.get 2 + i32.store offset=1088 + local.get 4 + local.get 4 + i32.load offset=8 + i32.store offset=1096 + local.get 4 + i32.load offset=12 + local.set 6 + br 5 (;@2;) + end + i32.const 2 + local.set 6 + local.get 4 + i32.const 2 + i32.store16 offset=1040 + block ;; label = @7 + local.get 3 + i32.eqz + br_if 0 (;@7;) + local.get 4 + i32.const 1056 + i32.add + local.get 3 + i32.store + local.get 4 + i32.const 0 + i32.store16 offset=1052 + local.get 4 + i32.const 2 + i32.store offset=1048 + local.get 4 + i32.const 1055368 + i32.store offset=1044 + local.get 4 + local.get 5 + i32.store offset=1092 + local.get 4 + local.get 2 + i32.store offset=1088 + local.get 4 + local.get 4 + i32.const 1040 + i32.add + i32.store offset=1096 + br 5 (;@2;) + end + i32.const 1 + local.set 6 + local.get 4 + i32.const 1 + i32.store offset=1048 + local.get 4 + i32.const 1055373 + i32.store offset=1044 + local.get 4 + local.get 5 + i32.store offset=1092 + local.get 4 + local.get 2 + i32.store offset=1088 + local.get 4 + local.get 4 + i32.const 1040 + i32.add + i32.store offset=1096 + br 4 (;@2;) + end + i32.const 2 + local.set 6 + local.get 4 + i32.const 2 + i32.store16 offset=1040 + block ;; label = @6 + local.get 3 + i32.eqz + br_if 0 (;@6;) + local.get 4 + i32.const 1056 + i32.add + local.get 3 + i32.store + local.get 4 + i32.const 0 + i32.store16 offset=1052 + local.get 4 + i32.const 2 + i32.store offset=1048 + local.get 4 + i32.const 1055368 + i32.store offset=1044 + local.get 4 + local.get 5 + i32.store offset=1092 + local.get 4 + local.get 2 + i32.store offset=1088 + local.get 4 + local.get 4 + i32.const 1040 + i32.add + i32.store offset=1096 + br 4 (;@2;) + end + i32.const 1 + local.set 6 + local.get 4 + i32.const 1 + i32.store offset=1048 + local.get 4 + i32.const 1055373 + i32.store offset=1044 + local.get 4 + local.get 5 + i32.store offset=1092 + local.get 4 + local.get 2 + i32.store offset=1088 + local.get 4 + local.get 4 + i32.const 1040 + i32.add + i32.store offset=1096 + br 3 (;@2;) + end + local.get 4 + i32.const 3 + i32.store offset=1048 + local.get 4 + i32.const 1055374 + i32.store offset=1044 + local.get 4 + i32.const 2 + i32.store16 offset=1040 + local.get 4 + local.get 5 + i32.store offset=1092 + local.get 4 + local.get 2 + i32.store offset=1088 + local.get 4 + local.get 4 + i32.const 1040 + i32.add + i32.store offset=1096 + br 1 (;@3;) + end + local.get 4 + i32.const 3 + i32.store offset=1048 + local.get 4 + i32.const 1055377 + i32.store offset=1044 + local.get 4 + i32.const 2 + i32.store16 offset=1040 + local.get 4 + local.get 5 + i32.store offset=1092 + local.get 4 + local.get 2 + i32.store offset=1088 + local.get 4 + local.get 4 + i32.const 1040 + i32.add + i32.store offset=1096 + end + i32.const 1 + local.set 6 + end + local.get 4 + i32.const 1100 + i32.add + local.get 6 + i32.store + local.get 0 + local.get 4 + i32.const 1088 + i32.add + call $_ZN4core3fmt9Formatter19pad_formatted_parts17hb0e438d65d9ebff7E + local.set 6 + local.get 4 + i32.const 1136 + i32.add + global.set $__stack_pointer + local.get 6 + return + end + i32.const 1055380 + i32.const 37 + i32.const 1055420 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable) + (func $_ZN4core3fmt9Formatter19pad_formatted_parts17hb0e438d65d9ebff7E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 0 + i32.load offset=8 + i32.const 1 + i32.ne + br_if 0 (;@5;) + local.get 0 + i32.const 12 + i32.add + i32.load + local.set 3 + local.get 2 + i32.const 12 + i32.add + local.get 1 + i32.const 12 + i32.add + i32.load + local.tee 4 + i32.store + local.get 2 + local.get 1 + i32.load offset=8 + local.tee 5 + i32.store offset=8 + local.get 2 + local.get 1 + i32.load offset=4 + local.tee 6 + i32.store offset=4 + local.get 2 + local.get 1 + i32.load + local.tee 1 + i32.store + local.get 0 + i32.load8_u offset=32 + local.set 7 + local.get 0 + i32.load offset=4 + local.set 8 + local.get 0 + i32.load8_u + i32.const 8 + i32.and + br_if 1 (;@4;) + local.get 8 + local.set 9 + local.get 6 + local.set 1 + local.get 7 + local.set 10 + br 2 (;@3;) + end + local.get 0 + local.get 1 + call $_ZN4core3fmt9Formatter21write_formatted_parts17hb5dba2fb60251b15E + local.set 5 + br 3 (;@1;) + end + local.get 0 + i32.load offset=24 + local.get 1 + local.get 6 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@2;) + i32.const 1 + local.set 10 + local.get 0 + i32.const 1 + i32.store8 offset=32 + i32.const 48 + local.set 9 + local.get 0 + i32.const 48 + i32.store offset=4 + i32.const 0 + local.set 1 + local.get 2 + i32.const 0 + i32.store offset=4 + local.get 2 + i32.const 1052472 + i32.store + i32.const 0 + local.get 3 + local.get 6 + i32.sub + local.tee 6 + local.get 6 + local.get 3 + i32.gt_u + select + local.set 3 + end + block ;; label = @3 + local.get 4 + i32.eqz + br_if 0 (;@3;) + local.get 4 + i32.const 12 + i32.mul + local.set 4 + loop ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 5 + i32.load16_u + br_table 0 (;@8;) 2 (;@6;) 1 (;@7;) 0 (;@8;) + end + local.get 5 + i32.const 4 + i32.add + i32.load + local.set 6 + br 2 (;@5;) + end + local.get 5 + i32.const 8 + i32.add + i32.load + local.set 6 + br 1 (;@5;) + end + block ;; label = @6 + local.get 5 + i32.const 2 + i32.add + i32.load16_u + local.tee 11 + i32.const 1000 + i32.lt_u + br_if 0 (;@6;) + i32.const 4 + i32.const 5 + local.get 11 + i32.const 10000 + i32.lt_u + select + local.set 6 + br 1 (;@5;) + end + i32.const 1 + local.set 6 + local.get 11 + i32.const 10 + i32.lt_u + br_if 0 (;@5;) + i32.const 2 + i32.const 3 + local.get 11 + i32.const 100 + i32.lt_u + select + local.set 6 + end + local.get 5 + i32.const 12 + i32.add + local.set 5 + local.get 6 + local.get 1 + i32.add + local.set 1 + local.get 4 + i32.const -12 + i32.add + local.tee 4 + br_if 0 (;@4;) + end + end + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 3 + local.get 1 + i32.le_u + br_if 0 (;@5;) + i32.const 0 + local.set 5 + local.get 3 + local.get 1 + i32.sub + local.tee 1 + local.set 4 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 10 + i32.const 3 + i32.and + br_table 2 (;@6;) 0 (;@8;) 1 (;@7;) 0 (;@8;) 2 (;@6;) + end + i32.const 0 + local.set 4 + local.get 1 + local.set 5 + br 1 (;@6;) + end + local.get 1 + i32.const 1 + i32.shr_u + local.set 5 + local.get 1 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set 4 + end + local.get 5 + i32.const 1 + i32.add + local.set 5 + local.get 0 + i32.const 28 + i32.add + i32.load + local.set 1 + local.get 0 + i32.load offset=24 + local.set 6 + loop ;; label = @6 + local.get 5 + i32.const -1 + i32.add + local.tee 5 + i32.eqz + br_if 2 (;@4;) + local.get 6 + local.get 9 + local.get 1 + i32.load offset=16 + call_indirect (type 1) + i32.eqz + br_if 0 (;@6;) + br 4 (;@2;) + end + end + local.get 0 + local.get 2 + call $_ZN4core3fmt9Formatter21write_formatted_parts17hb5dba2fb60251b15E + local.set 5 + br 1 (;@3;) + end + local.get 0 + local.get 2 + call $_ZN4core3fmt9Formatter21write_formatted_parts17hb5dba2fb60251b15E + br_if 1 (;@2;) + i32.const 0 + local.set 5 + loop ;; label = @4 + block ;; label = @5 + local.get 4 + local.get 5 + i32.ne + br_if 0 (;@5;) + local.get 4 + local.get 4 + i32.lt_u + local.set 5 + br 2 (;@3;) + end + local.get 5 + i32.const 1 + i32.add + local.set 5 + local.get 6 + local.get 9 + local.get 1 + i32.load offset=16 + call_indirect (type 1) + i32.eqz + br_if 0 (;@4;) + end + local.get 5 + i32.const -1 + i32.add + local.get 4 + i32.lt_u + local.set 5 + end + local.get 0 + local.get 7 + i32.store8 offset=32 + local.get 0 + local.get 8 + i32.store offset=4 + br 1 (;@1;) + end + i32.const 1 + local.set 5 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 5) + (func $_ZN4core3fmt5float32float_to_decimal_common_shortest17h33dfa0a48ce9c38eE (type 21) (param i32 f32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i64 i64 i32 i64) + global.get $__stack_pointer + i32.const 128 + i32.sub + local.tee 4 + global.set $__stack_pointer + local.get 1 + i32.reinterpret_f32 + local.set 5 + i32.const 3 + local.set 6 + block ;; label = @1 + block ;; label = @2 + local.get 1 + f32.const inf (;=inf;) + f32.ne + br_if 0 (;@2;) + br 1 (;@1;) + end + local.get 1 + f32.const -inf (;=-inf;) + f32.eq + br_if 0 (;@1;) + block ;; label = @2 + local.get 1 + local.get 1 + f32.eq + br_if 0 (;@2;) + i32.const 2 + local.set 6 + br 1 (;@1;) + end + local.get 5 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + local.get 5 + i32.const 1 + i32.shl + i32.const 16777214 + i32.and + local.get 5 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.tee 7 + select + local.tee 8 + i64.extend_i32_u + local.tee 9 + i64.const 1 + i64.and + local.set 10 + i32.const 4 + local.set 6 + block ;; label = @2 + block ;; label = @3 + i32.const 4 + i32.const 3 + local.get 5 + i32.const 2139095040 + i32.and + select + i32.const 2 + local.get 5 + i32.const 2147483647 + i32.and + select + i32.const -2 + i32.add + br_table 2 (;@1;) 0 (;@3;) 1 (;@2;) 2 (;@1;) + end + local.get 7 + i32.const -150 + i32.add + local.set 11 + local.get 10 + i32.wrap_i64 + i32.const 1 + i32.xor + local.set 6 + i64.const 1 + local.set 12 + br 1 (;@1;) + end + i64.const 33554432 + local.get 9 + i64.const 1 + i64.shl + local.get 8 + i32.const 8388608 + i32.eq + local.tee 11 + select + local.set 9 + i64.const 2 + i64.const 1 + local.get 11 + select + local.set 12 + local.get 10 + i32.wrap_i64 + i32.const 1 + i32.xor + local.set 6 + i32.const -152 + i32.const -151 + local.get 11 + select + local.get 7 + i32.add + local.set 11 + end + local.get 4 + local.get 11 + i32.store16 offset=120 + local.get 4 + local.get 12 + i64.store offset=112 + local.get 4 + i64.const 1 + i64.store offset=104 + local.get 4 + local.get 9 + i64.store offset=96 + local.get 4 + local.get 6 + i32.store8 offset=122 + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 2 + i32.ne + br_if 0 (;@2;) + i32.const 1052472 + local.set 11 + i32.const 0 + local.set 5 + br 1 (;@1;) + end + block ;; label = @2 + local.get 2 + br_if 0 (;@2;) + i32.const 1055371 + i32.const 1052472 + local.get 5 + i32.const 0 + i32.lt_s + select + local.set 11 + local.get 5 + i32.const 31 + i32.shr_u + local.set 5 + br 1 (;@1;) + end + i32.const 1055371 + i32.const 1055372 + local.get 5 + i32.const 0 + i32.lt_s + select + local.set 11 + i32.const 1 + local.set 5 + end + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 6 + i32.const -2 + i32.add + local.tee 6 + i32.const 3 + local.get 6 + i32.const 3 + i32.lt_u + select + i32.const 255 + i32.and + br_table 3 (;@3;) 2 (;@4;) 1 (;@5;) 0 (;@6;) 3 (;@3;) + end + local.get 4 + i32.const 32 + i32.add + local.get 4 + i32.const 96 + i32.add + local.get 4 + i32.const 15 + i32.add + i32.const 17 + call $_ZN4core3num7flt2dec8strategy5grisu19format_shortest_opt17h64ed5b861a35503dE + block ;; label = @6 + block ;; label = @7 + local.get 4 + i32.load offset=32 + br_if 0 (;@7;) + local.get 4 + i32.const 80 + i32.add + local.get 4 + i32.const 96 + i32.add + local.get 4 + i32.const 15 + i32.add + i32.const 17 + call $_ZN4core3num7flt2dec8strategy6dragon15format_shortest17h79a057ff4a168249E + br 1 (;@6;) + end + local.get 4 + i32.const 80 + i32.add + i32.const 8 + i32.add + local.get 4 + i32.const 32 + i32.add + i32.const 8 + i32.add + i32.load + i32.store + local.get 4 + local.get 4 + i64.load offset=32 + i64.store offset=80 + end + local.get 4 + local.get 4 + i32.load offset=80 + local.get 4 + i32.load offset=84 + local.get 4 + i32.load16_u offset=88 + local.get 3 + local.get 4 + i32.const 32 + i32.add + i32.const 4 + call $_ZN4core3num7flt2dec17digits_to_dec_str17h8b11b5064ce17005E + local.get 4 + local.get 5 + i32.store offset=84 + local.get 4 + local.get 11 + i32.store offset=80 + local.get 4 + local.get 4 + i32.load + i32.store offset=88 + local.get 4 + i32.load offset=4 + local.set 6 + br 4 (;@1;) + end + i32.const 2 + local.set 6 + local.get 4 + i32.const 2 + i32.store16 offset=32 + block ;; label = @5 + local.get 3 + i32.eqz + br_if 0 (;@5;) + local.get 4 + i32.const 48 + i32.add + i32.const 1 + i32.store + local.get 4 + i32.const 0 + i32.store16 offset=44 + local.get 4 + i32.const 2 + i32.store offset=40 + local.get 4 + i32.const 1055368 + i32.store offset=36 + local.get 4 + local.get 5 + i32.store offset=84 + local.get 4 + local.get 11 + i32.store offset=80 + local.get 4 + local.get 4 + i32.const 32 + i32.add + i32.store offset=88 + br 4 (;@1;) + end + i32.const 1 + local.set 6 + local.get 4 + i32.const 1 + i32.store offset=40 + local.get 4 + i32.const 1055373 + i32.store offset=36 + local.get 4 + local.get 5 + i32.store offset=84 + local.get 4 + local.get 11 + i32.store offset=80 + local.get 4 + local.get 4 + i32.const 32 + i32.add + i32.store offset=88 + br 3 (;@1;) + end + local.get 4 + i32.const 3 + i32.store offset=40 + local.get 4 + i32.const 1055374 + i32.store offset=36 + local.get 4 + i32.const 2 + i32.store16 offset=32 + local.get 4 + local.get 5 + i32.store offset=84 + local.get 4 + local.get 11 + i32.store offset=80 + local.get 4 + local.get 4 + i32.const 32 + i32.add + i32.store offset=88 + br 1 (;@2;) + end + local.get 4 + i32.const 3 + i32.store offset=40 + local.get 4 + i32.const 1055377 + i32.store offset=36 + local.get 4 + i32.const 2 + i32.store16 offset=32 + local.get 4 + local.get 5 + i32.store offset=84 + local.get 4 + local.get 11 + i32.store offset=80 + local.get 4 + local.get 4 + i32.const 32 + i32.add + i32.store offset=88 + end + i32.const 1 + local.set 6 + end + local.get 4 + i32.const 92 + i32.add + local.get 6 + i32.store + local.get 0 + local.get 4 + i32.const 80 + i32.add + call $_ZN4core3fmt9Formatter19pad_formatted_parts17hb0e438d65d9ebff7E + local.set 6 + local.get 4 + i32.const 128 + i32.add + global.set $__stack_pointer + local.get 6) + (func $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE (type 22) (param i32 i32 i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.eqz + br_if 0 (;@2;) + i32.const 43 + i32.const 1114112 + local.get 0 + i32.load + local.tee 1 + i32.const 1 + i32.and + local.tee 6 + select + local.set 7 + local.get 6 + local.get 5 + i32.add + local.set 8 + br 1 (;@1;) + end + local.get 5 + i32.const 1 + i32.add + local.set 8 + local.get 0 + i32.load + local.set 1 + i32.const 45 + local.set 7 + end + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 4 + i32.and + br_if 0 (;@2;) + i32.const 0 + local.set 2 + br 1 (;@1;) + end + block ;; label = @2 + block ;; label = @3 + local.get 3 + i32.const 16 + i32.lt_u + br_if 0 (;@3;) + local.get 2 + local.get 3 + call $_ZN4core3str5count14do_count_chars17h56a7e2e55f230d77E + local.set 6 + br 1 (;@2;) + end + block ;; label = @3 + local.get 3 + br_if 0 (;@3;) + i32.const 0 + local.set 6 + br 1 (;@2;) + end + local.get 3 + i32.const 3 + i32.and + local.set 9 + block ;; label = @3 + block ;; label = @4 + local.get 3 + i32.const -1 + i32.add + i32.const 3 + i32.ge_u + br_if 0 (;@4;) + i32.const 0 + local.set 6 + local.get 2 + local.set 1 + br 1 (;@3;) + end + local.get 3 + i32.const -4 + i32.and + local.set 10 + i32.const 0 + local.set 6 + local.get 2 + local.set 1 + loop ;; label = @4 + local.get 6 + local.get 1 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 1 + i32.const 1 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 1 + i32.const 2 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 1 + i32.const 3 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 6 + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 10 + i32.const -4 + i32.add + local.tee 10 + br_if 0 (;@4;) + end + end + local.get 9 + i32.eqz + br_if 0 (;@2;) + loop ;; label = @3 + local.get 6 + local.get 1 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 6 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 9 + i32.const -1 + i32.add + local.tee 9 + br_if 0 (;@3;) + end + end + local.get 6 + local.get 8 + i32.add + local.set 8 + end + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load offset=8 + br_if 0 (;@2;) + i32.const 1 + local.set 1 + local.get 0 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17ha62baa3b1c0b6fe3E + br_if 1 (;@1;) + local.get 0 + i32.load offset=24 + local.get 4 + local.get 5 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + return + end + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 0 + i32.const 12 + i32.add + i32.load + local.tee 6 + local.get 8 + i32.le_u + br_if 0 (;@6;) + local.get 0 + i32.load8_u + i32.const 8 + i32.and + br_if 4 (;@2;) + i32.const 0 + local.set 1 + local.get 6 + local.get 8 + i32.sub + local.tee 9 + local.set 8 + i32.const 1 + local.get 0 + i32.load8_u offset=32 + local.tee 6 + local.get 6 + i32.const 3 + i32.eq + select + i32.const 3 + i32.and + br_table 3 (;@3;) 1 (;@5;) 2 (;@4;) 3 (;@3;) + end + i32.const 1 + local.set 1 + local.get 0 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17ha62baa3b1c0b6fe3E + br_if 4 (;@1;) + local.get 0 + i32.load offset=24 + local.get 4 + local.get 5 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + return + end + i32.const 0 + local.set 8 + local.get 9 + local.set 1 + br 1 (;@3;) + end + local.get 9 + i32.const 1 + i32.shr_u + local.set 1 + local.get 9 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set 8 + end + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 0 + i32.const 28 + i32.add + i32.load + local.set 9 + local.get 0 + i32.load offset=4 + local.set 6 + local.get 0 + i32.load offset=24 + local.set 10 + block ;; label = @3 + loop ;; label = @4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.eqz + br_if 1 (;@3;) + local.get 10 + local.get 6 + local.get 9 + i32.load offset=16 + call_indirect (type 1) + i32.eqz + br_if 0 (;@4;) + end + i32.const 1 + return + end + i32.const 1 + local.set 1 + local.get 6 + i32.const 1114112 + i32.eq + br_if 1 (;@1;) + local.get 0 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17ha62baa3b1c0b6fe3E + br_if 1 (;@1;) + local.get 0 + i32.load offset=24 + local.get 4 + local.get 5 + local.get 0 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@1;) + local.get 0 + i32.load offset=28 + local.set 9 + local.get 0 + i32.load offset=24 + local.set 0 + i32.const 0 + local.set 1 + block ;; label = @3 + loop ;; label = @4 + block ;; label = @5 + local.get 8 + local.get 1 + i32.ne + br_if 0 (;@5;) + local.get 8 + local.set 1 + br 2 (;@3;) + end + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 0 + local.get 6 + local.get 9 + i32.load offset=16 + call_indirect (type 1) + i32.eqz + br_if 0 (;@4;) + end + local.get 1 + i32.const -1 + i32.add + local.set 1 + end + local.get 1 + local.get 8 + i32.lt_u + local.set 1 + br 1 (;@1;) + end + local.get 0 + i32.load offset=4 + local.set 11 + local.get 0 + i32.const 48 + i32.store offset=4 + local.get 0 + i32.load8_u offset=32 + local.set 12 + i32.const 1 + local.set 1 + local.get 0 + i32.const 1 + i32.store8 offset=32 + local.get 0 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17ha62baa3b1c0b6fe3E + br_if 0 (;@1;) + i32.const 0 + local.set 1 + local.get 6 + local.get 8 + i32.sub + local.tee 9 + local.set 3 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + i32.const 1 + local.get 0 + i32.load8_u offset=32 + local.tee 6 + local.get 6 + i32.const 3 + i32.eq + select + i32.const 3 + i32.and + br_table 2 (;@2;) 0 (;@4;) 1 (;@3;) 2 (;@2;) + end + i32.const 0 + local.set 3 + local.get 9 + local.set 1 + br 1 (;@2;) + end + local.get 9 + i32.const 1 + i32.shr_u + local.set 1 + local.get 9 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set 3 + end + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 0 + i32.const 28 + i32.add + i32.load + local.set 9 + local.get 0 + i32.load offset=4 + local.set 6 + local.get 0 + i32.load offset=24 + local.set 10 + block ;; label = @2 + loop ;; label = @3 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.eqz + br_if 1 (;@2;) + local.get 10 + local.get 6 + local.get 9 + i32.load offset=16 + call_indirect (type 1) + i32.eqz + br_if 0 (;@3;) + end + i32.const 1 + return + end + i32.const 1 + local.set 1 + local.get 6 + i32.const 1114112 + i32.eq + br_if 0 (;@1;) + local.get 0 + i32.load offset=24 + local.get 4 + local.get 5 + local.get 0 + i32.load offset=28 + i32.load offset=12 + call_indirect (type 7) + br_if 0 (;@1;) + local.get 0 + i32.load offset=28 + local.set 1 + local.get 0 + i32.load offset=24 + local.set 10 + i32.const 0 + local.set 9 + block ;; label = @2 + loop ;; label = @3 + local.get 3 + local.get 9 + i32.eq + br_if 1 (;@2;) + local.get 9 + i32.const 1 + i32.add + local.set 9 + local.get 10 + local.get 6 + local.get 1 + i32.load offset=16 + call_indirect (type 1) + i32.eqz + br_if 0 (;@3;) + end + i32.const 1 + local.set 1 + local.get 9 + i32.const -1 + i32.add + local.get 3 + i32.lt_u + br_if 1 (;@1;) + end + local.get 0 + local.get 12 + i32.store8 offset=32 + local.get 0 + local.get 11 + i32.store offset=4 + i32.const 0 + return + end + local.get 1) + (func $_ZN4core3fmt5Write10write_char17h5f85cabaa62c28edE (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + i32.const 0 + i32.store offset=12 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 128 + i32.lt_u + br_if 0 (;@2;) + block ;; label = @3 + local.get 1 + i32.const 2048 + i32.lt_u + br_if 0 (;@3;) + block ;; label = @4 + local.get 1 + i32.const 65536 + i32.lt_u + br_if 0 (;@4;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 18 + i32.shr_u + i32.const 7 + i32.and + i32.const 240 + i32.or + i32.store8 offset=12 + i32.const 4 + local.set 1 + br 3 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 3 + local.set 1 + br 2 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + i32.store8 offset=12 + i32.const 2 + local.set 1 + br 1 (;@1;) + end + local.get 2 + local.get 1 + i32.store8 offset=12 + i32.const 1 + local.set 1 + end + local.get 0 + local.get 2 + i32.const 12 + i32.add + local.get 1 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h139107c7aca74f78E + local.set 1 + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN4core3fmt5Write9write_fmt17he41062470cc534b6E (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + 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 1056016 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17h541cd9cf0c4cf63eE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h43a06a5a85368727E (type 7) (param i32 i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + local.get 2 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h139107c7aca74f78E) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h8206c53902c6ac00E (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 0 + i32.load + local.set 0 + local.get 2 + i32.const 0 + i32.store offset=12 + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 128 + i32.lt_u + br_if 0 (;@2;) + block ;; label = @3 + local.get 1 + i32.const 2048 + i32.lt_u + br_if 0 (;@3;) + block ;; label = @4 + local.get 1 + i32.const 65536 + i32.lt_u + br_if 0 (;@4;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 18 + i32.shr_u + i32.const 7 + i32.and + i32.const 240 + i32.or + i32.store8 offset=12 + i32.const 4 + local.set 1 + br 3 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 3 + local.set 1 + br 2 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + i32.store8 offset=12 + i32.const 2 + local.set 1 + br 1 (;@1;) + end + local.get 2 + local.get 1 + i32.store8 offset=12 + i32.const 1 + local.set 1 + end + local.get 0 + local.get 2 + i32.const 12 + i32.add + local.get 1 + call $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h139107c7aca74f78E + local.set 1 + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h1ea6f4eb85676890E (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + 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 1056016 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17h541cd9cf0c4cf63eE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN4core3str5count14do_count_chars17h56a7e2e55f230d77E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.const 3 + i32.add + i32.const -4 + i32.and + local.tee 2 + local.get 0 + i32.sub + local.tee 3 + local.get 1 + i32.gt_u + br_if 0 (;@2;) + local.get 3 + i32.const 4 + i32.gt_u + br_if 0 (;@2;) + local.get 1 + local.get 3 + i32.sub + local.tee 4 + i32.const 4 + i32.lt_u + br_if 0 (;@2;) + local.get 4 + i32.const 3 + i32.and + local.set 5 + i32.const 0 + local.set 6 + i32.const 0 + local.set 1 + block ;; label = @3 + local.get 3 + i32.eqz + br_if 0 (;@3;) + local.get 3 + i32.const 3 + i32.and + local.set 7 + block ;; label = @4 + block ;; label = @5 + local.get 2 + local.get 0 + i32.const -1 + i32.xor + i32.add + i32.const 3 + i32.ge_u + br_if 0 (;@5;) + i32.const 0 + local.set 1 + local.get 0 + local.set 2 + br 1 (;@4;) + end + local.get 3 + i32.const -4 + i32.and + local.set 8 + i32.const 0 + local.set 1 + local.get 0 + local.set 2 + loop ;; label = @5 + local.get 1 + local.get 2 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 2 + i32.const 1 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 2 + i32.const 2 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 2 + i32.const 3 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 1 + local.get 2 + i32.const 4 + i32.add + local.set 2 + local.get 8 + i32.const -4 + i32.add + local.tee 8 + br_if 0 (;@5;) + end + end + local.get 7 + i32.eqz + br_if 0 (;@3;) + loop ;; label = @4 + local.get 1 + local.get 2 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 1 + local.get 2 + i32.const 1 + i32.add + local.set 2 + local.get 7 + i32.const -1 + i32.add + local.tee 7 + br_if 0 (;@4;) + end + end + local.get 0 + local.get 3 + i32.add + local.set 0 + block ;; label = @3 + local.get 5 + i32.eqz + br_if 0 (;@3;) + local.get 0 + local.get 4 + i32.const -4 + i32.and + i32.add + local.tee 2 + i32.load8_s + i32.const -65 + i32.gt_s + local.set 6 + local.get 5 + i32.const 1 + i32.eq + br_if 0 (;@3;) + local.get 6 + local.get 2 + i32.load8_s offset=1 + i32.const -65 + i32.gt_s + i32.add + local.set 6 + local.get 5 + i32.const 2 + i32.eq + br_if 0 (;@3;) + local.get 6 + local.get 2 + i32.load8_s offset=2 + i32.const -65 + i32.gt_s + i32.add + local.set 6 + end + local.get 4 + i32.const 2 + i32.shr_u + local.set 3 + local.get 6 + local.get 1 + i32.add + local.set 8 + loop ;; label = @3 + local.get 0 + local.set 6 + local.get 3 + i32.eqz + br_if 2 (;@1;) + local.get 3 + i32.const 192 + local.get 3 + i32.const 192 + i32.lt_u + select + local.tee 4 + i32.const 3 + i32.and + local.set 5 + local.get 4 + i32.const 2 + i32.shl + local.set 9 + block ;; label = @4 + block ;; label = @5 + local.get 4 + i32.const 252 + i32.and + local.tee 10 + i32.const 2 + i32.shl + local.tee 0 + br_if 0 (;@5;) + i32.const 0 + local.set 2 + br 1 (;@4;) + end + local.get 6 + local.get 0 + i32.add + local.set 7 + i32.const 0 + local.set 2 + local.get 6 + local.set 0 + loop ;; label = @5 + local.get 0 + i32.const 12 + i32.add + i32.load + local.tee 1 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 1 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 1 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 1 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 1 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 1 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 0 + i32.load + local.tee 1 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 1 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 2 + i32.add + i32.add + i32.add + i32.add + local.set 2 + local.get 7 + local.get 0 + i32.const 16 + i32.add + local.tee 0 + i32.ne + br_if 0 (;@5;) + end + end + local.get 6 + local.get 9 + i32.add + local.set 0 + local.get 3 + local.get 4 + i32.sub + local.set 3 + local.get 2 + i32.const 8 + i32.shr_u + i32.const 16711935 + i32.and + local.get 2 + i32.const 16711935 + i32.and + i32.add + i32.const 65537 + i32.mul + i32.const 16 + i32.shr_u + local.get 8 + i32.add + local.set 8 + local.get 5 + i32.eqz + br_if 0 (;@3;) + end + local.get 6 + local.get 10 + i32.const 2 + i32.shl + i32.add + local.set 0 + local.get 5 + i32.const 1073741823 + i32.add + local.tee 4 + i32.const 1073741823 + i32.and + local.tee 2 + i32.const 1 + i32.add + local.tee 1 + i32.const 3 + i32.and + local.set 3 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.const 3 + i32.ge_u + br_if 0 (;@4;) + i32.const 0 + local.set 2 + br 1 (;@3;) + end + local.get 1 + i32.const 2147483644 + i32.and + local.set 1 + i32.const 0 + local.set 2 + loop ;; label = @4 + local.get 0 + i32.const 12 + i32.add + i32.load + local.tee 7 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 7 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 7 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 7 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 7 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 7 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 0 + i32.load + local.tee 7 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 7 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 2 + i32.add + i32.add + i32.add + i32.add + local.set 2 + local.get 0 + i32.const 16 + i32.add + local.set 0 + local.get 1 + i32.const -4 + i32.add + local.tee 1 + br_if 0 (;@4;) + end + end + block ;; label = @3 + local.get 3 + i32.eqz + br_if 0 (;@3;) + local.get 4 + i32.const -1073741823 + i32.add + local.set 1 + loop ;; label = @4 + local.get 0 + i32.load + local.tee 7 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 7 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 2 + i32.add + local.set 2 + local.get 0 + i32.const 4 + i32.add + local.set 0 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + br_if 0 (;@4;) + end + end + local.get 2 + i32.const 8 + i32.shr_u + i32.const 16711935 + i32.and + local.get 2 + i32.const 16711935 + i32.and + i32.add + i32.const 65537 + i32.mul + i32.const 16 + i32.shr_u + local.get 8 + i32.add + return + end + block ;; label = @2 + local.get 1 + br_if 0 (;@2;) + i32.const 0 + return + end + local.get 1 + i32.const 3 + i32.and + local.set 2 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.const -1 + i32.add + i32.const 3 + i32.ge_u + br_if 0 (;@3;) + i32.const 0 + local.set 8 + br 1 (;@2;) + end + local.get 1 + i32.const -4 + i32.and + local.set 1 + i32.const 0 + local.set 8 + loop ;; label = @3 + local.get 8 + local.get 0 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 0 + i32.const 1 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 0 + i32.const 2 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 0 + i32.const 3 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 8 + local.get 0 + i32.const 4 + i32.add + local.set 0 + local.get 1 + i32.const -4 + i32.add + local.tee 1 + br_if 0 (;@3;) + end + end + local.get 2 + i32.eqz + br_if 0 (;@1;) + loop ;; label = @2 + local.get 8 + local.get 0 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 8 + local.get 0 + i32.const 1 + i32.add + local.set 0 + local.get 2 + i32.const -1 + i32.add + local.tee 2 + br_if 0 (;@2;) + end + end + local.get 8) + (func $_ZN4core3fmt9Formatter12pad_integral12write_prefix17ha62baa3b1c0b6fe3E (type 15) (param i32 i32 i32 i32) (result i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.const 1114112 + i32.eq + br_if 0 (;@3;) + i32.const 1 + local.set 4 + local.get 0 + i32.load offset=24 + local.get 1 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect (type 1) + br_if 1 (;@2;) + end + local.get 2 + br_if 1 (;@1;) + i32.const 0 + local.set 4 + end + local.get 4 + return + end + local.get 0 + i32.load offset=24 + local.get 2 + local.get 3 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7)) + (func $_ZN4core3fmt9Formatter21write_formatted_parts17hb5dba2fb60251b15E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.load offset=4 + local.tee 3 + i32.eqz + br_if 0 (;@2;) + i32.const 1 + local.set 4 + local.get 0 + i32.load offset=24 + local.get 1 + i32.load + local.get 3 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@1;) + end + block ;; label = @2 + local.get 1 + i32.const 12 + i32.add + i32.load + local.tee 4 + br_if 0 (;@2;) + i32.const 0 + local.set 4 + br 1 (;@1;) + end + local.get 1 + i32.load offset=8 + local.tee 5 + local.get 4 + i32.const 12 + i32.mul + i32.add + local.set 6 + local.get 0 + i32.const 28 + i32.add + i32.load + local.set 7 + local.get 0 + i32.load offset=24 + local.set 8 + local.get 2 + i32.const 8 + i32.add + i32.const 4 + i32.add + local.set 9 + loop ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 5 + i32.load16_u + br_table 0 (;@6;) 2 (;@4;) 1 (;@5;) 0 (;@6;) + end + block ;; label = @6 + block ;; label = @7 + local.get 5 + i32.load offset=4 + local.tee 1 + i32.const 65 + i32.lt_u + br_if 0 (;@7;) + local.get 7 + i32.load offset=12 + local.set 0 + loop ;; label = @8 + block ;; label = @9 + local.get 8 + i32.const 1056040 + i32.const 64 + local.get 0 + call_indirect (type 7) + i32.eqz + br_if 0 (;@9;) + i32.const 1 + local.set 4 + br 8 (;@1;) + end + local.get 1 + i32.const -64 + i32.add + local.tee 1 + i32.const 64 + i32.gt_u + br_if 0 (;@8;) + br 2 (;@6;) + end + end + local.get 1 + i32.eqz + br_if 3 (;@3;) + end + block ;; label = @6 + block ;; label = @7 + local.get 1 + i32.const 63 + i32.gt_u + br_if 0 (;@7;) + local.get 1 + i32.const 1056040 + i32.add + i32.load8_s + i32.const -65 + i32.le_s + br_if 1 (;@6;) + end + local.get 8 + i32.const 1056040 + local.get 1 + local.get 7 + i32.load offset=12 + call_indirect (type 7) + i32.eqz + br_if 3 (;@3;) + i32.const 1 + local.set 4 + br 5 (;@1;) + end + i32.const 1056040 + i32.const 64 + i32.const 0 + local.get 1 + local.get 1 + call $_ZN4core3str16slice_error_fail17h4bc2d57feff47476E + unreachable + end + local.get 8 + local.get 5 + i32.load offset=4 + local.get 5 + i32.load offset=8 + local.get 7 + i32.load offset=12 + call_indirect (type 7) + i32.eqz + br_if 1 (;@3;) + i32.const 1 + local.set 4 + br 3 (;@1;) + end + local.get 5 + i32.load16_u offset=2 + local.set 1 + local.get 9 + i32.const 0 + i32.store8 + local.get 2 + i32.const 0 + i32.store offset=8 + i32.const 1 + local.set 0 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 5 + i32.load16_u + br_table 2 (;@6;) 0 (;@8;) 1 (;@7;) 2 (;@6;) + end + block ;; label = @8 + local.get 5 + i32.load16_u offset=2 + local.tee 0 + i32.const 1000 + i32.lt_u + br_if 0 (;@8;) + i32.const 4 + i32.const 5 + local.get 0 + i32.const 10000 + i32.lt_u + select + local.set 10 + br 3 (;@5;) + end + i32.const 1 + local.set 10 + local.get 0 + i32.const 10 + i32.lt_u + br_if 2 (;@5;) + i32.const 2 + i32.const 3 + local.get 0 + i32.const 100 + i32.lt_u + select + local.set 10 + br 2 (;@5;) + end + i32.const 2 + local.set 0 + end + block ;; label = @6 + local.get 5 + local.get 0 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee 10 + i32.const 6 + i32.ge_u + br_if 0 (;@6;) + local.get 10 + br_if 1 (;@5;) + i32.const 0 + local.set 10 + br 2 (;@4;) + end + local.get 10 + i32.const 5 + local.get 1 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 2 + i32.const 8 + i32.add + local.get 10 + i32.add + local.set 4 + block ;; label = @5 + block ;; label = @6 + local.get 10 + i32.const 1 + i32.and + br_if 0 (;@6;) + local.get 1 + local.set 0 + br 1 (;@5;) + end + local.get 4 + i32.const -1 + i32.add + local.tee 4 + local.get 1 + local.get 1 + i32.const 65535 + i32.and + i32.const 10 + i32.div_u + local.tee 0 + i32.const 10 + i32.mul + i32.sub + i32.const 48 + i32.or + i32.store8 + end + local.get 10 + i32.const 1 + i32.eq + br_if 0 (;@4;) + local.get 4 + i32.const -2 + i32.add + local.set 1 + loop ;; label = @5 + local.get 1 + local.get 0 + i32.const 65535 + i32.and + local.tee 4 + i32.const 10 + i32.div_u + local.tee 3 + i32.const 10 + i32.rem_u + i32.const 48 + i32.or + i32.store8 + local.get 1 + i32.const 1 + i32.add + local.get 0 + local.get 3 + i32.const 10 + i32.mul + i32.sub + i32.const 48 + i32.or + i32.store8 + local.get 4 + i32.const 100 + i32.div_u + local.set 0 + local.get 1 + local.get 2 + i32.const 8 + i32.add + i32.eq + local.set 4 + local.get 1 + i32.const -2 + i32.add + local.set 1 + local.get 4 + i32.eqz + br_if 0 (;@5;) + end + end + local.get 8 + local.get 2 + i32.const 8 + i32.add + local.get 10 + local.get 7 + i32.load offset=12 + call_indirect (type 7) + i32.eqz + br_if 0 (;@3;) + i32.const 1 + local.set 4 + br 2 (;@1;) + end + local.get 6 + local.get 5 + i32.const 12 + i32.add + local.tee 5 + i32.ne + br_if 0 (;@2;) + end + i32.const 0 + local.set 4 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 4) + (func $_ZN4core3fmt9Formatter9write_str17h70c9163297c9e7eeE (type 7) (param i32 i32 i32) (result i32) + 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 (type 7)) + (func $_ZN4core3fmt9Formatter9write_fmt17h807f55232811e604E (type 1) (param i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 0 + i32.const 28 + i32.add + i32.load + local.set 3 + local.get 0 + i32.load offset=24 + local.set 0 + 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 0 + local.get 3 + local.get 2 + i32.const 8 + i32.add + call $_ZN4core3fmt5write17h541cd9cf0c4cf63eE + local.set 1 + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN4core3fmt9Formatter15debug_lower_hex17ha822bd90948b4cdeE (type 0) (param i32) (result i32) + local.get 0 + i32.load8_u + i32.const 16 + i32.and + i32.const 4 + i32.shr_u) + (func $_ZN4core3fmt9Formatter15debug_upper_hex17h91d2451cd7f56a0cE (type 0) (param i32) (result i32) + local.get 0 + i32.load8_u + i32.const 32 + i32.and + i32.const 5 + i32.shr_u) + (func $_ZN57_$LT$core..fmt..Formatter$u20$as$u20$core..fmt..Write$GT$10write_char17h6f20d6f74e1ca2c2E (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load offset=24 + local.get 1 + local.get 0 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + call_indirect (type 1)) + (func $_ZN43_$LT$bool$u20$as$u20$core..fmt..Display$GT$3fmt17hd76ff2a9c498df3fE (type 1) (param i32 i32) (result i32) + block ;; label = @1 + local.get 0 + i32.load8_u + br_if 0 (;@1;) + local.get 1 + i32.const 1056108 + i32.const 5 + call $_ZN4core3fmt9Formatter3pad17ha9ee57a4f2525d55E + return + end + local.get 1 + i32.const 1056104 + i32.const 4 + call $_ZN4core3fmt9Formatter3pad17ha9ee57a4f2525d55E) + (func $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17hd1b83d33d62085caE (type 0) (param i32) (result i32) + (local i32 i32 i32 i32 i32) + local.get 0 + i32.const 11 + i32.shl + local.set 1 + i32.const 0 + local.set 2 + i32.const 32 + local.set 3 + i32.const 32 + local.set 4 + block ;; label = @1 + block ;; label = @2 + loop ;; label = @3 + block ;; label = @4 + block ;; label = @5 + i32.const -1 + local.get 3 + i32.const 1 + i32.shr_u + local.get 2 + i32.add + local.tee 5 + i32.const 2 + i32.shl + i32.const 1058628 + i32.add + i32.load + i32.const 11 + i32.shl + local.tee 3 + local.get 1 + i32.ne + local.get 3 + local.get 1 + i32.lt_u + select + local.tee 3 + i32.const 1 + i32.ne + br_if 0 (;@5;) + local.get 5 + local.set 4 + br 1 (;@4;) + end + local.get 3 + i32.const 255 + i32.and + i32.const 255 + i32.ne + br_if 2 (;@2;) + local.get 5 + i32.const 1 + i32.add + local.set 2 + end + local.get 4 + local.get 2 + i32.sub + local.set 3 + local.get 4 + local.get 2 + i32.gt_u + br_if 0 (;@3;) + br 2 (;@1;) + end + end + local.get 5 + i32.const 1 + i32.add + local.set 2 + end + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.const 31 + i32.gt_u + br_if 0 (;@3;) + local.get 2 + i32.const 2 + i32.shl + local.set 1 + i32.const 707 + local.set 4 + block ;; label = @4 + local.get 2 + i32.const 31 + i32.eq + br_if 0 (;@4;) + local.get 1 + i32.const 1058632 + i32.add + i32.load + i32.const 21 + i32.shr_u + local.set 4 + end + i32.const 0 + local.set 3 + block ;; label = @4 + local.get 2 + i32.const -1 + i32.add + local.tee 5 + local.get 2 + i32.gt_u + br_if 0 (;@4;) + local.get 5 + i32.const 32 + i32.ge_u + br_if 2 (;@2;) + local.get 5 + i32.const 2 + i32.shl + i32.const 1058628 + i32.add + i32.load + i32.const 2097151 + i32.and + local.set 3 + end + local.get 4 + local.get 1 + i32.const 1058628 + i32.add + i32.load + i32.const 21 + i32.shr_u + local.tee 2 + i32.const -1 + i32.xor + i32.add + i32.eqz + br_if 2 (;@1;) + local.get 0 + local.get 3 + i32.sub + local.set 3 + local.get 2 + i32.const 707 + local.get 2 + i32.const 707 + i32.gt_u + select + local.set 1 + local.get 4 + i32.const -1 + i32.add + local.set 5 + i32.const 0 + local.set 4 + loop ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 1 + local.get 2 + i32.eq + br_if 0 (;@6;) + local.get 4 + local.get 2 + i32.const 1058756 + i32.add + i32.load8_u + i32.add + local.tee 4 + local.get 3 + i32.le_u + br_if 1 (;@5;) + br 5 (;@1;) + end + local.get 1 + i32.const 707 + i32.const 1059464 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 5 + local.get 2 + i32.const 1 + i32.add + local.tee 2 + i32.ne + br_if 0 (;@4;) + end + local.get 5 + local.set 2 + br 2 (;@1;) + end + local.get 2 + i32.const 32 + i32.const 1059464 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 5 + i32.const 32 + i32.const 1058404 + call $_ZN4core9panicking18panic_bounds_check17hba5217bb198d6134E + unreachable + end + local.get 2 + i32.const 1 + i32.and) + (func $_ZN4core7unicode9printable12is_printable17h75fa92575bb641beE (type 0) (param i32) (result i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.const 32 + i32.ge_u + br_if 0 (;@1;) + i32.const 0 + return + end + i32.const 1 + local.set 1 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.const 127 + i32.lt_u + br_if 0 (;@2;) + local.get 0 + i32.const 65536 + i32.lt_u + br_if 1 (;@1;) + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.const 131072 + i32.lt_u + br_if 0 (;@4;) + block ;; label = @5 + local.get 0 + i32.const -201547 + i32.add + i32.const 716213 + i32.ge_u + br_if 0 (;@5;) + i32.const 0 + return + end + block ;; label = @5 + local.get 0 + i32.const -195102 + i32.add + i32.const 1506 + i32.ge_u + br_if 0 (;@5;) + i32.const 0 + return + end + block ;; label = @5 + local.get 0 + i32.const -191457 + i32.add + i32.const 3103 + i32.ge_u + br_if 0 (;@5;) + i32.const 0 + return + end + block ;; label = @5 + local.get 0 + i32.const -183970 + i32.add + i32.const 14 + i32.ge_u + br_if 0 (;@5;) + i32.const 0 + return + end + block ;; label = @5 + local.get 0 + i32.const -2 + i32.and + i32.const 178206 + i32.ne + br_if 0 (;@5;) + i32.const 0 + return + end + local.get 0 + i32.const -32 + i32.and + i32.const 173792 + i32.ne + br_if 1 (;@3;) + i32.const 0 + return + end + local.get 0 + i32.const 1057647 + i32.const 42 + i32.const 1057731 + i32.const 192 + i32.const 1057923 + i32.const 438 + call $_ZN4core7unicode9printable5check17hb25b697475a80696E + return + end + i32.const 0 + local.set 1 + local.get 0 + i32.const -177977 + i32.add + i32.const 7 + i32.lt_u + br_if 0 (;@2;) + local.get 0 + i32.const -1114112 + i32.add + i32.const -196112 + i32.lt_u + local.set 1 + end + local.get 1 + return + end + local.get 0 + i32.const 1056976 + i32.const 40 + i32.const 1057056 + i32.const 288 + i32.const 1057344 + i32.const 303 + call $_ZN4core7unicode9printable5check17hb25b697475a80696E) + (func $_ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17ha0c2ebb577e704a4E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i64 i32) + i32.const 1 + local.set 2 + block ;; label = @1 + local.get 1 + i32.load offset=24 + local.tee 3 + i32.const 39 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=16 + local.tee 4 + call_indirect (type 1) + br_if 0 (;@1;) + i32.const 2 + local.set 1 + i32.const 48 + local.set 5 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + local.get 0 + i32.load + local.tee 0 + br_table 8 (;@2;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 2 (;@8;) 4 (;@6;) 1 (;@9;) 1 (;@9;) 3 (;@7;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 1 (;@9;) 5 (;@5;) 0 (;@10;) + end + local.get 0 + i32.const 92 + i32.eq + br_if 4 (;@5;) + end + local.get 0 + call $_ZN4core7unicode12unicode_data15grapheme_extend6lookup17hd1b83d33d62085caE + i32.eqz + br_if 4 (;@4;) + 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 6 + br 5 (;@3;) + end + i32.const 116 + local.set 5 + i32.const 2 + local.set 1 + br 5 (;@2;) + end + i32.const 114 + local.set 5 + i32.const 2 + local.set 1 + br 4 (;@2;) + end + i32.const 110 + local.set 5 + i32.const 2 + local.set 1 + br 3 (;@2;) + end + i32.const 2 + local.set 1 + local.get 0 + local.set 5 + br 2 (;@2;) + end + block ;; label = @4 + local.get 0 + call $_ZN4core7unicode9printable12is_printable17h75fa92575bb641beE + i32.eqz + br_if 0 (;@4;) + i32.const 1 + local.set 1 + local.get 0 + local.set 5 + br 2 (;@2;) + end + 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 6 + end + i32.const 3 + local.set 1 + local.get 0 + local.set 5 + end + loop ;; label = @2 + local.get 1 + local.set 7 + i32.const 0 + local.set 1 + local.get 5 + local.set 0 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 7 + br_table 1 (;@6;) 4 (;@3;) 2 (;@5;) 0 (;@7;) 1 (;@6;) + end + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 6 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 255 + i32.and + br_table 5 (;@6;) 0 (;@11;) 4 (;@7;) 1 (;@10;) 2 (;@9;) 3 (;@8;) 5 (;@6;) + end + local.get 6 + i64.const -1095216660481 + i64.and + local.set 6 + i32.const 125 + local.set 0 + i32.const 3 + local.set 1 + br 7 (;@3;) + end + local.get 6 + i64.const -1095216660481 + i64.and + i64.const 8589934592 + i64.or + local.set 6 + i32.const 123 + local.set 0 + i32.const 3 + local.set 1 + br 6 (;@3;) + end + local.get 6 + i64.const -1095216660481 + i64.and + i64.const 12884901888 + i64.or + local.set 6 + i32.const 117 + local.set 0 + i32.const 3 + local.set 1 + br 5 (;@3;) + end + local.get 6 + i64.const -1095216660481 + i64.and + i64.const 17179869184 + i64.or + local.set 6 + i32.const 92 + local.set 0 + i32.const 3 + local.set 1 + br 4 (;@3;) + end + i32.const 48 + i32.const 87 + local.get 5 + local.get 6 + i32.wrap_i64 + local.tee 1 + i32.const 2 + i32.shl + i32.shr_u + i32.const 15 + i32.and + local.tee 0 + i32.const 10 + i32.lt_u + select + local.get 0 + i32.add + local.set 0 + local.get 1 + i32.eqz + br_if 2 (;@4;) + local.get 6 + i64.const -1 + i64.add + i64.const 4294967295 + i64.and + local.get 6 + i64.const -4294967296 + i64.and + i64.or + local.set 6 + i32.const 3 + local.set 1 + br 3 (;@3;) + end + local.get 3 + i32.const 39 + local.get 4 + call_indirect (type 1) + local.set 2 + br 4 (;@1;) + end + i32.const 92 + local.set 0 + i32.const 1 + local.set 1 + br 1 (;@3;) + end + local.get 6 + i64.const -1095216660481 + i64.and + i64.const 4294967296 + i64.or + local.set 6 + i32.const 3 + local.set 1 + end + local.get 3 + local.get 0 + local.get 4 + call_indirect (type 1) + i32.eqz + br_if 0 (;@2;) + end + end + local.get 2) + (func $_ZN4core3fmt3num3imp51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h15e7c9973cd68b42E (type 1) (param i32 i32) (result i32) + local.get 0 + i64.load8_u + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h3b907f6c04e88bc5E) + (func $_ZN4core7unicode9printable5check17hb25b697475a80696E (type 23) (param i32 i32 i32 i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32) + i32.const 1 + local.set 7 + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.eqz + br_if 0 (;@2;) + local.get 1 + local.get 2 + i32.const 1 + i32.shl + i32.add + local.set 8 + local.get 0 + i32.const 65280 + i32.and + i32.const 8 + i32.shr_u + local.set 9 + i32.const 0 + local.set 10 + local.get 0 + i32.const 255 + i32.and + local.set 11 + block ;; label = @3 + loop ;; label = @4 + local.get 1 + i32.const 2 + i32.add + local.set 12 + local.get 10 + local.get 1 + i32.load8_u offset=1 + local.tee 2 + i32.add + local.set 13 + block ;; label = @5 + local.get 1 + i32.load8_u + local.tee 1 + local.get 9 + i32.eq + br_if 0 (;@5;) + local.get 1 + local.get 9 + i32.gt_u + br_if 3 (;@2;) + local.get 13 + local.set 10 + local.get 12 + local.set 1 + local.get 8 + local.get 12 + i32.ne + br_if 1 (;@4;) + br 3 (;@2;) + end + block ;; label = @5 + local.get 13 + local.get 10 + i32.lt_u + br_if 0 (;@5;) + local.get 13 + local.get 4 + i32.gt_u + br_if 2 (;@3;) + local.get 3 + local.get 10 + i32.add + local.set 1 + block ;; label = @6 + loop ;; label = @7 + local.get 2 + i32.eqz + br_if 1 (;@6;) + local.get 2 + i32.const -1 + i32.add + local.set 2 + local.get 1 + i32.load8_u + local.set 10 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 10 + local.get 11 + i32.ne + br_if 0 (;@7;) + end + i32.const 0 + local.set 7 + br 5 (;@1;) + end + local.get 13 + local.set 10 + local.get 12 + local.set 1 + local.get 8 + local.get 12 + i32.ne + br_if 1 (;@4;) + br 3 (;@2;) + end + end + local.get 10 + local.get 13 + local.get 2 + call $_ZN4core5slice5index22slice_index_order_fail17h62857dc8db751d24E + unreachable + end + local.get 13 + local.get 4 + local.get 2 + call $_ZN4core5slice5index24slice_end_index_len_fail17h67120a5d73398efeE + unreachable + end + local.get 6 + i32.eqz + br_if 0 (;@1;) + local.get 5 + local.get 6 + i32.add + local.set 11 + local.get 0 + i32.const 65535 + i32.and + local.set 1 + i32.const 1 + local.set 7 + block ;; label = @2 + loop ;; label = @3 + local.get 5 + i32.const 1 + i32.add + local.set 10 + block ;; label = @4 + block ;; label = @5 + local.get 5 + i32.load8_u + local.tee 2 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee 13 + i32.const 0 + i32.lt_s + br_if 0 (;@5;) + local.get 10 + local.set 5 + br 1 (;@4;) + end + local.get 10 + local.get 11 + i32.eq + br_if 2 (;@2;) + local.get 13 + i32.const 127 + i32.and + i32.const 8 + i32.shl + local.get 5 + i32.load8_u offset=1 + i32.or + local.set 2 + local.get 5 + i32.const 2 + i32.add + local.set 5 + end + local.get 1 + local.get 2 + i32.sub + local.tee 1 + i32.const 0 + i32.lt_s + br_if 2 (;@1;) + local.get 7 + i32.const 1 + i32.xor + local.set 7 + local.get 5 + local.get 11 + i32.ne + br_if 0 (;@3;) + br 2 (;@1;) + end + end + i32.const 1055037 + i32.const 43 + i32.const 1056960 + call $_ZN4core9panicking5panic17h0773910b5d65f5fcE + unreachable + end + local.get 7 + i32.const 1 + i32.and) + (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$3fmt17h0ed16b98041a2cb1E (type 1) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 128 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 0 + i32.load + local.set 0 + i32.const 0 + local.set 3 + loop ;; label = @1 + local.get 2 + local.get 3 + i32.add + i32.const 127 + i32.add + i32.const 48 + i32.const 87 + local.get 0 + i32.const 15 + i32.and + local.tee 4 + i32.const 10 + i32.lt_u + select + local.get 4 + i32.add + i32.store8 + local.get 3 + i32.const -1 + i32.add + local.set 3 + local.get 0 + i32.const 15 + i32.gt_u + local.set 4 + local.get 0 + i32.const 4 + i32.shr_u + local.set 0 + local.get 4 + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 3 + i32.const 128 + i32.add + local.tee 0 + i32.const 129 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + i32.const 128 + local.get 0 + call $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE + unreachable + end + local.get 1 + i32.const 1 + i32.const 1055812 + i32.const 2 + local.get 2 + local.get 3 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 3 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE + local.set 0 + local.get 2 + i32.const 128 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u8$GT$3fmt17h8e2c71f695215d9eE (type 1) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 128 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load + local.tee 3 + i32.const 16 + i32.and + br_if 0 (;@5;) + local.get 3 + i32.const 32 + i32.and + br_if 1 (;@4;) + local.get 0 + i64.load8_u + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h3b907f6c04e88bc5E + local.set 0 + br 4 (;@1;) + end + local.get 0 + i32.load8_u + local.set 3 + i32.const 0 + local.set 0 + loop ;; label = @5 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + i32.const 48 + i32.const 87 + local.get 3 + i32.const 15 + i32.and + local.tee 4 + i32.const 10 + i32.lt_u + select + local.get 4 + i32.add + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 3 + i32.const 255 + i32.and + local.tee 4 + i32.const 4 + i32.shr_u + local.set 3 + local.get 4 + i32.const 15 + i32.gt_u + br_if 0 (;@5;) + end + local.get 0 + i32.const 128 + i32.add + local.tee 3 + i32.const 129 + i32.ge_u + br_if 1 (;@3;) + local.get 1 + i32.const 1 + i32.const 1055812 + 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 $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE + local.set 0 + br 3 (;@1;) + end + local.get 0 + i32.load8_u + local.set 3 + i32.const 0 + local.set 0 + loop ;; label = @4 + local.get 2 + local.get 0 + i32.add + i32.const 127 + i32.add + i32.const 48 + i32.const 55 + local.get 3 + i32.const 15 + i32.and + local.tee 4 + i32.const 10 + i32.lt_u + select + local.get 4 + i32.add + i32.store8 + local.get 0 + i32.const -1 + i32.add + local.set 0 + local.get 3 + i32.const 255 + i32.and + local.tee 4 + i32.const 4 + i32.shr_u + local.set 3 + local.get 4 + i32.const 15 + i32.gt_u + br_if 0 (;@4;) + end + local.get 0 + i32.const 128 + i32.add + local.tee 3 + i32.const 129 + i32.ge_u + br_if 1 (;@2;) + local.get 1 + i32.const 1 + i32.const 1055812 + 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 $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE + local.set 0 + br 2 (;@1;) + end + local.get 3 + i32.const 128 + local.get 0 + call $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE + unreachable + end + local.get 3 + i32.const 128 + local.get 0 + call $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE + unreachable + end + local.get 2 + i32.const 128 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17h8fff0baba02eba20E (type 1) (param i32 i32) (result i32) + (local i32 i32 i64 i32 i32) + global.get $__stack_pointer + i32.const 128 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 1 + i32.load + local.tee 3 + i32.const 16 + i32.and + br_if 0 (;@5;) + local.get 3 + i32.const 32 + i32.and + br_if 1 (;@4;) + local.get 0 + i64.load + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h3b907f6c04e88bc5E + local.set 0 + br 4 (;@1;) + end + local.get 0 + i64.load + local.set 4 + i32.const 128 + local.set 0 + local.get 2 + i32.const 128 + i32.add + local.set 3 + block ;; label = @5 + block ;; label = @6 + loop ;; label = @7 + block ;; label = @8 + local.get 0 + br_if 0 (;@8;) + i32.const 0 + local.set 0 + br 3 (;@5;) + end + local.get 3 + i32.const -1 + i32.add + i32.const 48 + i32.const 87 + local.get 4 + i32.wrap_i64 + local.tee 5 + i32.const 15 + i32.and + local.tee 6 + i32.const 10 + i32.lt_u + select + local.get 6 + i32.add + i32.store8 + block ;; label = @8 + local.get 4 + i64.const 16 + i64.lt_u + br_if 0 (;@8;) + local.get 3 + i32.const -2 + i32.add + local.tee 3 + i32.const 48 + i32.const 87 + local.get 5 + i32.const 255 + i32.and + local.tee 6 + i32.const 160 + i32.lt_u + select + local.get 6 + i32.const 4 + i32.shr_u + i32.add + i32.store8 + local.get 0 + i32.const -2 + i32.add + local.set 0 + local.get 4 + i64.const 256 + i64.lt_u + local.set 6 + local.get 4 + i64.const 8 + i64.shr_u + local.set 4 + local.get 6 + i32.eqz + br_if 1 (;@7;) + br 2 (;@6;) + end + end + local.get 0 + i32.const -1 + i32.add + local.set 0 + end + local.get 0 + i32.const 129 + i32.ge_u + br_if 2 (;@3;) + end + local.get 1 + i32.const 1 + i32.const 1055812 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE + local.set 0 + br 3 (;@1;) + end + local.get 0 + i64.load + local.set 4 + i32.const 128 + local.set 0 + local.get 2 + i32.const 128 + i32.add + local.set 3 + block ;; label = @4 + block ;; label = @5 + loop ;; label = @6 + block ;; label = @7 + local.get 0 + br_if 0 (;@7;) + i32.const 0 + local.set 0 + br 3 (;@4;) + end + local.get 3 + i32.const -1 + i32.add + i32.const 48 + i32.const 55 + local.get 4 + i32.wrap_i64 + local.tee 5 + i32.const 15 + i32.and + local.tee 6 + i32.const 10 + i32.lt_u + select + local.get 6 + i32.add + i32.store8 + block ;; label = @7 + local.get 4 + i64.const 16 + i64.lt_u + br_if 0 (;@7;) + local.get 3 + i32.const -2 + i32.add + local.tee 3 + i32.const 48 + i32.const 55 + local.get 5 + i32.const 255 + i32.and + local.tee 6 + i32.const 160 + i32.lt_u + select + local.get 6 + i32.const 4 + i32.shr_u + i32.add + i32.store8 + local.get 0 + i32.const -2 + i32.add + local.set 0 + local.get 4 + i64.const 256 + i64.lt_u + local.set 6 + local.get 4 + i64.const 8 + i64.shr_u + local.set 4 + local.get 6 + i32.eqz + br_if 1 (;@6;) + br 2 (;@5;) + end + end + local.get 0 + i32.const -1 + i32.add + local.set 0 + end + local.get 0 + i32.const 129 + i32.ge_u + br_if 2 (;@2;) + end + local.get 1 + i32.const 1 + i32.const 1055812 + i32.const 2 + local.get 2 + local.get 0 + i32.add + i32.const 128 + local.get 0 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE + local.set 0 + br 2 (;@1;) + end + local.get 0 + i32.const 128 + local.get 0 + call $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE + unreachable + end + local.get 0 + i32.const 128 + local.get 0 + call $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE + unreachable + end + local.get 2 + i32.const 128 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN4core3fmt3num3imp7fmt_u6417h3b907f6c04e88bc5E (type 24) (param i64 i32 i32) (result i32) + (local i32 i32 i64 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 3 + global.set $__stack_pointer + i32.const 39 + local.set 4 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i64.const 10000 + i64.ge_u + br_if 0 (;@2;) + local.get 0 + local.set 5 + br 1 (;@1;) + end + i32.const 39 + local.set 4 + loop ;; label = @2 + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.add + local.tee 6 + i32.const -4 + i32.add + local.get 0 + local.get 0 + i64.const 10000 + i64.div_u + local.tee 5 + i64.const 10000 + i64.mul + i64.sub + i32.wrap_i64 + local.tee 7 + i32.const 65535 + i32.and + i32.const 100 + i32.div_u + local.tee 8 + i32.const 1 + i32.shl + i32.const 1055814 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get 6 + i32.const -2 + i32.add + local.get 7 + local.get 8 + i32.const 100 + i32.mul + i32.sub + i32.const 65535 + i32.and + i32.const 1 + i32.shl + i32.const 1055814 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get 4 + i32.const -4 + i32.add + local.set 4 + local.get 0 + i64.const 99999999 + i64.gt_u + local.set 6 + local.get 5 + local.set 0 + local.get 6 + br_if 0 (;@2;) + end + end + block ;; label = @1 + local.get 5 + i32.wrap_i64 + local.tee 6 + i32.const 99 + i32.le_u + br_if 0 (;@1;) + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.const -2 + i32.add + local.tee 4 + i32.add + local.get 5 + i32.wrap_i64 + local.tee 6 + local.get 6 + i32.const 65535 + i32.and + i32.const 100 + i32.div_u + local.tee 6 + i32.const 100 + i32.mul + i32.sub + i32.const 65535 + i32.and + i32.const 1 + i32.shl + i32.const 1055814 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + end + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 10 + i32.lt_u + br_if 0 (;@2;) + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.const -2 + i32.add + local.tee 4 + i32.add + local.get 6 + i32.const 1 + i32.shl + i32.const 1055814 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + br 1 (;@1;) + end + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.const -1 + i32.add + local.tee 4 + i32.add + local.get 6 + i32.const 48 + i32.add + i32.store8 + end + local.get 2 + local.get 1 + i32.const 1052472 + i32.const 0 + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.add + i32.const 39 + local.get 4 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE + local.set 4 + local.get 3 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 4) + (func $_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f32$GT$3fmt17h9c2e9bf143eab442E (type 1) (param i32 i32) (result i32) + (local i32 f32) + local.get 1 + i32.load + i32.const 1 + i32.and + local.set 2 + local.get 0 + f32.load + local.set 3 + block ;; label = @1 + local.get 1 + i32.load offset=16 + i32.const 1 + i32.ne + br_if 0 (;@1;) + local.get 1 + local.get 3 + local.get 2 + local.get 1 + i32.const 20 + i32.add + i32.load + call $_ZN4core3fmt5float29float_to_decimal_common_exact17ha0eb36bd8474348dE + return + end + local.get 1 + local.get 3 + local.get 2 + i32.const 0 + call $_ZN4core3fmt5float32float_to_decimal_common_shortest17h33dfa0a48ce9c38eE) + (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17h120fe52ac5f82d5aE (type 1) (param i32 i32) (result i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 128 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 0 + i32.load + local.set 0 + i32.const 0 + local.set 3 + loop ;; label = @1 + local.get 2 + local.get 3 + i32.add + i32.const 127 + i32.add + i32.const 48 + i32.const 55 + local.get 0 + i32.const 15 + i32.and + local.tee 4 + i32.const 10 + i32.lt_u + select + local.get 4 + i32.add + i32.store8 + local.get 3 + i32.const -1 + i32.add + local.set 3 + local.get 0 + i32.const 15 + i32.gt_u + local.set 4 + local.get 0 + i32.const 4 + i32.shr_u + local.set 0 + local.get 4 + br_if 0 (;@1;) + end + block ;; label = @1 + local.get 3 + i32.const 128 + i32.add + local.tee 0 + i32.const 129 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + i32.const 128 + local.get 0 + call $_ZN4core5slice5index26slice_start_index_len_fail17ha6fb1826de9a80efE + unreachable + end + local.get 1 + i32.const 1 + i32.const 1055812 + i32.const 2 + local.get 2 + local.get 3 + i32.add + i32.const 128 + i32.add + i32.const 0 + local.get 3 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17hdcea878c425855bdE + local.set 0 + local.get 2 + i32.const 128 + i32.add + global.set $__stack_pointer + local.get 0) + (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$i64$GT$3fmt17h46307307b5c78611E (type 1) (param i32 i32) (result i32) + (local i64 i64) + local.get 0 + i64.load + local.tee 2 + local.get 2 + i64.const 63 + i64.shr_s + local.tee 3 + i64.add + local.get 3 + i64.xor + local.get 2 + i64.const -1 + i64.gt_s + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h3b907f6c04e88bc5E) + (func $_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h705be58bcf9008f7E (type 1) (param i32 i32) (result i32) + local.get 1 + i32.load offset=24 + i32.const 1058576 + i32.const 5 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7)) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0857a3400628d6ccE (type 1) (param i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load + local.tee 3 + i32.load8_u + br_if 0 (;@2;) + local.get 1 + i32.load offset=24 + i32.const 1058554 + i32.const 4 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + local.set 1 + br 1 (;@1;) + end + i32.const 1 + local.set 0 + local.get 2 + local.get 3 + i32.const 1 + i32.add + i32.store offset=12 + local.get 2 + local.get 1 + i32.load offset=24 + i32.const 1058550 + i32.const 4 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + i32.store8 offset=24 + local.get 2 + local.get 1 + i32.store offset=16 + local.get 2 + i32.const 0 + i32.store8 offset=25 + local.get 2 + i32.const 0 + i32.store offset=20 + local.get 2 + i32.const 16 + i32.add + local.get 2 + i32.const 12 + i32.add + i32.const 1055796 + call $_ZN4core3fmt8builders10DebugTuple5field17hf9de79b94b040d93E + drop + local.get 2 + i32.load8_u offset=24 + local.set 1 + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.load offset=20 + local.tee 3 + br_if 0 (;@3;) + local.get 1 + local.set 0 + br 1 (;@2;) + end + local.get 1 + i32.const 255 + i32.and + br_if 0 (;@2;) + local.get 2 + i32.load offset=16 + local.set 1 + block ;; label = @3 + local.get 3 + i32.const 1 + i32.ne + br_if 0 (;@3;) + local.get 2 + i32.load8_u offset=25 + i32.const 255 + i32.and + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.load8_u + i32.const 4 + i32.and + br_if 0 (;@3;) + i32.const 1 + local.set 0 + local.get 1 + i32.load offset=24 + i32.const 1055792 + i32.const 1 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + br_if 1 (;@2;) + end + local.get 1 + i32.load offset=24 + i32.const 1055436 + i32.const 1 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + local.set 0 + end + local.get 0 + i32.const 255 + i32.and + i32.const 0 + i32.ne + local.set 1 + end + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + local.get 1) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h2fd6267e9cdddbc5E (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17had963592bd1ced4fE) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hb34742d9346db2d5E (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN4core3fmt3num49_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u8$GT$3fmt17h8e2c71f695215d9eE) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17heae36dae1833d716E (type 1) (param i32 i32) (result i32) + local.get 0 + i32.load + local.get 1 + call $_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17h8fff0baba02eba20E) + (func $_ZN64_$LT$core..str..error..Utf8Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h1ad6f3dae6a83ddeE (type 1) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 0 + i32.store + local.get 2 + local.get 0 + i32.const 4 + i32.add + i32.store offset=4 + local.get 1 + i32.load offset=24 + i32.const 1058581 + i32.const 9 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + local.set 0 + local.get 2 + i32.const 0 + i32.store8 offset=13 + local.get 2 + local.get 0 + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.store offset=8 + local.get 2 + i32.const 8 + i32.add + i32.const 1058590 + i32.const 11 + local.get 2 + i32.const 1058560 + call $_ZN4core3fmt8builders11DebugStruct5field17hfef08cc5743c92cbE + i32.const 1058601 + i32.const 9 + local.get 2 + i32.const 4 + i32.add + i32.const 1058612 + call $_ZN4core3fmt8builders11DebugStruct5field17hfef08cc5743c92cbE + drop + local.get 2 + i32.load8_u offset=12 + local.set 1 + block ;; label = @1 + local.get 2 + i32.load8_u offset=13 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.const 255 + i32.and + local.set 0 + i32.const 1 + local.set 1 + local.get 0 + br_if 0 (;@1;) + block ;; label = @2 + local.get 2 + i32.load offset=8 + local.tee 1 + i32.load8_u + i32.const 4 + i32.and + br_if 0 (;@2;) + local.get 1 + i32.load offset=24 + i32.const 1055787 + i32.const 2 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + local.set 1 + br 1 (;@1;) + end + local.get 1 + i32.load offset=24 + i32.const 1055786 + i32.const 1 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7) + local.set 1 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 1 + i32.const 255 + i32.and + i32.const 0 + i32.ne) + (func $_ZN69_$LT$core..alloc..layout..LayoutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h2e33e29d82514b7dE (type 1) (param i32 i32) (result i32) + local.get 1 + i32.load offset=24 + i32.const 1059480 + i32.const 11 + local.get 1 + i32.const 28 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 7)) + (func $memcpy (type 7) (param i32 i32 i32) (result i32) + local.get 0 + local.get 1 + local.get 2 + call $_ZN17compiler_builtins3mem6memcpy17h82aafc8c8c9fcf12E) + (func $memmove (type 7) (param i32 i32 i32) (result i32) + local.get 0 + local.get 1 + local.get 2 + call $_ZN17compiler_builtins3mem7memmove17h242fb0a6942e65d1E) + (func $_ZN17compiler_builtins3mem6memcpy17h82aafc8c8c9fcf12E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.const 15 + i32.gt_u + br_if 0 (;@2;) + local.get 0 + local.set 3 + br 1 (;@1;) + end + local.get 0 + i32.const 0 + local.get 0 + i32.sub + i32.const 3 + i32.and + local.tee 4 + i32.add + local.set 5 + block ;; label = @2 + local.get 4 + i32.eqz + br_if 0 (;@2;) + local.get 0 + local.set 3 + local.get 1 + local.set 6 + loop ;; label = @3 + local.get 3 + local.get 6 + i32.load8_u + i32.store8 + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 3 + i32.const 1 + i32.add + local.tee 3 + local.get 5 + i32.lt_u + br_if 0 (;@3;) + end + end + local.get 5 + local.get 2 + local.get 4 + i32.sub + local.tee 7 + i32.const -4 + i32.and + local.tee 8 + i32.add + local.set 3 + block ;; label = @2 + block ;; label = @3 + local.get 1 + local.get 4 + i32.add + local.tee 9 + i32.const 3 + i32.and + local.tee 6 + i32.eqz + br_if 0 (;@3;) + local.get 8 + i32.const 1 + i32.lt_s + br_if 1 (;@2;) + local.get 9 + i32.const -4 + i32.and + local.tee 10 + i32.const 4 + i32.add + local.set 1 + i32.const 0 + local.get 6 + i32.const 3 + i32.shl + local.tee 2 + i32.sub + i32.const 24 + i32.and + local.set 4 + local.get 10 + i32.load + local.set 6 + loop ;; label = @4 + local.get 5 + local.get 6 + local.get 2 + i32.shr_u + local.get 1 + i32.load + local.tee 6 + local.get 4 + i32.shl + i32.or + i32.store + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i32.const 4 + i32.add + local.tee 5 + local.get 3 + i32.lt_u + br_if 0 (;@4;) + br 2 (;@2;) + end + end + local.get 8 + i32.const 1 + i32.lt_s + br_if 0 (;@2;) + local.get 9 + local.set 1 + loop ;; label = @3 + local.get 5 + local.get 1 + i32.load + i32.store + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i32.const 4 + i32.add + local.tee 5 + local.get 3 + i32.lt_u + br_if 0 (;@3;) + end + end + local.get 7 + i32.const 3 + i32.and + local.set 2 + local.get 9 + local.get 8 + i32.add + local.set 1 + end + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + local.get 3 + local.get 2 + i32.add + local.set 5 + loop ;; label = @2 + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 3 + i32.const 1 + i32.add + local.tee 3 + local.get 5 + i32.lt_u + br_if 0 (;@2;) + end + end + local.get 0) + (func $_ZN17compiler_builtins3mem7memmove17h242fb0a6942e65d1E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 0 + local.get 1 + i32.sub + local.get 2 + i32.ge_u + br_if 0 (;@5;) + local.get 1 + local.get 2 + i32.add + local.set 3 + local.get 0 + local.get 2 + i32.add + local.set 4 + local.get 2 + i32.const 15 + i32.gt_u + br_if 1 (;@4;) + local.get 0 + local.set 5 + br 2 (;@3;) + end + block ;; label = @5 + local.get 2 + i32.const 15 + i32.gt_u + br_if 0 (;@5;) + local.get 0 + local.set 4 + br 3 (;@2;) + end + local.get 0 + i32.const 0 + local.get 0 + i32.sub + i32.const 3 + i32.and + local.tee 3 + i32.add + local.set 5 + block ;; label = @5 + local.get 3 + i32.eqz + br_if 0 (;@5;) + local.get 0 + local.set 4 + local.get 1 + local.set 6 + loop ;; label = @6 + local.get 4 + local.get 6 + i32.load8_u + i32.store8 + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 4 + i32.const 1 + i32.add + local.tee 4 + local.get 5 + i32.lt_u + br_if 0 (;@6;) + end + end + local.get 5 + local.get 2 + local.get 3 + i32.sub + local.tee 7 + i32.const -4 + i32.and + local.tee 8 + i32.add + local.set 4 + block ;; label = @5 + block ;; label = @6 + local.get 1 + local.get 3 + i32.add + local.tee 9 + i32.const 3 + i32.and + local.tee 6 + i32.eqz + br_if 0 (;@6;) + local.get 8 + i32.const 1 + i32.lt_s + br_if 1 (;@5;) + local.get 9 + i32.const -4 + i32.and + local.tee 10 + i32.const 4 + i32.add + local.set 1 + i32.const 0 + local.get 6 + i32.const 3 + i32.shl + local.tee 2 + i32.sub + i32.const 24 + i32.and + local.set 3 + local.get 10 + i32.load + local.set 6 + loop ;; label = @7 + local.get 5 + local.get 6 + local.get 2 + i32.shr_u + local.get 1 + i32.load + local.tee 6 + local.get 3 + i32.shl + i32.or + i32.store + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i32.const 4 + i32.add + local.tee 5 + local.get 4 + i32.lt_u + br_if 0 (;@7;) + br 2 (;@5;) + end + end + local.get 8 + i32.const 1 + i32.lt_s + br_if 0 (;@5;) + local.get 9 + local.set 1 + loop ;; label = @6 + local.get 5 + local.get 1 + i32.load + i32.store + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i32.const 4 + i32.add + local.tee 5 + local.get 4 + i32.lt_u + br_if 0 (;@6;) + end + end + local.get 7 + i32.const 3 + i32.and + local.set 2 + local.get 9 + local.get 8 + i32.add + local.set 1 + br 2 (;@2;) + end + local.get 4 + i32.const -4 + i32.and + local.set 6 + i32.const 0 + local.get 4 + i32.const 3 + i32.and + local.tee 8 + i32.sub + local.set 7 + block ;; label = @4 + local.get 8 + i32.eqz + br_if 0 (;@4;) + local.get 1 + local.get 2 + i32.add + i32.const -1 + i32.add + local.set 5 + loop ;; label = @5 + local.get 4 + i32.const -1 + i32.add + local.tee 4 + local.get 5 + i32.load8_u + i32.store8 + local.get 5 + i32.const -1 + i32.add + local.set 5 + local.get 6 + local.get 4 + i32.lt_u + br_if 0 (;@5;) + end + end + local.get 6 + local.get 2 + local.get 8 + i32.sub + local.tee 9 + i32.const -4 + i32.and + local.tee 5 + i32.sub + local.set 4 + i32.const 0 + local.get 5 + i32.sub + local.set 8 + block ;; label = @4 + block ;; label = @5 + local.get 3 + local.get 7 + i32.add + local.tee 7 + i32.const 3 + i32.and + local.tee 5 + i32.eqz + br_if 0 (;@5;) + local.get 8 + i32.const -1 + i32.gt_s + br_if 1 (;@4;) + local.get 7 + i32.const -4 + i32.and + local.tee 10 + i32.const -4 + i32.add + local.set 1 + i32.const 0 + local.get 5 + i32.const 3 + i32.shl + local.tee 2 + i32.sub + i32.const 24 + i32.and + local.set 3 + local.get 10 + i32.load + local.set 5 + loop ;; label = @6 + local.get 6 + i32.const -4 + i32.add + local.tee 6 + local.get 5 + local.get 3 + i32.shl + local.get 1 + i32.load + local.tee 5 + local.get 2 + i32.shr_u + i32.or + i32.store + local.get 1 + i32.const -4 + i32.add + local.set 1 + local.get 6 + local.get 4 + i32.gt_u + br_if 0 (;@6;) + br 2 (;@4;) + end + end + local.get 8 + i32.const -1 + i32.gt_s + br_if 0 (;@4;) + local.get 9 + local.get 1 + i32.add + i32.const -4 + i32.add + local.set 1 + loop ;; label = @5 + local.get 6 + i32.const -4 + i32.add + local.tee 6 + local.get 1 + i32.load + i32.store + local.get 1 + i32.const -4 + i32.add + local.set 1 + local.get 6 + local.get 4 + i32.gt_u + br_if 0 (;@5;) + end + end + local.get 9 + i32.const 3 + i32.and + local.tee 1 + i32.eqz + br_if 2 (;@1;) + local.get 7 + local.get 8 + i32.add + local.set 3 + local.get 4 + local.get 1 + i32.sub + local.set 5 + end + local.get 3 + i32.const -1 + i32.add + local.set 1 + loop ;; label = @3 + local.get 4 + i32.const -1 + i32.add + local.tee 4 + local.get 1 + i32.load8_u + i32.store8 + local.get 1 + i32.const -1 + i32.add + local.set 1 + local.get 5 + local.get 4 + i32.lt_u + br_if 0 (;@3;) + br 2 (;@1;) + end + end + local.get 2 + i32.eqz + br_if 0 (;@1;) + local.get 4 + local.get 2 + i32.add + local.set 5 + loop ;; label = @2 + local.get 4 + local.get 1 + i32.load8_u + i32.store8 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 4 + i32.const 1 + i32.add + local.tee 4 + local.get 5 + i32.lt_u + br_if 0 (;@2;) + end + end + local.get 0) + (func $_ZN17compiler_builtins3mem6memset17h51398e1422689521E (type 7) (param i32 i32 i32) (result i32) + (local i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.const 15 + i32.gt_u + br_if 0 (;@2;) + local.get 0 + local.set 3 + br 1 (;@1;) + end + local.get 0 + i32.const 0 + local.get 0 + i32.sub + i32.const 3 + i32.and + local.tee 4 + i32.add + local.set 5 + block ;; label = @2 + local.get 4 + i32.eqz + br_if 0 (;@2;) + local.get 0 + local.set 3 + loop ;; label = @3 + local.get 3 + local.get 1 + i32.store8 + local.get 3 + i32.const 1 + i32.add + local.tee 3 + local.get 5 + i32.lt_u + br_if 0 (;@3;) + end + end + local.get 5 + local.get 2 + local.get 4 + i32.sub + local.tee 4 + i32.const -4 + i32.and + local.tee 2 + i32.add + local.set 3 + block ;; label = @2 + local.get 2 + i32.const 0 + i32.le_s + br_if 0 (;@2;) + local.get 1 + i32.const 255 + i32.and + i32.const 16843009 + i32.mul + local.set 2 + loop ;; label = @3 + local.get 5 + local.get 2 + i32.store + local.get 5 + i32.const 4 + i32.add + local.tee 5 + local.get 3 + i32.lt_u + br_if 0 (;@3;) + end + end + local.get 4 + i32.const 3 + i32.and + local.set 2 + end + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + local.get 3 + local.get 2 + i32.add + local.set 5 + loop ;; label = @2 + local.get 3 + local.get 1 + i32.store8 + local.get 3 + i32.const 1 + i32.add + local.tee 3 + local.get 5 + i32.lt_u + br_if 0 (;@2;) + end + end + local.get 0) + (func $memset (type 7) (param i32 i32 i32) (result i32) + local.get 0 + local.get 1 + local.get 2 + call $_ZN17compiler_builtins3mem6memset17h51398e1422689521E) + (table (;0;) 91 91 funcref) + (memory (;0;) 17) + (global $__stack_pointer (mut i32) (i32.const 1048576)) + (global (;1;) i32 (i32.const 1060564)) + (global (;2;) i32 (i32.const 1060576)) + (export "memory" (memory 0)) + (export "_init" (func $_init)) + (export "delete_ffi_array" (func $delete_ffi_array)) + (export "allocate_mem" (func $allocate_mem)) + (export "load_script" (func $load_script)) + (export "destroy_script" (func $destroy_script)) + (export "get_script_capabilities" (func $get_script_capabilities)) + (export "script_on_initialize" (func $script_on_initialize)) + (export "script_on_before_turn" (func $script_on_before_turn)) + (export "__data_end" (global 1)) + (export "__heap_base" (global 2)) + (elem (;0;) (i32.const 1) func $_ZN4core3ptr65drop_in_place$LT$gen7_scripts..registered_scripts..get_script$GT$17h0dc43b2c5ae4601bE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hd8afd096f09d3d1bE $_ZN4core3ops8function5FnMut8call_mut17hd3dbd180068d218fE $_ZN4core3ops8function2Fn4call17h690e8ac702f33c93E $_ZN4core3ptr58drop_in_place$LT$gen7_scripts..test_script..TestScript$GT$17h5dce4db582a781ccE.llvm.7819689321721894569 $_ZN102_$LT$gen7_scripts..test_script..TestScript$u20$as$u20$pkmn_lib_interface..handling..script..Script$GT$7destroy17h70fb7a2ee51390cbE $_ZN102_$LT$gen7_scripts..test_script..TestScript$u20$as$u20$pkmn_lib_interface..handling..script..Script$GT$8get_name17h2c55acbc60ee6fbcE $_ZN102_$LT$gen7_scripts..test_script..TestScript$u20$as$u20$pkmn_lib_interface..handling..script..Script$GT$16get_capabilities17h01e49f38fbb9423dE $_ZN102_$LT$gen7_scripts..test_script..TestScript$u20$as$u20$pkmn_lib_interface..handling..script..Script$GT$13on_initialize17h2e4907a42435a179E $_ZN18pkmn_lib_interface8handling6script6Script14on_before_turn17heeedff4752085793E $_ZN4core3fmt3num3imp51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17h15e7c9973cd68b42E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h8f6ea91326f59ddfE $_ZN116_$LT$pkmn_lib_interface..app_interface..library..effect_parameter..EffectParameter$u20$as$u20$core..fmt..Display$GT$3fmt17hddcc071428e8c900E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h8d9c68924e9283f9E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h16ace2697a37173eE $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hc96150079442aef8E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17ha12fdefc20c5b1ffE $_ZN4core3ptr118drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$$GT$17h3825bf66ff436fc1E $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h50337a9a059b9485E $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$17h6fdf0c641df61e70E $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h2c069d11ffbf6d2eE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17haac9a19ce6350e80E $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h0ab257df3675ec28E $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h4a6540e9dadfae4aE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h2b5153c0417a3f94E $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h6c7f33fab7c891daE $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hec472401f59e7c1eE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17haaef01963590d413E $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h2073c309326ae5feE $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h2fdcc5cf64853effE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h3271bb82adbb1458E $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h6b00ec5844c91035E $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hce0948bba917b3daE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hc78cb12d09c45396E $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h39548e311818f29dE $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hea775a9114e2ba07E $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h0017f4f95bcb9423E $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h08486f8ff10d446dE $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h00974258595e1b0dE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hba30a2f4ba12e15bE $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17hc575e44cb9f54028E $_ZN4core3ptr147drop_in_place$LT$pkmn_lib_interface..app_interface..library..move_data..MoveData..new..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h52af2ca2ae41cfbcE $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17ha259b6dfe086614eE $_ZN18pkmn_lib_interface13app_interface7library9move_data8MoveData3new28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17ha6eaaf5ba72e4051E $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h2de6d2d5e758a8bfE $_ZN4core3ptr47drop_in_place$LT$core..cell..BorrowMutError$GT$17h61547e6ea13bb26aE $_ZN63_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h6f487ac2903f0e44E $_ZN4core3ptr44drop_in_place$LT$core..cell..BorrowError$GT$17hacc773145f704424E $_ZN60_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$3fmt17had3440eba33f6c5bE $_ZN4core3ptr53drop_in_place$LT$core..alloc..layout..LayoutError$GT$17h0eff41cd417ca281E $_ZN69_$LT$core..alloc..layout..LayoutError$u20$as$u20$core..fmt..Debug$GT$3fmt17h2e33e29d82514b7dE $_ZN4core3ptr52drop_in_place$LT$$RF$core..str..error..Utf8Error$GT$17h6fb43b3b2f3892f3E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h202fba0409674febE $_ZN4core3ptr111drop_in_place$LT$pkmn_lib_interface..app_interface..string_key..StringKey..new..$u7b$$u7b$closure$u7d$$u7d$$GT$17hc1b229ec0d778e03E.llvm.18319150102898691041 $_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h6d3f9c82dcd499b9E.llvm.18319150102898691041 $_ZN18pkmn_lib_interface13app_interface10string_key9StringKey3new28_$u7b$$u7b$closure$u7d$$u7d$17h585a6c0b09e97951E.llvm.18319150102898691041 $_ZN4core3ptr30drop_in_place$LT$$RF$usize$GT$17h11d5106fdfd478f8E.llvm.4379080869922518282 $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h1e4d8730cce05c21E $_ZN4core3ptr48drop_in_place$LT$wee_alloc..LargeAllocPolicy$GT$17hf05a839e3a1e3a38E $_ZN70_$LT$wee_alloc..LargeAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$22new_cell_for_free_list17h4b67e3513eaf4953E $_ZN70_$LT$wee_alloc..LargeAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$13min_cell_size17h29cf135bf3217ea3E $_ZN70_$LT$wee_alloc..LargeAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$32should_merge_adjacent_free_cells17h94d2b54d969bcc0dE $_ZN4core3ptr66drop_in_place$LT$wee_alloc..size_classes..SizeClassAllocPolicy$GT$17h3c078edb5771892aE $_ZN88_$LT$wee_alloc..size_classes..SizeClassAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$22new_cell_for_free_list17h0724545a64d86676E $_ZN88_$LT$wee_alloc..size_classes..SizeClassAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$13min_cell_size17h80f43d5c40fce804E $_ZN88_$LT$wee_alloc..size_classes..SizeClassAllocPolicy$u20$as$u20$wee_alloc..AllocPolicy$GT$32should_merge_adjacent_free_cells17hc702de73ba728915E $_ZN4core3ptr48drop_in_place$LT$wee_alloc..LargeAllocPolicy$GT$17hf05a839e3a1e3a38E.1 $_ZN4core3ptr27drop_in_place$LT$$RF$u8$GT$17he59d323992f417a2E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h5798f50b29e37acbE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h935724cc66a25a2eE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17hdec7ddab5e24e535E $_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h705be58bcf9008f7E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hc9ebebfaabed7c75E $_ZN71_$LT$core..ops..range..Range$LT$Idx$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h424074486177c719E $_ZN41_$LT$char$u20$as$u20$core..fmt..Debug$GT$3fmt17ha0c2ebb577e704a4E $_ZN4core3ops8function6FnOnce9call_once17hecf0d72f2fc94f8aE $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h048bf2722bbaaf65E $_ZN59_$LT$core..fmt..Arguments$u20$as$u20$core..fmt..Display$GT$3fmt17hbde4cf33375ef476E $_ZN4core3ptr102drop_in_place$LT$$RF$core..iter..adapters..copied..Copied$LT$core..slice..iter..Iter$LT$u8$GT$$GT$$GT$17h44d9de85dd212812E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17heecc97a41e7e6799E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17heae36dae1833d716E $_ZN68_$LT$core..fmt..builders..PadAdapter$u20$as$u20$core..fmt..Write$GT$9write_str17h139107c7aca74f78E $_ZN4core3fmt5Write10write_char17h5f85cabaa62c28edE $_ZN4core3fmt5Write9write_fmt17he41062470cc534b6E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hb34742d9346db2d5E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17h43a06a5a85368727E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h8206c53902c6ac00E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h1ea6f4eb85676890E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h2fd6267e9cdddbc5E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0857a3400628d6ccE) + (data $.rodata (i32.const 1048576) "assertion failed: idx < CAPACITY/rustc/87588a2afd9ca903366f0deaf84d805f34469384/library/alloc/src/collections/btree/node.rs\00 \00\10\00[\00\00\00z\02\00\00\09\00\00\00assertion failed: edge.height == self.height - 1 \00\10\00[\00\00\00\87\02\00\00\09\00\00\00 \00\10\00[\00\00\00\8b\02\00\00\09\00\00\00assertion failed: src.len() == dst.len() \00\10\00[\00\00\00\d2\06\00\00\05\00\00\00 \00\10\00[\00\00\00V\04\00\00\16\00\00\00 \00\10\00[\00\00\00\96\04\00\00\16\00\00\00assertion failed: edge.height == self.node.height - 1\00\00\00 \00\10\00[\00\00\00\ac\03\00\00\09\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\09\00\00\00\0a\00\00\00Too many lock readers, cannot safely proceed/home/nathan/.cargo/registry/src/github.com-1ecc6299db9ec823/spin-0.9.4/src/rwlock.rs\00\00\00\e0\01\10\00U\00\00\00\04\01\00\00\0d\00\00\00assertion failed: self.lock.load(Ordering::Relaxed) & !(WRITER | UPGRADED) > 0\00\00\e0\01\10\00U\00\00\00\e5\02\00\00\09\00\00\00\01\00\00\00\e0\01\10\00U\00\00\00\f6\02\00\00\09\00\00\00called `Option::unwrap()` on a `None` valueTestScript\01gen_7_scripts/src/test_script.rs\00\00\f2\02\10\00 \00\00\00\1d\00\00\00?\00\00\00found move! has base power\00\bc\02\10\00\00\00\00\00/\03\10\00\05\00\00\004\03\10\00\0b\00\00\00Found a parameter with value: \00\00X\03\10\00\1e\00\00\00\f2\02\10\00 \00\00\00\22\00\00\00\18\00\00\00\f2\02\10\00 \00\00\00\22\00\00\00(\00\00\00called `Option::unwrap()` on a `None` value/rustc/87588a2afd9ca903366f0deaf84d805f34469384/library/alloc/src/collections/btree/map/entry.rs\00\cb\03\10\00`\00\00\00k\01\00\00 \00\00\00/home/nathan/Projects/PokemonLibraries/Gen7ScriptsRs/pkmn_lib_interface/src/app_interface/list.rs\00\00\00<\04\10\00a\00\00\009\00\00\00-\00\00\00<\04\10\00a\00\00\00<\00\00\000\00\00\00<\04\10\00a\00\00\00D\00\00\00\0d\00\00\00<\04\10\00a\00\00\00E\00\00\00\0d\00\00\00<\04\10\00a\00\00\00E\00\00\00)\00\00\00called `Option::unwrap()` on a `None` valueassertion failed: idx < CAPACITY/rustc/87588a2afd9ca903366f0deaf84d805f34469384/library/alloc/src/collections/btree/node.rsassertion failed: edge.height == self.height - 1\00\00;\05\10\00[\00\00\00\87\02\00\00\09\00\00\00;\05\10\00[\00\00\00\8b\02\00\00\09\00\00\00assertion failed: src.len() == dst.len();\05\10\00[\00\00\00\d2\06\00\00\05\00\00\00;\05\10\00[\00\00\00V\04\00\00\16\00\00\00;\05\10\00[\00\00\00\96\04\00\00\16\00\00\00assertion failed: edge.height == self.node.height - 1\00\00\00;\05\10\00[\00\00\00\ac\03\00\00\09\00\00\00called `Option::unwrap()` on a `None` value/rustc/87588a2afd9ca903366f0deaf84d805f34469384/library/alloc/src/collections/btree/navigate.rs\00\00\b3\06\10\00_\00\00\00L\02\00\00\0d\00\00\00called `Option::unwrap()` on a `None` value/rustc/87588a2afd9ca903366f0deaf84d805f34469384/library/alloc/src/collections/btree/navigate.rs\00\00O\07\10\00_\00\00\00\ba\00\00\00\15\00\00\00EffectParameter::String(\22\22)\00\c0\07\10\00\19\00\00\00\d9\07\10\00\02\00\00\00EffectParameter::Float()\ec\07\10\00\17\00\00\00\03\08\10\00\01\00\00\00EffectParameter::Int(\00\00\00\14\08\10\00\15\00\00\00\03\08\10\00\01\00\00\00EffectParameter::Bool(\00\00<\08\10\00\16\00\00\00\03\08\10\00\01\00\00\00EffectParameter::Nonecalled `Option::unwrap()` on a `None` value\12\00\00\00\00\00\00\00\01\00\00\00\13\00\00\00\14\00\00\00\14\00\00\00\15\00\00\00\04\00\00\00\04\00\00\00\16\00\00\00\17\00\00\00\17\00\00\00\18\00\00\00\04\00\00\00\04\00\00\00\19\00\00\00\1a\00\00\00\1a\00\00\00\1b\00\00\00\04\00\00\00\04\00\00\00\1c\00\00\00\1d\00\00\00\1d\00\00\00\1e\00\00\00\04\00\00\00\04\00\00\00\1f\00\00\00 \00\00\00 \00\00\00!\00\00\00\04\00\00\00\04\00\00\00\22\00\00\00#\00\00\00#\00\00\00$\00\00\00\04\00\00\00\04\00\00\00%\00\00\00&\00\00\00&\00\00\00'\00\00\00\04\00\00\00\04\00\00\00(\00\00\00)\00\00\00)\00\00\00*\00\00\00\04\00\00\00\04\00\00\00+\00\00\00,\00\00\00,\00\00\00pkmn_lib_interface/src/handling/cacheable.rs|\09\10\00,\00\00\00\13\00\00\00,\00\00\00already borrowed.\00\00\00\00\00\00\00\01\00\00\00/\00\00\00already mutably borrowed0\00\00\00\00\00\00\00\01\00\00\001\00\00\00called `Option::unwrap()` on a `None` valuecalled `Result::unwrap()` on an `Err` value\00\002\00\00\00\00\00\00\00\01\00\00\003\00\00\004\00\00\00\04\00\00\00\04\00\00\005\00\00\006\00\00\00\00\00\00\00\01\00\00\007\00\00\008\00\00\008\00\00\00pkmn_lib_interface/src/app_interface/string_key.rs\00\00\90\0a\10\002\00\00\00&\00\00\00\1a\00\00\00\90\0a\10\002\00\00\00*\00\00\00\16\00\00\00\90\0a\10\002\00\00\00-\00\00\005\00\00\00\90\0a\10\002\00\00\000\00\00\00\1b\00\00\00\90\0a\10\002\00\00\004\00\00\00\16\00\00\00\90\0a\10\002\00\00\00>\00\00\00)\00\00\00pkmn_lib_interface/src/handling/cacheable.rs$\0b\10\00,\00\00\00\13\00\00\00,\00\00\00pkmn_lib_interface/src/utils.rs\00`\0b\10\00\1f\00\00\00*\00\00\00$\00\00\00`\0b\10\00\1f\00\00\00*\00\00\006\00\00\00memory allocation of bytes failed\00\00\a0\0b\10\00\15\00\00\00\b5\0b\10\00\0d\00\00\00`\0b\10\00\1f\00\00\00E\00\00\00\05\00\00\00`\0b\10\00\1f\00\00\00J\00\00\00A\00\00\00called `Option::unwrap()` on a `None` value/rustc/87588a2afd9ca903366f0deaf84d805f34469384/library/alloc/src/collections/btree/map/entry.rs\00\1f\0c\10\00`\00\00\00k\01\00\00 \00\00\00called `Option::unwrap()` on a `None` valuepkmn_lib_interface/src/lib.rs\bb\0c\10\00\1d\00\00\003\00\00\00<\00\00\00\bb\0c\10\00\1d\00\00\00E\00\00\00\1d\00\00\00\bb\0c\10\00\1d\00\00\00S\00\00\00\0a\00\00\00\bb\0c\10\00\1d\00\00\00]\00\00\00\15\00\00\00/rustc/87588a2afd9ca903366f0deaf84d805f34469384/library/core/src/ascii.rs\00\00\00\18\0d\10\00I\00\00\00t\00\00\00#\00\00\00\22\00\00\00t\0d\10\00\01\00\00\009\00\00\00\04\00\00\00\04\00\00\00:\00\00\00called `Option::unwrap()` on a `None` value/home/nathan/.cargo/registry/src/github.com-1ecc6299db9ec823/wee_alloc-0.4.5/src/lib.rs\00\00;\00\00\00\00\00\00\00\01\00\00\00<\00\00\00=\00\00\00>\00\00\00?\00\00\00\04\00\00\00\04\00\00\00@\00\00\00A\00\00\00B\00\00\00\bb\0d\10\00W\00\00\003\03\00\00\0f\00\00\00C\00\00\00\00\00\00\00\01\00\00\00<\00\00\00=\00\00\00>\00\00\00D\00\00\00\04\00\00\00\04\00\00\00E\00\00\00F\00\00\00G\00\00\00library/alloc/src/raw_vec.rscapacity overflow\00\00\00\a0\0e\10\00\11\00\00\00\84\0e\10\00\1c\00\00\00\06\02\00\00\05\00\00\00a formatting trait implementation returned an error\00D\00\00\00\00\00\00\00\01\00\00\00H\00\00\00library/alloc/src/fmt.rs\10\0f\10\00\18\00\00\00d\02\00\00\09\00\00\00assertion failed: edelta >= 0library/core/src/num/diy_float.rs\00\00U\0f\10\00!\00\00\00L\00\00\00\09\00\00\00U\0f\10\00!\00\00\00N\00\00\00\09\00\00\00\01\00\00\00\0a\00\00\00d\00\00\00\e8\03\00\00\10'\00\00\a0\86\01\00@B\0f\00\80\96\98\00\00\e1\f5\05\00\ca\9a;\02\00\00\00\14\00\00\00\c8\00\00\00\d0\07\00\00 N\00\00@\0d\03\00\80\84\1e\00\00-1\01\00\c2\eb\0b\00\945w\00\00\c1o\f2\86#\00\00\00\00\00\81\ef\ac\85[Am-\ee\04\00\00\00\00\00\00\00\00\00\00\01\1fj\bfd\ed8n\ed\97\a7\da\f4\f9?\e9\03O\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01>\95.\09\99\df\03\fd8\15\0f/\e4t#\ec\f5\cf\d3\08\dc\04\c4\da\b0\cd\bc\19\7f3\a6\03&\1f\e9N\02\00\00\00\00\00\00\00\00\00\00\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|.\98[\87\d3\ber\9f\d9\d8\87/\15\12\c6P\dekpnJ\cf\0f\d8\95\d5nq\b2&\b0f\c6\ad$6\15\1dZ\d3B<\0eT\ffc\c0sU\cc\17\ef\f9e\f2(\bcU\f7\c7\dc\80\dc\edn\f4\ce\ef\dc_\f7S\05\00library/core/src/num/flt2dec/strategy/dragon.rsassertion failed: d.mant > 0\00\c0\10\10\00/\00\00\00u\00\00\00\05\00\00\00assertion failed: d.minus > 0\00\00\00\c0\10\10\00/\00\00\00v\00\00\00\05\00\00\00assertion failed: d.plus > 0\c0\10\10\00/\00\00\00w\00\00\00\05\00\00\00assertion failed: d.mant.checked_add(d.plus).is_some()\00\00\c0\10\10\00/\00\00\00x\00\00\00\05\00\00\00assertion failed: d.mant.checked_sub(d.minus).is_some()\00\c0\10\10\00/\00\00\00y\00\00\00\05\00\00\00assertion failed: buf.len() >= MAX_SIG_DIGITS\00\00\00\c0\10\10\00/\00\00\00z\00\00\00\05\00\00\00\c0\10\10\00/\00\00\00\c1\00\00\00\09\00\00\00\c0\10\10\00/\00\00\00\fa\00\00\00\0d\00\00\00\c0\10\10\00/\00\00\00\0a\01\00\00\05\00\00\00\c0\10\10\00/\00\00\00\0b\01\00\00\05\00\00\00\c0\10\10\00/\00\00\00\0c\01\00\00\05\00\00\00\c0\10\10\00/\00\00\00\0d\01\00\00\05\00\00\00\c0\10\10\00/\00\00\00\0e\01\00\00\05\00\00\00\c0\10\10\00/\00\00\00e\01\00\00\0d\00\00\00\c0\10\10\00/\00\00\00q\01\00\00&\00\00\00\dfE\1a=\03\cf\1a\e6\c1\fb\cc\fe\00\00\00\00\ca\c6\9a\c7\17\fep\ab\dc\fb\d4\fe\00\00\00\00O\dc\bc\be\fc\b1w\ff\f6\fb\dc\fe\00\00\00\00\0c\d6kA\ef\91V\be\11\fc\e4\fe\00\00\00\00<\fc\7f\90\ad\1f\d0\8d,\fc\ec\fe\00\00\00\00\83\9aU1(\5cQ\d3F\fc\f4\fe\00\00\00\00\b5\c9\a6\ad\8f\acq\9da\fc\fc\fe\00\00\00\00\cb\8b\ee#w\22\9c\ea{\fc\04\ff\00\00\00\00mSx@\91I\cc\ae\96\fc\0c\ff\00\00\00\00W\ce\b6]y\12<\82\b1\fc\14\ff\00\00\00\007V\fbM6\94\10\c2\cb\fc\1c\ff\00\00\00\00O\98H8o\ea\96\90\e6\fc$\ff\00\00\00\00\c7:\82%\cb\85t\d7\00\fd,\ff\00\00\00\00\f4\97\bf\97\cd\cf\86\a0\1b\fd4\ff\00\00\00\00\e5\ac*\17\98\0a4\ef5\fd<\ff\00\00\00\00\8e\b25*\fbg8\b2P\fdD\ff\00\00\00\00;?\c6\d2\df\d4\c8\84k\fdL\ff\00\00\00\00\ba\cd\d3\1a'D\dd\c5\85\fdT\ff\00\00\00\00\96\c9%\bb\ce\9fk\93\a0\fd\5c\ff\00\00\00\00\84\a5b}$l\ac\db\ba\fdd\ff\00\00\00\00\f6\da_\0dXf\ab\a3\d5\fdl\ff\00\00\00\00&\f1\c3\de\93\f8\e2\f3\ef\fdt\ff\00\00\00\00\b8\80\ff\aa\a8\ad\b5\b5\0a\fe|\ff\00\00\00\00\8bJ|l\05_b\87%\fe\84\ff\00\00\00\00S0\c14`\ff\bc\c9?\fe\8c\ff\00\00\00\00U&\ba\91\8c\85N\96Z\fe\94\ff\00\00\00\00\bd~)p$w\f9\dft\fe\9c\ff\00\00\00\00\8f\b8\e5\b8\9f\bd\df\a6\8f\fe\a4\ff\00\00\00\00\94}t\88\cf_\a9\f8\a9\fe\ac\ff\00\00\00\00\cf\9b\a8\8f\93pD\b9\c4\fe\b4\ff\00\00\00\00k\15\0f\bf\f8\f0\08\8a\df\fe\bc\ff\00\00\00\00\b611eU%\b0\cd\f9\fe\c4\ff\00\00\00\00\ac\7f{\d0\c6\e2?\99\14\ff\cc\ff\00\00\00\00\06;+*\c4\10\5c\e4.\ff\d4\ff\00\00\00\00\d3\92si\99$$\aaI\ff\dc\ff\00\00\00\00\0e\ca\00\83\f2\b5\87\fdc\ff\e4\ff\00\00\00\00\eb\1a\11\92d\08\e5\bc~\ff\ec\ff\00\00\00\00\cc\88Po\09\cc\bc\8c\99\ff\f4\ff\00\00\00\00,e\19\e2X\17\b7\d1\b3\ff\fc\ff\00\00\00\00\00\00\00\00\00\00@\9c\ce\ff\04\00\00\00\00\00\00\00\00\00\10\a5\d4\e8\e8\ff\0c\00\00\00\00\00\00\00b\ac\c5\ebx\ad\03\00\14\00\00\00\00\00\84\09\94\f8x9?\81\1e\00\1c\00\00\00\00\00\b3\15\07\c9{\ce\97\c08\00$\00\00\00\00\00p\5c\ea{\ce2~\8fS\00,\00\00\00\00\00h\80\e9\ab\a48\d2\d5m\004\00\00\00\00\00E\22\9a\17&'O\9f\88\00<\00\00\00\00\00'\fb\c4\d41\a2c\ed\a2\00D\00\00\00\00\00\a8\ad\c8\8c8e\de\b0\bd\00L\00\00\00\00\00\dbe\ab\1a\8e\08\c7\83\d8\00T\00\00\00\00\00\9a\1dqB\f9\1d]\c4\f2\00\5c\00\00\00\00\00X\e7\1b\a6,iM\92\0d\01d\00\00\00\00\00\ea\8dp\1ad\ee\01\da'\01l\00\00\00\00\00Jw\ef\9a\99\a3m\a2B\01t\00\00\00\00\00\85k}\b4{x\09\f2\5c\01|\00\00\00\00\00w\18\ddy\a1\e4T\b4w\01\84\00\00\00\00\00\c2\c5\9b[\92\86[\86\92\01\8c\00\00\00\00\00=]\96\c8\c5S5\c8\ac\01\94\00\00\00\00\00\b3\a0\97\fa\5c\b4*\95\c7\01\9c\00\00\00\00\00\e3_\a0\99\bd\9fF\de\e1\01\a4\00\00\00\00\00%\8c9\db4\c2\9b\a5\fc\01\ac\00\00\00\00\00\5c\9f\98\a3r\9a\c6\f6\16\02\b4\00\00\00\00\00\ce\be\e9TS\bf\dc\b71\02\bc\00\00\00\00\00\e2A\22\f2\17\f3\fc\88L\02\c4\00\00\00\00\00\a5x\5c\d3\9b\ce \ccf\02\cc\00\00\00\00\00\dfS!{\f3Z\16\98\81\02\d4\00\00\00\00\00:0\1f\97\dc\b5\a0\e2\9b\02\dc\00\00\00\00\00\96\b3\e3\5cS\d1\d9\a8\b6\02\e4\00\00\00\00\00 b\5c'0\5c'\00\00\00\ec\19\10\00#\00\00\00\bd\00\00\00\05\00\00\00assertion failed: parts.len() >= 4\00\00\ec\19\10\00#\00\00\00\be\00\00\00\05\00\00\000..-+0infNaNassertion failed: buf.len() >= maxlen\00\00\00\ec\19\10\00#\00\00\00\7f\02\00\00\0d\00\00\00)..\00\cd\1a\10\00\02\00\00\000123456789abcdefBorrowErrorBorrowMutErrorindex out of bounds: the len is but the index is \00\01\1b\10\00 \00\00\00!\1b\10\00\12\00\00\00O\00\00\00\00\00\00\00\01\00\00\00P\00\00\00O\00\00\00\04\00\00\00\04\00\00\00Q\00\00\00matches!===assertion failed: `(left right)`\0a left: ``,\0a right: ``: \00\00\00o\1b\10\00\19\00\00\00\88\1b\10\00\12\00\00\00\9a\1b\10\00\0c\00\00\00\a6\1b\10\00\03\00\00\00`\00\00\00o\1b\10\00\19\00\00\00\88\1b\10\00\12\00\00\00\9a\1b\10\00\0c\00\00\00\cc\1b\10\00\01\00\00\00: \00\008\0f\10\00\00\00\00\00\f0\1b\10\00\02\00\00\00O\00\00\00\0c\00\00\00\04\00\00\00R\00\00\00S\00\00\00T\00\00\00 {\0a,\0a, { } }(\0a(,\00\00\00O\00\00\00\04\00\00\00\04\00\00\00U\00\00\000x00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\00\00O\00\00\00\04\00\00\00\04\00\00\00V\00\00\00W\00\00\00X\00\00\000000000000000000000000000000000000000000000000000000000000000000truefalserange start index out of range for slice of length \00\00\00q\1d\10\00\12\00\00\00\83\1d\10\00\22\00\00\00library/core/src/slice/index.rs\00\b8\1d\10\00\1f\00\00\004\00\00\00\05\00\00\00range end index \e8\1d\10\00\10\00\00\00\83\1d\10\00\22\00\00\00\b8\1d\10\00\1f\00\00\00I\00\00\00\05\00\00\00slice index starts at but ends at \00\18\1e\10\00\16\00\00\00.\1e\10\00\0d\00\00\00\b8\1d\10\00\1f\00\00\00\5c\00\00\00\05\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\00\00\00\00\00\00\00\00\00\00\00library/core/src/str/mod.rs[...]byte index is out of bounds of `\00\00\00|\1f\10\00\0b\00\00\00\87\1f\10\00\16\00\00\00\cc\1b\10\00\01\00\00\00\5c\1f\10\00\1b\00\00\00k\00\00\00\09\00\00\00begin <= end ( <= ) when slicing `\00\00\c8\1f\10\00\0e\00\00\00\d6\1f\10\00\04\00\00\00\da\1f\10\00\10\00\00\00\cc\1b\10\00\01\00\00\00\5c\1f\10\00\1b\00\00\00o\00\00\00\05\00\00\00\5c\1f\10\00\1b\00\00\00}\00\00\00\0e\00\00\00 is not a char boundary; it is inside (bytes ) of `|\1f\10\00\0b\00\00\00, \10\00&\00\00\00R \10\00\08\00\00\00Z \10\00\06\00\00\00\cc\1b\10\00\01\00\00\00\5c\1f\10\00\1b\00\00\00\7f\00\00\00\05\00\00\00library/core/src/unicode/printable.rs\00\00\00\98 \10\00%\00\00\00\1a\00\00\00(\00\00\00\00\01\03\05\05\06\06\02\07\06\08\07\09\11\0a\1c\0b\19\0c\1a\0d\10\0e\0d\0f\04\10\03\12\12\13\09\16\01\17\04\18\01\19\03\1a\07\1b\01\1c\02\1f\16 \03+\03-\0b.\010\031\022\01\a7\02\a9\02\aa\04\ab\08\fa\02\fb\05\fd\02\fe\03\ff\09\adxy\8b\8d\a20WX\8b\8c\90\1c\dd\0e\0fKL\fb\fc./?\5c]_\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):;EIW[\5c^_de\8d\91\a9\b4\ba\bb\c5\c9\df\e4\e5\f0\0d\11EIde\80\84\b2\bc\be\bf\d5\d7\f0\f1\83\85\8b\a4\a6\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[\5c\f6\f7\fe\ff\80mq\de\df\0e\1fno\1c\1d_}~\ae\af\7f\bb\bc\16\17\1e\1fFGNOXZ\5c^~\7f\b5\c5\d4\d5\dc\f0\f1\f5rs\8ftu\96&./\a7\af\b7\bf\c7\cf\d7\df\9a@\97\980\8f\1f\d2\d4\ce\ffNOZ[\07\08\0f\10'/\ee\efno7=?BE\90\91Sgu\c8\c9\d0\d1\d8\d9\e7\fe\ff\00 _\22\82\df\04\82D\08\1b\04\06\11\81\ac\0e\80\ab\05\1f\09\81\1b\03\19\08\01\04/\044\04\07\03\01\07\06\07\11\0aP\0f\12\07U\07\03\04\1c\0a\09\03\08\03\07\03\02\03\03\03\0c\04\05\03\0b\06\01\0e\15\05N\07\1b\07W\07\02\06\16\0dP\04C\03-\03\01\04\11\06\0f\0c:\04\1d%_ m\04j%\80\c8\05\82\b0\03\1a\06\82\fd\03Y\07\16\09\18\09\14\0c\14\0cj\06\0a\06\1a\06Y\07+\05F\0a,\04\0c\04\01\031\0b,\04\1a\06\0b\03\80\ac\06\0a\06/1M\03\80\a4\08<\03\0f\03<\078\08+\05\82\ff\11\18\08/\11-\03!\0f!\0f\80\8c\04\82\97\19\0b\15\88\94\05/\05;\07\02\0e\18\09\80\be\22t\0c\80\d6\1a\0c\05\80\ff\05\80\df\0c\f2\9d\037\09\81\5c\14\80\b8\08\80\cb\05\0a\18;\03\0a\068\08F\08\0c\06t\0b\1e\03Z\04Y\09\80\83\18\1c\0a\16\09L\04\80\8a\06\ab\a4\0c\17\041\a1\04\81\da&\07\0c\05\05\80\a6\10\81\f5\07\01 *\06L\04\80\8d\04\80\be\03\1b\03\0f\0d\00\06\01\01\03\01\04\02\05\07\07\02\08\08\09\02\0a\05\0b\02\0e\04\10\01\11\02\12\05\13\11\14\01\15\02\17\02\19\0d\1c\05\1d\08$\01j\04k\02\af\03\bc\02\cf\02\d1\02\d4\0c\d5\09\d6\02\d7\02\da\01\e0\05\e1\02\e7\04\e8\02\ee \f0\04\f8\02\fa\02\fb\01\0c';>NO\8f\9e\9e\9f{\8b\93\96\a2\b2\ba\86\b1\06\07\096=>V\f3\d0\d1\04\14\1867VW\7f\aa\ae\af\bd5\e0\12\87\89\8e\9e\04\0d\0e\11\12)14:EFIJNOde\5c\b6\b7\1b\1c\07\08\0a\0b\14\1769:\a8\a9\d8\d9\097\90\91\a8\07\0a;>fi\8f\92o_\bf\ee\efZb\f4\fc\ff\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\22%>?\e7\ec\ef\ff\c5\c6\04 #%&(38:HJLPSUVXZ\5c^`cefksx}\7f\8a\a4\aa\af\b0\c0\d0\ae\afno\93^\22{\05\03\04-\03f\03\01/.\80\82\1d\031\0f\1c\04$\09\1e\05+\05D\04\0e*\80\aa\06$\04$\04(\084\0bNC\817\09\16\0a\08\18;E9\03c\08\090\16\05!\03\1b\05\01@8\04K\05/\04\0a\07\09\07@ '\04\0c\096\03:\05\1a\07\04\0c\07PI73\0d3\07.\08\0a\81&RN(\08*\16\1a&\1c\14\17\09N\04$\09D\0d\19\07\0a\06H\08'\09u\0b?A*\06;\05\0a\06Q\06\01\05\10\03\05\80\8bb\1eH\08\0a\80\a6^\22E\0b\0a\06\0d\13:\06\0a6,\04\17\80\b9\00\00\00library/core/src/num/bignum.rs\00\00t&\10\00\1e\00\00\00\ac\01\00\00\01\00\00\00assertion failed: noborrowassertion failed: digits < 40assertion failed: other > 0SomeNone\00\00O\00\00\00\04\00\00\00\04\00\00\00Y\00\00\00ErrorUtf8Errorvalid_up_toerror_len\00\00O\00\00\00\04\00\00\00\04\00\00\00Z\00\00\00\00\03\00\00\83\04 \00\91\05`\00]\13\a0\00\12\17 \1f\0c `\1f\ef,\a0+*0 ,o\a6\e0,\02\a8`-\1e\fb`.\00\fe 6\9e\ff`6\fd\01\e16\01\0a!7$\0d\e17\ab\0ea9/\18\a190\1c\e1G\f3\1e!L\f0j\e1OOo!P\9d\bc\a1P\00\cfaQe\d1\a1Q\00\da!R\00\e0\e1S0\e1aU\ae\e2\a1V\d0\e8\e1V \00nW\f0\01\ffW\00p\00\07\00-\01\01\01\02\01\02\01\01H\0b0\15\10\01e\07\02\06\02\02\01\04#\01\1e\1b[\0b:\09\09\01\18\04\01\09\01\03\01\05+\03<\08*\18\01 7\01\01\01\04\08\04\01\03\07\0a\02\1d\01:\01\01\01\02\04\08\01\09\01\0a\02\1a\01\02\029\01\04\02\04\02\02\03\03\01\1e\02\03\01\0b\029\01\04\05\01\02\04\01\14\02\16\06\01\01:\01\01\02\01\04\08\01\07\03\0a\02\1e\01;\01\01\01\0c\01\09\01(\01\03\017\01\01\03\05\03\01\04\07\02\0b\02\1d\01:\01\02\01\02\01\03\01\05\02\07\02\0b\02\1c\029\02\01\01\02\04\08\01\09\01\0a\02\1d\01H\01\04\01\02\03\01\01\08\01Q\01\02\07\0c\08b\01\02\09\0b\06J\02\1b\01\01\01\01\017\0e\01\05\01\02\05\0b\01$\09\01f\04\01\06\01\02\02\02\19\02\04\03\10\04\0d\01\02\02\06\01\0f\01\00\03\00\03\1d\02\1e\02\1e\02@\02\01\07\08\01\02\0b\09\01-\03\01\01u\02\22\01v\03\04\02\09\01\06\03\db\02\02\01:\01\01\07\01\01\01\01\02\08\06\0a\02\010\1f1\040\07\01\01\05\01(\09\0c\02 \04\02\02\01\038\01\01\02\03\01\01\03:\08\02\02\98\03\01\0d\01\07\04\01\06\01\03\02\c6@\00\01\c3!\00\03\8d\01` \00\06i\02\00\04\01\0a \02P\02\00\01\03\01\04\01\19\02\05\01\97\02\1a\12\0d\01&\08\19\0b.\030\01\02\04\02\02'\01C\06\02\02\02\02\0c\01\08\01/\013\01\01\03\02\02\05\02\01\01*\02\08\01\ee\01\02\01\04\01\00\01\00\10\10\10\00\02\00\01\e2\01\95\05\00\03\01\02\05\04(\03\04\01\a5\02\00\04\00\02\99\0b1\04{\016\0f)\01\02\02\0a\031\04\02\02\07\01=\03$\05\01\08>\01\0c\024\09\0a\04\02\01_\03\02\01\01\02\06\01\a0\01\03\08\15\029\02\01\01\01\01\16\01\0e\07\03\05\c3\08\02\03\01\01\17\01Q\01\02\06\01\01\02\01\01\02\01\02\eb\01\02\04\06\02\01\02\1b\02U\08\02\01\01\02j\01\01\01\02\06\01\01e\03\02\04\01\05\00\09\01\02\f5\01\0a\02\01\01\04\01\90\04\02\02\04\01 \0a(\06\02\04\08\01\09\06\02\03.\0d\01\02\00\07\01\06\01\01R\16\02\07\01\02\01\02z\06\03\01\01\02\01\07\01\01H\02\03\01\01\01\00\02\00\05;\07\00\01?\04Q\01\00\02\00.\02\17\00\01\01\03\04\05\08\08\02\07\1e\04\94\03\007\042\08\01\0e\01\16\05\01\0f\00\07\01\11\02\07\01\02\01\05\00\07\00\01=\04\00\07m\07\00`\80\f0\00\009&\10\00(\00\00\007\01\00\00\09\00\00\00LayoutError")) diff --git a/gen_7_scripts/Cargo.toml b/gen_7_scripts/Cargo.toml new file mode 100644 index 0000000..63902a8 --- /dev/null +++ b/gen_7_scripts/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "gen7_scripts" +version = "0.1.0" +authors = ["Deukhoofd "] +edition = "2018" + +[lib] +crate-type = ["cdylib"] + +[dependencies] +pkmn_lib_interface = { path = "../pkmn_lib_interface" } \ No newline at end of file diff --git a/gen_7_scripts/src/lib.rs b/gen_7_scripts/src/lib.rs new file mode 100644 index 0000000..9d17fdd --- /dev/null +++ b/gen_7_scripts/src/lib.rs @@ -0,0 +1,20 @@ +#![feature(inline_const)] +#![feature(inline_const_pat)] +#![feature(wasm_abi)] +#![no_std] +#![allow(incomplete_features)] + +extern crate alloc; + +use alloc::boxed::Box; +use pkmn_lib_interface::set_load_script_fn; + +#[macro_use] + +pub mod registered_scripts; +pub mod test_script; + +#[no_mangle] +extern "wasm" fn _init() { + set_load_script_fn(Box::new(registered_scripts::get_script)); +} diff --git a/gen_7_scripts/src/registered_scripts.rs b/gen_7_scripts/src/registered_scripts.rs new file mode 100644 index 0000000..9b01fa7 --- /dev/null +++ b/gen_7_scripts/src/registered_scripts.rs @@ -0,0 +1,41 @@ +use crate::test_script::TestScript; +use alloc::boxed::Box; +use pkmn_lib_interface::app_interface::{get_hash, StringKey}; +use pkmn_lib_interface::handling::{Script, ScriptCategory}; + +macro_rules! resolve_match { + ( + $mid:expr, + $( + $key:expr => $script:ident, + )* + ) => ( + match $mid { + $( + const { get_hash($key) } => { + return Some(Box::new($script {})) + } + )* + _ => {} + } + ) +} + +pub fn get_script(category: ScriptCategory, name: &StringKey) -> Option> { + match category { + ScriptCategory::Move => { + resolve_match!( + name.hash(), + b"test" => TestScript, + ); + } + ScriptCategory::Ability => {} + ScriptCategory::Status => {} + ScriptCategory::Pokemon => {} + ScriptCategory::Battle => {} + ScriptCategory::Side => {} + ScriptCategory::ItemBattleTrigger => {} + } + + None +} diff --git a/gen_7_scripts/src/test_script.rs b/gen_7_scripts/src/test_script.rs new file mode 100644 index 0000000..4c61ddd --- /dev/null +++ b/gen_7_scripts/src/test_script.rs @@ -0,0 +1,37 @@ +use pkmn_lib_interface::app_interface::list::ImmutableList; +use pkmn_lib_interface::app_interface::{get_hash, BattleLibrary, DataLibrary, EffectParameter}; +use pkmn_lib_interface::dbg; +use pkmn_lib_interface::handling::{Script, ScriptCapabilities}; + +pub struct TestScript {} + +impl Script for TestScript { + fn new() -> Self { + TestScript {} + } + fn destroy(&self) {} + + fn get_name(&self) -> &str { + "TestScript" + } + + fn get_capabilities(&self) -> &[ScriptCapabilities] { + &[ScriptCapabilities::Initialize] + } + + fn on_initialize( + &self, + library: &BattleLibrary, + parameters: Option>, + ) { + let l = library.data_library(); + let ml = l.move_library(); + let m = ml.get_by_hash(const { get_hash(b"tackle") }).unwrap(); + dbg!("found move!"); + dbg!("{:?} has {} base power", m.name().str(), m.base_power()); + dbg!( + "Found a parameter with value: {}", + parameters.unwrap().get(0).unwrap() + ) + } +} diff --git a/pkmn_lib_interface/Cargo.toml b/pkmn_lib_interface/Cargo.toml new file mode 100644 index 0000000..56e8af0 --- /dev/null +++ b/pkmn_lib_interface/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "pkmn_lib_interface" +version = "0.1.0" +authors = ["Deukhoofd "] +edition = "2018" + +[dependencies] +wee_alloc = "0.4.5" +cstr_core = { version = "0.2.5", features = ["nightly"]} +lazy_static = { version = "1.4.0", features = ["spin_no_std"] } +enumflags2 = { version = "0.7.5", default-features = false } +spin = { version = "0.9.4", default-features = false, features = ["rwlock"] } +paste = { version = "1.0.7" } + +[dev-dependencies] + +[profile.dev] +lto = false + diff --git a/pkmn_lib_interface/gen7_scripts.wat b/pkmn_lib_interface/gen7_scripts.wat new file mode 100644 index 0000000..e69de29 diff --git a/pkmn_lib_interface/src/app_interface/battling/battle_library.rs b/pkmn_lib_interface/src/app_interface/battling/battle_library.rs new file mode 100644 index 0000000..64380aa --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/battling/battle_library.rs @@ -0,0 +1,18 @@ +use crate::app_interface::StaticData; +use crate::{impl_extern_ctor, ExternRef}; + +pub struct BattleLibrary { + ptr: ExternRef, +} + +impl_extern_ctor!(BattleLibrary); + +impl BattleLibrary { + pub fn data_library(&self) -> StaticData { + unsafe { StaticData::new(battle_library_get_static_data(self.ptr)) } + } +} + +extern "wasm" { + fn battle_library_get_static_data(ptr: ExternRef) -> ExternRef; +} diff --git a/pkmn_lib_interface/src/app_interface/battling/mod.rs b/pkmn_lib_interface/src/app_interface/battling/mod.rs new file mode 100644 index 0000000..4052a2a --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/battling/mod.rs @@ -0,0 +1,5 @@ +mod battle_library; +mod turn_choices; + +pub use battle_library::BattleLibrary; +pub use turn_choices::*; diff --git a/pkmn_lib_interface/src/app_interface/battling/turn_choices.rs b/pkmn_lib_interface/src/app_interface/battling/turn_choices.rs new file mode 100644 index 0000000..6fc5de6 --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/battling/turn_choices.rs @@ -0,0 +1 @@ +pub struct BaseTurnChoice {} diff --git a/pkmn_lib_interface/src/app_interface/library/data_libraries/item_library.rs b/pkmn_lib_interface/src/app_interface/library/data_libraries/item_library.rs new file mode 100644 index 0000000..087ad6f --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/library/data_libraries/item_library.rs @@ -0,0 +1,64 @@ +use crate::app_interface::{DataLibrary, Item}; +use crate::handling::Cacheable; +use crate::{ExternRef, StringKey}; +use alloc::collections::BTreeMap; +use alloc::rc::Rc; +use spin::rwlock::RwLock; + +struct ItemLibraryInner { + ptr: ExternRef, + cache: RwLock>, +} + +#[derive(Clone)] +pub struct ItemLibrary { + inner: Rc, +} + +impl ItemLibrary { + pub(crate) fn new(ptr: ExternRef) -> Self { + Self { + inner: Rc::new(ItemLibraryInner { + ptr, + cache: Default::default(), + }), + } + } +} + +impl DataLibrary for ItemLibrary { + fn get_cache(&self) -> &spin::rwlock::RwLock> { + &self.inner.cache + } + + fn get_self_ref(&self) -> ExternRef { + self.inner.ptr.clone() + } + + fn _get_ref_by_name(ptr: ExternRef, name: ExternRef) -> ExternRef { + unsafe { move_library_get_move(ptr, name) } + } + + fn _get_ref_by_hash(ptr: ExternRef, hash: u32) -> ExternRef { + unsafe { move_library_get_move_by_hash(ptr, hash) } + } +} + +impl Cacheable for ItemLibrary { + fn get_cache<'a>() -> &'a mut BTreeMap, Self> + where + Self: Sized, + { + unsafe { &mut CACHE } + } +} + +static mut CACHE: BTreeMap, ItemLibrary> = BTreeMap::new(); + +extern "wasm" { + fn move_library_get_move( + ptr: ExternRef, + name: ExternRef, + ) -> ExternRef; + fn move_library_get_move_by_hash(ptr: ExternRef, hash: u32) -> ExternRef; +} diff --git a/pkmn_lib_interface/src/app_interface/library/data_libraries/mod.rs b/pkmn_lib_interface/src/app_interface/library/data_libraries/mod.rs new file mode 100644 index 0000000..f8163a8 --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/library/data_libraries/mod.rs @@ -0,0 +1,73 @@ +use crate::{impl_extern_ctor, ExternRef, ExternalReferenceType, StringKey}; +use alloc::collections::BTreeMap; +use move_library::MoveLibrary; +use spin::rwlock::RwLock; + +pub mod item_library; +pub mod move_library; + +use crate::handling::Cacheable; +pub use item_library::*; +pub use move_library::*; + +pub struct StaticData { + ptr: ExternRef, +} + +impl_extern_ctor!(StaticData); +impl StaticData { + pub fn move_library(&self) -> MoveLibrary { + unsafe { MoveLibrary::new(static_data_get_move_library(self.ptr)) } + } +} + +extern "wasm" { + fn static_data_get_move_library(ptr: ExternRef) -> ExternRef; +} + +pub trait DataLibrary: Cacheable +where + T: ExternalReferenceType, + T: Clone, +{ + fn get_cache(&self) -> &RwLock>; + fn get_self_ref(&self) -> ExternRef + where + Self: Sized; + fn _get_ref_by_name(ptr: ExternRef, name: ExternRef) -> ExternRef + where + Self: Sized; + fn _get_ref_by_hash(ptr: ExternRef, hash: u32) -> ExternRef + where + Self: Sized; + + fn get(&self, name: &StringKey) -> Option + where + Self: Sized, + { + if let Some(v) = self.get_cache().read().get(&name.hash()) { + return Some(v.clone()); + } + + let v = Self::_get_ref_by_name(self.get_self_ref(), name.ptr()).get_value(); + if let Some(v) = &v { + self.get_cache().write().insert(name.hash(), v.clone()); + } + v + } + + fn get_by_hash(&self, hash: u32) -> Option + where + Self: Sized, + { + if let Some(v) = self.get_cache().read().get(&hash) { + return Some(v.clone()); + } + + let v = Self::_get_ref_by_hash(self.get_self_ref(), hash).get_value(); + if let Some(v) = &v { + self.get_cache().write().insert(hash, v.clone()); + } + v + } +} diff --git a/pkmn_lib_interface/src/app_interface/library/data_libraries/move_library.rs b/pkmn_lib_interface/src/app_interface/library/data_libraries/move_library.rs new file mode 100644 index 0000000..cb74ed9 --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/library/data_libraries/move_library.rs @@ -0,0 +1,66 @@ +use crate::app_interface::data_libraries::DataLibrary; +use crate::app_interface::{MoveData, StringKey}; +use crate::handling::Cacheable; +use crate::ExternRef; +use alloc::collections::BTreeMap; +use alloc::rc::Rc; +use spin::RwLock; + +struct MoveLibraryInner { + ptr: ExternRef, + cache: RwLock>, +} + +#[derive(Clone)] +pub struct MoveLibrary { + inner: Rc, +} + +impl MoveLibrary { + pub(crate) fn new(ptr: ExternRef) -> Self { + Self { + inner: Rc::new(MoveLibraryInner { + ptr, + cache: Default::default(), + }), + } + } +} + +impl DataLibrary for MoveLibrary { + fn get_cache(&self) -> &spin::rwlock::RwLock> { + &self.inner.cache + } + + fn get_self_ref(&self) -> ExternRef { + self.inner.ptr.clone() + } + + fn _get_ref_by_name(ptr: ExternRef, name: ExternRef) -> ExternRef { + unsafe { move_library_get_move(ptr, name) } + } + + fn _get_ref_by_hash(ptr: ExternRef, hash: u32) -> ExternRef { + unsafe { move_library_get_move_by_hash(ptr, hash) } + } +} + +impl Cacheable for MoveLibrary { + fn get_cache<'a>() -> &'a mut BTreeMap, Self> + where + Self: Sized, + { + unsafe { &mut CACHE } + } +} + +static mut CACHE: BTreeMap, MoveLibrary> = BTreeMap::new(); + +extern "wasm" { + fn move_library_get_move( + ptr: ExternRef, + name: ExternRef, + ) -> ExternRef; + fn move_library_get_move_by_hash(ptr: ExternRef, hash: u32) + -> ExternRef; +} diff --git a/pkmn_lib_interface/src/app_interface/library/effect_parameter.rs b/pkmn_lib_interface/src/app_interface/library/effect_parameter.rs new file mode 100644 index 0000000..56aa841 --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/library/effect_parameter.rs @@ -0,0 +1,68 @@ +use crate::app_interface::StringKey; +use crate::{ExternRef, ExternalReferenceType}; +use core::fmt::{Display, Formatter}; + +#[repr(u8)] +enum EffectParameterType { + None, + Bool, + Int, + Float, + String, +} + +#[derive(Clone)] +pub enum EffectParameter { + None, + Bool(bool), + Int(i64), + Float(f32), + String(StringKey), +} + +impl EffectParameter { + pub(crate) fn create(ptr: ExternRef) -> Self { + unsafe { + match effect_parameter_get_type(ptr) { + EffectParameterType::None => Self::None, + EffectParameterType::Bool => Self::Bool(effect_parameter_as_bool(ptr)), + EffectParameterType::Int => Self::Int(effect_parameter_as_int(ptr)), + EffectParameterType::Float => Self::Float(effect_parameter_as_float(ptr)), + EffectParameterType::String => { + Self::String(StringKey::new(effect_parameter_as_string(ptr))) + } + } + } + } +} + +impl ExternalReferenceType for EffectParameter { + fn from_extern_value(reference: ExternRef) -> Self + where + Self: Sized, + { + EffectParameter::create(reference) + } +} + +impl Display for EffectParameter { + fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { + match self { + EffectParameter::None => f.write_str("EffectParameter::None"), + EffectParameter::Bool(b) => f.write_fmt(format_args!("EffectParameter::Bool({})", b)), + EffectParameter::Int(i) => f.write_fmt(format_args!("EffectParameter::Int({})", i)), + EffectParameter::Float(r) => f.write_fmt(format_args!("EffectParameter::Float({})", r)), + EffectParameter::String(s) => { + f.write_fmt(format_args!("EffectParameter::String(\"{}\")", s)) + } + } + } +} + +extern "wasm" { + fn effect_parameter_get_type(ptr: ExternRef) -> EffectParameterType; + fn effect_parameter_as_bool(ptr: ExternRef) -> bool; + fn effect_parameter_as_int(ptr: ExternRef) -> i64; + fn effect_parameter_as_float(ptr: ExternRef) -> f32; + fn effect_parameter_as_string(ptr: ExternRef) -> ExternRef; +} diff --git a/pkmn_lib_interface/src/app_interface/library/item.rs b/pkmn_lib_interface/src/app_interface/library/item.rs new file mode 100644 index 0000000..433563a --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/library/item.rs @@ -0,0 +1,110 @@ +use crate::handling::cached_value::CachedValue; +use crate::handling::Cacheable; +use crate::{cached_value, ExternRef, ExternalReferenceType, StringKey}; +use alloc::rc::Rc; + +/// An item category defines which bag slot items are stored in. +#[repr(u8)] +#[derive(Clone)] +pub enum ItemCategory { + /// This is where most items should go. + MiscItem, + /// Pokeballs are used for capturing Pokemons. + Pokeball, + /// Medicine is used for healing HP, PP, and status effects + Medicine, + /// Berry is used for all berries. + Berry, + /// TMHM is used for Technical and Hidden Machines. + TMHM, + /// Form Changer is used for items that change forms, such as mega stones. + FormChanger, + /// Key Items are single stored items, generally used for story progression. + KeyItem, + /// Mail is used for mail items. + Mail, +} + +/// A battle item category defines how the item is categorized when in battle. +#[repr(u8)] +#[derive(Clone)] +pub enum BattleItemCategory { + /// This item can't be used in battle. + None, + /// This item is used for healing Pokemon. + Healing, + /// This item is used for healing Pokemon from a status. + StatusHealing, + /// This item is used for capturing Pokemon. + Pokeball, + /// This item does not belong in above categories, but is still a battle item. + MiscBattleItem, +} + +struct ItemInner { + ptr: ExternRef, + name: CachedValue, + category: CachedValue, + battle_category: CachedValue, + price: CachedValue, +} + +/// An item is an object which the player can pick up, keep in their Bag, and use in some manner +#[derive(Clone)] +pub struct Item { + inner: Rc, +} + +impl Item { + pub(crate) fn new(ptr: ExternRef) -> Self { + Self::from_ref(ptr, &|ptr| Self { + inner: Rc::new(ItemInner { + ptr, + name: cached_value!({ StringKey::new(item_get_name(ptr)) }), + category: cached_value!({ item_get_category(ptr) }), + battle_category: cached_value!({ item_get_battle_category(ptr) }), + price: cached_value!({ item_get_price(ptr) }), + }), + }) + } + + pub(crate) fn ptr(&self) -> ExternRef { + self.inner.ptr + } + + /// The name of the item. + pub fn name(&self) -> StringKey { + self.inner.name.value() + } + /// Which bag slot items are stored in. + pub fn category(&self) -> ItemCategory { + self.inner.category.value() + } + /// How the item is categorized when in battle. + pub fn battle_category(&self) -> BattleItemCategory { + self.inner.battle_category.value() + } + /// The buying value of the item. + pub fn price(&self) -> i32 { + self.inner.price.value() + } + pub fn has_flag(&self, flag: &StringKey) -> bool { + unsafe { item_has_flag(self.ptr(), flag.ptr()) } + } +} + +crate::handling::cacheable::cacheable!(Item); + +impl ExternalReferenceType for Item { + fn from_extern_value(reference: ExternRef) -> Self { + Item::new(reference) + } +} + +extern "wasm" { + fn item_get_name(ptr: ExternRef) -> ExternRef; + fn item_get_category(ptr: ExternRef) -> ItemCategory; + fn item_get_battle_category(ptr: ExternRef) -> BattleItemCategory; + fn item_get_price(ptr: ExternRef) -> i32; + fn item_has_flag(ptr: ExternRef, flag: ExternRef) -> bool; +} diff --git a/pkmn_lib_interface/src/app_interface/library/mod.rs b/pkmn_lib_interface/src/app_interface/library/mod.rs new file mode 100644 index 0000000..7f32d2b --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/library/mod.rs @@ -0,0 +1,11 @@ +pub mod data_libraries; +pub mod effect_parameter; +pub mod item; +pub mod move_data; +pub mod species; + +pub use data_libraries::*; +pub use effect_parameter::EffectParameter; +pub use item::*; +pub use move_data::*; +pub use species::*; diff --git a/pkmn_lib_interface/src/app_interface/library/move_data.rs b/pkmn_lib_interface/src/app_interface/library/move_data.rs new file mode 100644 index 0000000..0ca5a89 --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/library/move_data.rs @@ -0,0 +1,120 @@ +use crate::app_interface::StringKey; +use crate::handling::cached_value::CachedValue; +use crate::handling::Cacheable; +use crate::{cached_value, ExternRef, ExternalReferenceType}; +use alloc::collections::BTreeMap; +use alloc::rc::Rc; + +#[repr(u8)] +#[derive(Clone)] +pub enum MoveCategory { + Physical = 0, + Special = 1, + Status = 2, +} + +#[repr(u8)] +#[derive(Clone)] +pub enum MoveTarget { + Adjacent, + AdjacentAlly, + AdjacentAllySelf, + AdjacentOpponent, + + All, + AllAdjacent, + AllAdjacentOpponent, + AllAlly, + AllOpponent, + + Any, + + RandomOpponent, + OnSelf, +} + +struct MoveDataInner { + ptr: ExternRef, + name: CachedValue, + move_type: CachedValue, + category: CachedValue, + base_power: CachedValue, + accuracy: CachedValue, + base_usages: CachedValue, + target: CachedValue, + priority: CachedValue, +} + +#[derive(Clone)] +pub struct MoveData { + inner: Rc, +} + +impl MoveData { + pub(crate) fn new(ptr: ExternRef) -> Self { + MoveData::from_ref(ptr, &|ptr| Self { + inner: Rc::new(MoveDataInner { + ptr, + name: cached_value!({ StringKey::new(move_data_get_name(ptr)) }), + move_type: cached_value!({ move_data_get_type(ptr) }), + category: cached_value!({ move_data_get_category(ptr) }), + base_power: cached_value!({ move_data_get_base_power(ptr) }), + accuracy: cached_value!({ move_data_get_accuracy(ptr) }), + base_usages: cached_value!({ move_data_get_base_power(ptr) }), + target: cached_value!({ move_data_get_target(ptr) }), + priority: cached_value!({ move_data_get_priority(ptr) }), + }), + }) + } + pub(crate) fn ptr(&self) -> ExternRef { + self.inner.ptr + } + + pub fn name(&self) -> StringKey { + self.inner.name.value() + } + pub fn move_type(&self) -> u8 { + self.inner.move_type.value() + } + pub fn category(&self) -> MoveCategory { + self.inner.category.value() + } + pub fn base_power(&self) -> u8 { + self.inner.base_power.value() + } + pub fn accuracy(&self) -> u8 { + self.inner.accuracy.value() + } + pub fn base_usages(&self) -> u8 { + self.inner.base_usages.value() + } + pub fn target(&self) -> MoveTarget { + self.inner.target.value() + } + pub fn priority(&self) -> i8 { + self.inner.priority.value() + } + pub fn has_flag(&self, flag: &StringKey) -> bool { + unsafe { move_data_has_flag(self.ptr(), flag.ptr()) } + } +} + +impl ExternalReferenceType for MoveData { + fn from_extern_value(reference: ExternRef) -> Self { + MoveData::new(reference) + } +} + +crate::handling::cacheable::cacheable!(MoveData); + +extern "wasm" { + fn move_data_get_name(ptr: ExternRef) -> ExternRef; + fn move_data_get_type(ptr: ExternRef) -> u8; + fn move_data_get_category(ptr: ExternRef) -> MoveCategory; + fn move_data_get_base_power(ptr: ExternRef) -> u8; + fn move_data_get_accuracy(ptr: ExternRef) -> u8; + fn move_data_get_base_usages(ptr: ExternRef) -> u8; + fn move_data_get_target(ptr: ExternRef) -> MoveTarget; + fn move_data_get_priority(ptr: ExternRef) -> i8; + fn move_data_has_flag(ptr: ExternRef, flag: ExternRef) -> bool; +} diff --git a/pkmn_lib_interface/src/app_interface/library/species.rs b/pkmn_lib_interface/src/app_interface/library/species.rs new file mode 100644 index 0000000..02b4a7e --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/library/species.rs @@ -0,0 +1,149 @@ +use crate::handling::cached_value::CachedValue; +use crate::handling::Cacheable; +use crate::{ + cached_value, ExternRef, ExternalReferenceType, FFIArray, ImmutableList, StringKey, + VecExternRef, +}; +use alloc::rc::Rc; +use alloc::vec::Vec; + +#[repr(u8)] +pub enum Gender { + Male = 0, + Female = 1, + Genderless = 2, +} + +#[repr(u8)] +pub enum Statistic { + HP = 0, + Attack = 1, + Defense = 2, + SpecialAttack = 3, + SpecialDefense = 4, + Speed = 5, +} + +pub struct ImmutableStatisticSetInner { + ptr: ExternRef, + /// The health point stat value. + hp: CachedValue, + /// The physical attack stat value. + attack: CachedValue, + /// The physical defense stat value. + defense: CachedValue, + /// The special attack stat value. + special_attack: CachedValue, + /// The special defense stat value. + special_defense: CachedValue, + /// The speed stat value. + speed: CachedValue, +} + +#[derive(Clone)] +pub struct ImmutableStatisticSet { + inner: Rc, +} + +impl ImmutableStatisticSet { + pub(crate) fn new(ptr: ExternRef) -> Self { + Self::from_ref(ptr, &|ptr| Self { + inner: Rc::new(ImmutableStatisticSetInner { + ptr, + hp: cached_value!({ static_statistics_set_get_hp(ptr) }), + attack: cached_value!({ static_statistics_set_get_attack(ptr) }), + defense: cached_value!({ static_statistics_set_get_defense(ptr) }), + special_attack: cached_value!({ static_statistics_set_get_special_attack(ptr) }), + special_defense: cached_value!({ static_statistics_set_get_special_defense(ptr) }), + speed: cached_value!({ static_statistics_set_get_speed(ptr) }), + }), + }) + } + + pub fn hp(&self) -> u16 { + self.inner.hp.value() + } + pub fn attack(&self) -> u16 { + self.inner.attack.value() + } + pub fn defense(&self) -> u16 { + self.inner.defense.value() + } + pub fn special_attack(&self) -> u16 { + self.inner.special_attack.value() + } + pub fn special_defense(&self) -> u16 { + self.inner.special_defense.value() + } + pub fn speed(&self) -> u16 { + self.inner.speed.value() + } +} + +struct FormInner { + ptr: ExternRef
, + name: CachedValue, + height: CachedValue, + weight: CachedValue, + types: CachedValue>, + base_experience: CachedValue, + base_stats: CachedValue, + abilities: CachedValue>, + hidden_abilities: CachedValue>, + // moves: CachedValue, +} + +#[derive(Clone)] +pub struct Form { + inner: Rc, +} + +impl Form { + pub(crate) fn new(ptr: ExternRef) -> Self { + Self::from_ref(ptr, &|ptr| Self { + inner: Rc::new(FormInner { + ptr, + name: cached_value!({ form_get_name(ptr).get_value().unwrap() }), + height: cached_value!({ form_get_height(ptr) }), + weight: cached_value!({ form_get_weight(ptr) }), + types: cached_value!({ + let raw = form_get_types(ptr); + Vec::from_raw_parts(raw.ptr(), raw.len(), raw.len()) + }), + base_experience: cached_value!({ form_get_base_experience(ptr) }), + base_stats: cached_value!({ form_get_base_stats(ptr).get_value().unwrap() }), + abilities: cached_value!({ form_get_abilities(ptr).get_immutable_list() }), + hidden_abilities: cached_value!({ + form_get_hidden_abilities(ptr).get_immutable_list() + }), + }), + }) + } +} + +impl ExternalReferenceType for ImmutableStatisticSet { + fn from_extern_value(reference: ExternRef) -> Self { + ImmutableStatisticSet::new(reference) + } +} + +crate::handling::cacheable::cacheable!(ImmutableStatisticSet); +crate::handling::cacheable::cacheable!(Form); + +extern "wasm" { + fn static_statistics_set_get_hp(r: ExternRef) -> u16; + fn static_statistics_set_get_attack(r: ExternRef) -> u16; + fn static_statistics_set_get_defense(r: ExternRef) -> u16; + fn static_statistics_set_get_special_attack(r: ExternRef) -> u16; + fn static_statistics_set_get_special_defense(r: ExternRef) -> u16; + fn static_statistics_set_get_speed(r: ExternRef) -> u16; + + fn form_get_name(r: ExternRef) -> ExternRef; + fn form_get_height(r: ExternRef) -> f32; + fn form_get_weight(r: ExternRef) -> f32; + fn form_get_types(r: ExternRef) -> FFIArray; + fn form_get_base_experience(r: ExternRef) -> u32; + fn form_get_base_stats(r: ExternRef) -> ExternRef; + fn form_get_abilities(r: ExternRef) -> VecExternRef; + fn form_get_hidden_abilities(r: ExternRef) -> VecExternRef; +} diff --git a/pkmn_lib_interface/src/app_interface/list.rs b/pkmn_lib_interface/src/app_interface/list.rs new file mode 100644 index 0000000..54fd971 --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/list.rs @@ -0,0 +1,74 @@ +use crate::{ExternalReferenceType, VecExternRef}; +use alloc::boxed::Box; +use alloc::collections::BTreeMap; +use alloc::vec::Vec; +use core::marker::PhantomData; + +struct ImmutableListInner { + extern_ref: VecExternRef, + resource_type: PhantomData, + values: spin::RwLock>>>, +} + +#[derive(Clone)] +pub struct ImmutableList +where + T: Clone, + T: ExternalReferenceType, +{ + inner: *const ImmutableListInner, +} + +impl ImmutableList +where + T: Clone, + T: ExternalReferenceType, +{ + fn new(extern_ref: VecExternRef) -> Self { + let mut values = Vec::new(); + values.resize(extern_ref.len() as usize, None); + let inner = Box::new(ImmutableListInner { + extern_ref, + resource_type: Default::default(), + values: spin::RwLock::new(values), + }); + let inner_ptr = Box::into_raw(inner); + ImmutableList { + inner: inner_ptr as *const ImmutableListInner, + } + } + + pub(crate) fn from_ref(extern_ref: VecExternRef) -> Self { + unsafe { + let existing = CACHE.get(&extern_ref.get_internal_index()); + if let Some(v) = existing { + let inner = *v as *const ImmutableListInner; + ImmutableList { inner } + } else { + let v = Self::new(extern_ref); + CACHE.insert(extern_ref.get_internal_index(), v.inner as *const u8); + v + } + } + } + + pub fn get(&self, index: u32) -> Option { + unsafe { + let inner = self.inner.as_ref().unwrap(); + { + let rg = inner.values.read(); + let v = rg.get(index as usize).unwrap(); + if let Some(v) = v { + return v.clone(); + } + } + let r = inner.extern_ref.at(index); + let value = r.get_value(); + let mut wg = inner.values.write(); + wg[index as usize] = Some(value); + wg[index as usize].as_ref().unwrap().clone() + } + } +} + +static mut CACHE: BTreeMap = BTreeMap::new(); diff --git a/pkmn_lib_interface/src/app_interface/mod.rs b/pkmn_lib_interface/src/app_interface/mod.rs new file mode 100644 index 0000000..d170341 --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/mod.rs @@ -0,0 +1,9 @@ +pub mod battling; +pub mod library; +pub mod list; +pub mod string_key; + +pub use battling::*; +pub use library::*; +pub use string_key::get_hash; +pub use string_key::StringKey; diff --git a/pkmn_lib_interface/src/app_interface/string_key.rs b/pkmn_lib_interface/src/app_interface/string_key.rs new file mode 100644 index 0000000..223a5e4 --- /dev/null +++ b/pkmn_lib_interface/src/app_interface/string_key.rs @@ -0,0 +1,129 @@ +use crate::handling::Cacheable; +use crate::{ExternRef, ExternalReferenceType}; +use alloc::rc::Rc; +use core::cell::RefCell; +use core::fmt::{Display, Formatter}; +use cstr_core::{c_char, CString}; + +struct StringKeyInner { + ptr: ExternRef, + str: RefCell>, + hash: RefCell>, +} + +#[derive(Clone)] +pub struct StringKey { + data: Rc, +} + +impl StringKey { + pub(crate) fn new(ptr: ExternRef) -> Self { + StringKey::from_ref(ptr, &|ptr| -> StringKey { + StringKey { + data: Rc::new(StringKeyInner { + ptr, + str: RefCell::new(None), + hash: RefCell::new(None), + }), + } + }) + } + + pub(super) fn ptr(&self) -> ExternRef { + self.data.ptr + } + + pub fn str(&self) -> &CString { + if self.data.str.borrow().is_none() { + unsafe { + self.data + .str + .replace(Some(CString::from_raw(string_key_get_str(self.ptr())))); + } + } + unsafe { (*self.data.str.as_ptr()).as_ref().unwrap() } + } + pub fn hash(&self) -> u32 { + if self.data.hash.borrow().is_none() { + unsafe { + self.data + .hash + .replace(Some(string_key_get_hash(self.ptr()))); + } + } + self.data.hash.borrow().unwrap() + } +} + +crate::handling::cacheable::cacheable!(StringKey); + +impl ExternalReferenceType for StringKey { + fn from_extern_value(reference: ExternRef) -> Self { + StringKey::new(reference) + } +} + +impl Display for StringKey { + fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { + let s = self.str(); + f.write_str(s.to_str().as_ref().unwrap()) + } +} + +extern "wasm" { + fn string_key_get_str(ptr: ExternRef) -> *mut c_char; + fn string_key_get_hash(ptr: ExternRef) -> u32; +} + +const CRC_TABLE: &[u32] = &[ + 0, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, + 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, + 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, + 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, + 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, + 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, + 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, + 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, + 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, + 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, + 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, + 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, + 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, + 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, + 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, + 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, + 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, + 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, + 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, + 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, + 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, + 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, + 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, + 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, + 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, + 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D, +]; + +const fn to_lower(c: u8) -> u8 { + if c >= b'A' && c <= b'Z' { + return c + (b'a' - b'A'); + } + c +} + +pub const fn get_hash(s: &[u8; N]) -> u32 { + let mut crc: u32 = 0xffffffff; + + let mut i: usize = 0; + while i < N { + crc = (crc >> 8) ^ CRC_TABLE[((crc ^ (to_lower(s[i]) as u32)) & 0xff) as usize]; + i += 1; + } + crc ^ 0xffffffff +} diff --git a/pkmn_lib_interface/src/handling/cacheable.rs b/pkmn_lib_interface/src/handling/cacheable.rs new file mode 100644 index 0000000..ba79e73 --- /dev/null +++ b/pkmn_lib_interface/src/handling/cacheable.rs @@ -0,0 +1,37 @@ +use crate::ExternRef; +use alloc::collections::BTreeMap; + +pub trait Cacheable { + fn get_cache<'a>() -> &'a mut BTreeMap, Self> + where + Self: Sized; + + fn from_ref(ptr: ExternRef, ctor: &dyn Fn(ExternRef) -> Self) -> Self + where + Self: Sized, + Self: Clone, + { + let opt = Self::get_cache().get(&ptr); + if let Some(v) = opt { + return v.clone(); + } + Self::get_cache().insert(ptr, ctor(ptr)); + return Self::get_cache().get(&ptr).unwrap().clone(); + } +} + +macro_rules! cacheable { + ($type: ident) => { + paste::paste!{ + static mut [<$type:upper _CACHE>]: alloc::collections::BTreeMap, $type> = + alloc::collections::BTreeMap::new(); + impl crate::handling::Cacheable for $type { + fn get_cache<'a>() -> &'a mut alloc::collections::BTreeMap, $type> { + unsafe { &mut [<$type:upper _CACHE>] } + } + } + } + }; +} + +pub(crate) use cacheable; diff --git a/pkmn_lib_interface/src/handling/cached_value.rs b/pkmn_lib_interface/src/handling/cached_value.rs new file mode 100644 index 0000000..b5700fe --- /dev/null +++ b/pkmn_lib_interface/src/handling/cached_value.rs @@ -0,0 +1,36 @@ +use alloc::boxed::Box; + +pub struct CachedValue { + init_fn: Box T>, + value: Option, +} + +impl CachedValue +where + T: Clone, +{ + pub fn new(init_fn: Box T>) -> Self { + Self { + init_fn, + value: None, + } + } + + #[inline] + pub fn value(&self) -> T { + if self.value.is_none() { + unsafe { + let s = self as *const Self as *mut Self; + s.as_mut().unwrap().value.replace((self.init_fn)()); + } + } + self.value.as_ref().unwrap().clone() + } +} + +#[macro_export] +macro_rules! cached_value { + ($init: block) => { + CachedValue::new(alloc::boxed::Box::new(move || unsafe { $init })) + }; +} diff --git a/pkmn_lib_interface/src/handling/capabilities.rs b/pkmn_lib_interface/src/handling/capabilities.rs new file mode 100644 index 0000000..7574fc5 --- /dev/null +++ b/pkmn_lib_interface/src/handling/capabilities.rs @@ -0,0 +1,59 @@ +#[repr(u8)] +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +pub enum ScriptCapabilities { + Initialize = 1, + OnStack, + OnRemove, + OnBeforeTurn, + ChangeAttack, + ModifyNumberOfHits, + PreventAttack, + FailAttack, + StopBeforeAttack, + OnBeforeAttack, + FailIncomingAttack, + IsInvulnerable, + OnAttackMiss, + ChangeAttackType, + ChangeEffectiveness, + BlockCritical, + OnIncomingHit, + OnFaintingOpponent, + PreventStatBoostChange, + ModifyStatBoostChange, + PreventSecondaryEffects, + OnSecondaryEffect, + OnAfterHits, + PreventSelfSwitch, + ModifyEffectChance, + ModifyIncomingEffectChance, + OverrideBasePower, + ChangeDamageStatsUser, + BypassDefensiveStat, + BypassOffensiveStat, + ModifyStatModifier, + ModifyDamageModifier, + OverrideDamage, + OverrideIncomingDamage, + ChangeSpeed, + ChangePriority, + OnFail, + OnOpponentFail, + PreventRunAway, + PreventOpponentRunAway, + PreventOpponentSwitch, + OnEndTurn, + OnDamage, + OnFaint, + OnAfterHeldItemConsume, + PreventIncomingCritical, + ModifyCriticalStage, + OverrideCriticalModifier, + OverrideSTABModifier, + ModifyExperienceGain, + DoesShareExperience, + BlockWeather, + OnSwitchIn, + ModifyOffensiveStatValue, + ModifyDefensiveStatValue, +} diff --git a/pkmn_lib_interface/src/handling/extern_ref.rs b/pkmn_lib_interface/src/handling/extern_ref.rs new file mode 100644 index 0000000..dedf95e --- /dev/null +++ b/pkmn_lib_interface/src/handling/extern_ref.rs @@ -0,0 +1,160 @@ +use crate::ImmutableList; +use core::cmp::Ordering; +use core::intrinsics::transmute; +use core::marker::PhantomData; + +#[repr(C)] +pub struct ExternRef { + p: u32, + resource_type: PhantomData, +} + +impl ExternRef { + pub fn is_null(&self) -> bool { + self.p == 0 + } + + pub fn get_value(&self) -> Option + where + T: ExternalReferenceType, + T: Sized, + T:, + { + T::instantiate_from_extern_value(*self) + } +} + +impl Clone for ExternRef { + fn clone(&self) -> Self { + Self { + p: self.p, + resource_type: Default::default(), + } + } +} + +impl Copy for ExternRef {} + +impl Eq for ExternRef {} + +impl PartialEq for ExternRef { + fn eq(&self, other: &Self) -> bool { + u32::eq(&self.p, &other.p) + } +} + +impl PartialOrd for ExternRef { + fn partial_cmp(&self, other: &Self) -> Option { + u32::partial_cmp(&self.p, &other.p) + } +} + +impl Ord for ExternRef { + fn cmp(&self, other: &Self) -> Ordering { + u32::cmp(&self.p, &other.p) + } +} + +#[repr(C)] +pub struct VecExternRef { + v: u64, + resource_type: PhantomData, +} + +impl VecExternRef { + pub fn is_null(&self) -> bool { + self.v == 0 + } + + pub(crate) fn get_internal_index(&self) -> u32 { + let v: (u32, u32) = unsafe { transmute(self.v) }; + v.0 + } + + pub fn len(&self) -> u32 { + let v: (u32, u32) = unsafe { transmute(self.v) }; + v.1 + } + + pub fn at(&self, index: u32) -> ExternRef { + let p = unsafe { _vec_extern_ref_get_value(self.get_internal_index(), index) }; + ExternRef { + p, + resource_type: Default::default(), + } + } + + pub fn get_immutable_list(&self) -> ImmutableList + where + T: Clone, + T: ExternalReferenceType, + { + ImmutableList::from_ref(self.clone()) + } +} + +impl Clone for VecExternRef { + fn clone(&self) -> Self { + Self { + v: self.v, + resource_type: Default::default(), + } + } +} + +impl Copy for VecExternRef {} + +impl Eq for VecExternRef {} + +impl PartialEq for VecExternRef { + fn eq(&self, other: &Self) -> bool { + u64::eq(&self.v, &other.v) + } +} + +impl PartialOrd for VecExternRef { + fn partial_cmp(&self, other: &Self) -> Option { + u64::partial_cmp(&self.v, &other.v) + } +} + +impl Ord for VecExternRef { + fn cmp(&self, other: &Self) -> Ordering { + u64::cmp(&self.v, &other.v) + } +} + +pub trait ExternalReferenceType { + fn from_extern_value(reference: ExternRef) -> Self + where + Self: Sized; + + fn instantiate_from_extern_value(reference: ExternRef) -> Option + where + Self: Sized, + { + if reference.is_null() { + None + } else { + Some(Self::from_extern_value(reference)) + } + } +} + +#[macro_export] +macro_rules! impl_extern_ctor { + ($name:ty) => { + impl $name { + pub(crate) fn new(ptr: ExternRef) -> Self { + Self { ptr } + } + pub(crate) fn ptr(&self) -> &ExternRef { + &self.ptr + } + } + }; +} + +extern "wasm" { + fn _vec_extern_ref_get_value(extern_ref: u32, index: u32) -> u32; +} diff --git a/pkmn_lib_interface/src/handling/ffi_array.rs b/pkmn_lib_interface/src/handling/ffi_array.rs new file mode 100644 index 0000000..5d487e0 --- /dev/null +++ b/pkmn_lib_interface/src/handling/ffi_array.rs @@ -0,0 +1,39 @@ +use alloc::boxed::Box; +use alloc::vec::Vec; +use core::mem; + +#[repr(C)] +pub struct FFIArray { + ptr: *mut T, + len: usize, +} + +impl FFIArray { + pub fn new(v: &[T]) -> Self { + let boxed_slice: Box<&[T]> = Box::new(v); + let r = Self { + ptr: boxed_slice.as_ptr() as *mut T, + len: boxed_slice.len(), + }; + mem::forget(boxed_slice); + r + } + + fn delete(&self) { + unsafe { + drop(Vec::from_raw_parts(self.ptr, self.len, self.len)); + } + } + + pub(crate) fn ptr(&self) -> *mut T { + self.ptr + } + pub(crate) fn len(&self) -> usize { + self.len + } +} + +#[no_mangle] +extern "wasm" fn delete_ffi_array(a: FFIArray) { + a.delete() +} diff --git a/pkmn_lib_interface/src/handling/mod.rs b/pkmn_lib_interface/src/handling/mod.rs new file mode 100644 index 0000000..60684d9 --- /dev/null +++ b/pkmn_lib_interface/src/handling/mod.rs @@ -0,0 +1,22 @@ +pub(crate) mod cacheable; +pub(crate) mod cached_value; +pub mod capabilities; +pub mod extern_ref; +pub mod ffi_array; +pub mod script; + +pub use capabilities::*; + +pub(crate) use cacheable::Cacheable; +pub use script::Script; + +#[repr(u8)] +pub enum ScriptCategory { + Move, + Ability, + Status, + Pokemon, + Battle, + Side, + ItemBattleTrigger, +} diff --git a/pkmn_lib_interface/src/handling/script.rs b/pkmn_lib_interface/src/handling/script.rs new file mode 100644 index 0000000..820acea --- /dev/null +++ b/pkmn_lib_interface/src/handling/script.rs @@ -0,0 +1,39 @@ +use crate::app_interface::list::ImmutableList; +use crate::app_interface::{BaseTurnChoice, BattleLibrary, EffectParameter}; +use crate::handling::ScriptCapabilities; +use crate::ExternRef; +use core::ffi::c_void; +use core::fmt::Debug; + +pub trait Script { + fn new() -> Self + where + Self: Sized; + fn destroy(&self); + fn get_name(&self) -> &str; + fn get_capabilities(&self) -> &[ScriptCapabilities]; + + fn on_initialize( + &self, + _library: &BattleLibrary, + _parameters: Option>, + ) { + } + fn on_before_turn(&self, _choice: ExternRef) {} +} + +impl Debug for dyn Script { + fn fmt(&self, _f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Result::Ok(()) + } +} + +pub trait OwnerGetter { + fn get_owner(&self) -> Option> { + unimplemented!() + } +} + +extern "wasm" { + pub fn get_script_owner(pointer: *const c_void) -> ExternRef; +} diff --git a/pkmn_lib_interface/src/lib.rs b/pkmn_lib_interface/src/lib.rs new file mode 100644 index 0000000..2d91bbf --- /dev/null +++ b/pkmn_lib_interface/src/lib.rs @@ -0,0 +1,96 @@ +#![feature(core_panic)] +#![feature(alloc_error_handler)] +#![feature(fn_traits)] +#![feature(const_for)] +#![feature(const_mut_refs)] +#![feature(inline_const)] +#![feature(inline_const_pat)] +#![feature(repr128)] +#![feature(downcast_unchecked)] +#![feature(panic_info_message)] +#![feature(const_btree_new)] +#![feature(wasm_abi)] +#![feature(thread_local)] +#![feature(build_hasher_simple_hash_one)] +#![no_std] +#![allow(incomplete_features)] + +extern crate alloc; +extern crate core; +extern crate wee_alloc; + +#[global_allocator] +static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; + +use crate::app_interface::list::ImmutableList; +use crate::app_interface::{BaseTurnChoice, BattleLibrary, EffectParameter, StringKey}; +pub(crate) use crate::handling::extern_ref::*; +use crate::handling::ffi_array::FFIArray; +use crate::handling::{Script, ScriptCapabilities, ScriptCategory}; +use alloc::boxed::Box; + +#[macro_use] +#[allow(dead_code)] +pub mod app_interface; +pub mod handling; +pub mod utils; + +pub type LoadScriptFnType = Box Option>>; + +static mut LOAD_SCRIPT_FN: Option = None; + +pub fn set_load_script_fn(f: LoadScriptFnType) { + unsafe { + LOAD_SCRIPT_FN = Some(f); + } +} + +#[no_mangle] +extern "wasm" fn load_script(category: ScriptCategory, name: ExternRef) -> u32 { + let name_c = StringKey::new(name); + let boxed_script = unsafe { &LOAD_SCRIPT_FN }.as_ref().unwrap()(category, &name_c); + if boxed_script.is_none() { + return 0; + } + let b = Box::new(boxed_script.unwrap()); + Box::into_raw(b) as u32 +} + +#[no_mangle] +unsafe extern "wasm" fn destroy_script(script: *mut u8) { + // By turning it from a raw pointer back into a Box with from_raw, we give ownership back to rust. + // This lets Rust do the cleanup. + let boxed_script = Box::from_raw(script as *mut Box); + boxed_script.destroy(); +} + +#[no_mangle] +unsafe extern "wasm" fn get_script_capabilities( + script: *const Box, +) -> FFIArray { + let c = script.as_ref().unwrap().get_capabilities(); + FFIArray::new(c) +} + +#[no_mangle] +unsafe extern "wasm" fn script_on_initialize( + script: *const Box, + library: ExternRef, + parameters: VecExternRef, +) { + let lib = BattleLibrary::new(library); + let parameters = ImmutableList::from_ref(parameters); + script + .as_ref() + .unwrap() + .as_ref() + .on_initialize(&lib, Some(parameters)); +} + +#[no_mangle] +unsafe extern "wasm" fn script_on_before_turn( + script: *const Box, + choice: ExternRef, +) { + script.as_ref().unwrap().as_ref().on_before_turn(choice) +} diff --git a/pkmn_lib_interface/src/utils.rs b/pkmn_lib_interface/src/utils.rs new file mode 100644 index 0000000..9df7d26 --- /dev/null +++ b/pkmn_lib_interface/src/utils.rs @@ -0,0 +1,75 @@ +use alloc::alloc::alloc; +use core::alloc::Layout; +#[cfg(not(test))] +use core::panic::PanicInfo; +use cstr_core::c_char; + +extern "wasm" { + fn _print(s: *const u8, len: usize); + fn _error( + message: *const u8, + message_len: usize, + file: *const u8, + file_len: usize, + line: u32, + position: u32, + ); +} + +pub fn print_raw(s: &[c_char]) { + unsafe { + _print(s.as_ptr(), s.len()); + } +} + +#[macro_export] +macro_rules! println { ($($args:tt)*) => { pkmn_lib_interface::utils::print_raw(alloc::format!($($args)*).as_bytes()); } } + +#[macro_export] +#[cfg(debug_assertions)] +macro_rules! dbg { ($($args:tt)*) => { pkmn_lib_interface::utils::print_raw(alloc::format!($($args)*).as_bytes()); } } + +#[macro_export] +#[cfg(not(debug_assertions))] +macro_rules! dbg { + ($($args:tt)*) => {{}}; +} + +#[panic_handler] +#[no_mangle] +#[cfg(not(test))] +pub fn begin_panic_handler(panic_info: &PanicInfo<'_>) -> ! { + let msg = panic_info.message().unwrap().as_str().unwrap(); + let mut line = 0; + let mut position = 0; + let mut file = ""; + if let Some(s) = panic_info.location() { + line = s.line(); + position = s.column(); + file = s.file(); + } + + unsafe { + _error( + msg.as_ptr(), + msg.len(), + file.as_ptr(), + file.len(), + line, + position, + ); + } + loop {} +} + +#[alloc_error_handler] +#[no_mangle] +#[cfg(not(test))] +fn allocation_error_handler(layout: core::alloc::Layout) -> ! { + panic!("memory allocation of {} bytes failed", layout.size()) +} + +#[no_mangle] +unsafe extern "wasm" fn allocate_mem(len: u32, align: u32) -> *mut u8 { + alloc(Layout::from_size_align(len as usize, align as usize).unwrap()) +}