[INFO] fetching crate coca 0.2.0... [INFO] testing coca-0.2.0 against beta-2022-02-22 for beta-1.60-1 [INFO] extracting crate coca 0.2.0 into /workspace/builds/worker-0/source [INFO] validating manifest of crates.io crate coca 0.2.0 on toolchain beta-2022-02-22 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate coca 0.2.0 [INFO] finished tweaking crates.io crate coca 0.2.0 [INFO] tweaked toml for crates.io crate coca 0.2.0 written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate crates.io crate coca 0.2.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 94c3c9e02b67353138e03b89fcd1243de47e8f3714ca6a0afc6c9cee937dd2e2 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "94c3c9e02b67353138e03b89fcd1243de47e8f3714ca6a0afc6c9cee937dd2e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "94c3c9e02b67353138e03b89fcd1243de47e8f3714ca6a0afc6c9cee937dd2e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "94c3c9e02b67353138e03b89fcd1243de47e8f3714ca6a0afc6c9cee937dd2e2", kill_on_drop: false }` [INFO] [stdout] 94c3c9e02b67353138e03b89fcd1243de47e8f3714ca6a0afc6c9cee937dd2e2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bf64545a6d24db34f19669923200dfc65b3b901a36a17b82ae4762a5c6b17c93 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "bf64545a6d24db34f19669923200dfc65b3b901a36a17b82ae4762a5c6b17c93", kill_on_drop: false }` [INFO] [stderr] Compiling coca v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.79s [INFO] running `Command { std: "docker" "inspect" "bf64545a6d24db34f19669923200dfc65b3b901a36a17b82ae4762a5c6b17c93", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf64545a6d24db34f19669923200dfc65b3b901a36a17b82ae4762a5c6b17c93", kill_on_drop: false }` [INFO] [stdout] bf64545a6d24db34f19669923200dfc65b3b901a36a17b82ae4762a5c6b17c93 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9f5f6e65756080bf754bdddca4844d06fea2164f2a8be9734c4aa7365cc73b1d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "9f5f6e65756080bf754bdddca4844d06fea2164f2a8be9734c4aa7365cc73b1d", kill_on_drop: false }` [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling coca v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> examples/icosphere.rs:79:6 [INFO] [stdout] | [INFO] [stdout] 79 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `val` [INFO] [stdout] --> src/arena.rs:1314:13 [INFO] [stdout] | [INFO] [stdout] 1314 | val: i64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `LinkedList` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/arena.rs:1312:18 [INFO] [stdout] | [INFO] [stdout] 1312 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `next` [INFO] [stdout] --> src/arena.rs:1315:13 [INFO] [stdout] | [INFO] [stdout] 1315 | next: Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `LinkedList` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/arena.rs:1312:18 [INFO] [stdout] | [INFO] [stdout] 1312 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `value` [INFO] [stdout] --> src/deque.rs:2179:13 [INFO] [stdout] | [INFO] [stdout] 2179 | value: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Droppable` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/deque.rs:2177:18 [INFO] [stdout] | [INFO] [stdout] 2177 | #[derive(Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [optimized + debuginfo] target(s) in 7.49s [INFO] running `Command { std: "docker" "inspect" "9f5f6e65756080bf754bdddca4844d06fea2164f2a8be9734c4aa7365cc73b1d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f5f6e65756080bf754bdddca4844d06fea2164f2a8be9734c4aa7365cc73b1d", kill_on_drop: false }` [INFO] [stdout] 9f5f6e65756080bf754bdddca4844d06fea2164f2a8be9734c4aa7365cc73b1d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] faa9082b0a318996bc854775371bff5bb2458ad93ab7c935e6a878f888e39384 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "faa9082b0a318996bc854775371bff5bb2458ad93ab7c935e6a878f888e39384", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> examples/icosphere.rs:79:6 [INFO] [stderr] | [INFO] [stderr] 79 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `coca` (example "icosphere") generated 1 warning [INFO] [stderr] warning: field is never read: `val` [INFO] [stderr] --> src/arena.rs:1314:13 [INFO] [stderr] | [INFO] [stderr] 1314 | val: i64, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] note: `LinkedList` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/arena.rs:1312:18 [INFO] [stderr] | [INFO] [stderr] 1312 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `next` [INFO] [stderr] --> src/arena.rs:1315:13 [INFO] [stderr] | [INFO] [stderr] 1315 | next: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `LinkedList` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/arena.rs:1312:18 [INFO] [stderr] | [INFO] [stderr] 1312 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `value` [INFO] [stderr] --> src/deque.rs:2179:13 [INFO] [stderr] | [INFO] [stderr] 2179 | value: usize, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Droppable` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/deque.rs:2177:18 [INFO] [stderr] | [INFO] [stderr] 2177 | #[derive(Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `coca` (lib test) generated 3 warnings [INFO] [stderr] Finished test [optimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/coca-8ad5769f48f9b929) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test arena::tests::debug_impl ... ok [INFO] [stdout] test binary_heap::tests::tree_traversal_utilities ... ok [INFO] [stdout] test arena::tests::failed_collect_drops_taken_items ... ok [INFO] [stdout] test arena::tests::format_boxed_debug_struct ... ok [INFO] [stdout] test deque::tests::all_insertion_cases ... ok [INFO] [stdout] test deque::tests::all_removal_cases ... ok [INFO] [stdout] test deque::tests::all_drain_cases ... ok [INFO] [stdout] test binary_heap::tests::iterators_take_and_drop_correctly ... ok [INFO] [stdout] test binary_heap::tests::push_and_pop_randomized_inputs ... ok [INFO] [stdout] test vec::tests::iterators_take_and_drop_correctly ... ok [INFO] [stdout] test vec::tests::sizes_of_instantiated_types ... ok [INFO] [stdout] test vec::tests::from_panics_for_too_large_inputs - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Doc-tests coca [INFO] [stdout] [INFO] [stdout] running 67 tests [INFO] [stdout] test src/arena.rs - arena (line 34) - compile ... ok [INFO] [stdout] test src/arena.rs - arena (line 14) - compile fail ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_reserve_array (line 662) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::from (line 360) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_alloc_default (line 522) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_reserve (line 609) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_array_default (line 728) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_deque (line 934) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_alloc (line 566) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::make_sub_arena (line 432) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_vec (line 840) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_collect (line 985) ... ok [INFO] [stdout] test src/arena.rs - arena::fmt (line 1240) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_heap (line 886) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::try_array (line 799) ... ok [INFO] [stdout] test src/arena.rs - arena::Arena::make_writer (line 1081) ... ok [INFO] [stdout] test src/binary_heap.rs - binary_heap::BinaryHeap::drain (line 352) ... ok [INFO] [stdout] test src/binary_heap.rs - binary_heap::BinaryHeap::into_sorted_vec (line 410) ... ok [INFO] [stdout] test src/binary_heap.rs - binary_heap::BinaryHeap::drain_sorted (line 380) ... ok [INFO] [stdout] test src/binary_heap.rs - binary_heap::BinaryHeap::pop (line 255) ... ok [INFO] [stdout] test src/binary_heap.rs - binary_heap::BinaryHeap::into_iter_sorted (line 437) ... ok [INFO] [stdout] test src/binary_heap.rs - binary_heap::BinaryHeap::peek_mut (line 227) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::contains (line 170) ... ok [INFO] [stdout] test src/binary_heap.rs - binary_heap::BinaryHeap::try_push (line 298) ... ok [INFO] [stdout] test src/binary_heap.rs - binary_heap::SliceHeap (line 41) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::as_slices (line 955) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::as_mut_slices (line 988) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::iter_mut (line 1090) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::iter (line 1065) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::from_raw_parts (line 124) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::drain (line 1225) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::into_raw_parts (line 97) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::pop_back (line 274) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::make_contiguous (line 1037) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::range_mut (line 1169) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::pop_front (line 249) ... ok [INFO] [stdout] test src/storage.rs - storage::index_type (line 130) - compile fail ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::replace (line 765) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::remove (line 663) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::try_push_back (line 339) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::try_push_front (line 299) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::retain (line 788) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::range (line 1117) ... ok [INFO] [stdout] test src/deque.rs - deque::SliceDeque (line 42) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::swap_remove_back (line 481) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::swap (line 424) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::rotate_right (line 926) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::truncate (line 379) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::rotate_left (line 891) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::try_insert (line 514) ... ok [INFO] [stdout] test src/deque.rs - deque::Deque::swap_remove_front (line 451) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::get (line 226) ... ok [INFO] [stdout] test src/vec.rs - vec::IntoIterator (line 917) ... ok [INFO] [stdout] test src/vec.rs - vec::SliceVec (line 65) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::remove (line 509) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::drain (line 603) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::from_raw_parts (line 139) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::swap (line 343) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::swap_remove (line 367) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::truncate (line 303) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::retain (line 559) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::into_raw_parts (line 112) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::retain (line 550) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::pop (line 189) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::try_push (line 259) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::try_insert (line 428) ... ok [INFO] [stdout] test src/vec.rs - vec::Vec::replace (line 474) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 67 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.72s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "faa9082b0a318996bc854775371bff5bb2458ad93ab7c935e6a878f888e39384", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "faa9082b0a318996bc854775371bff5bb2458ad93ab7c935e6a878f888e39384", kill_on_drop: false }` [INFO] [stdout] faa9082b0a318996bc854775371bff5bb2458ad93ab7c935e6a878f888e39384