[INFO] updating cached repository SunDoge/arcade-rs-study [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/SunDoge/arcade-rs-study [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/SunDoge/arcade-rs-study" "work/ex/beta-1.38-1/sources/1.37.0/gh/SunDoge/arcade-rs-study"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/SunDoge/arcade-rs-study'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/SunDoge/arcade-rs-study" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/SunDoge/arcade-rs-study"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/SunDoge/arcade-rs-study'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 0aba3ae3d34e416dbef94bd10a8b9f3b5536c110 [INFO] sha for GitHub repo SunDoge/arcade-rs-study: 0aba3ae3d34e416dbef94bd10a8b9f3b5536c110 [INFO] validating manifest of SunDoge/arcade-rs-study on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of SunDoge/arcade-rs-study on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing SunDoge/arcade-rs-study [INFO] finished frobbing SunDoge/arcade-rs-study [INFO] frobbed toml for SunDoge/arcade-rs-study written to work/ex/beta-1.38-1/sources/1.37.0/gh/SunDoge/arcade-rs-study/Cargo.toml [INFO] started frobbing SunDoge/arcade-rs-study [INFO] finished frobbing SunDoge/arcade-rs-study [INFO] frobbed toml for SunDoge/arcade-rs-study written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/SunDoge/arcade-rs-study/Cargo.toml [INFO] crate SunDoge/arcade-rs-study already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing SunDoge/arcade-rs-study against beta-2019-08-13 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-1/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/SunDoge/arcade-rs-study:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+beta-2019-08-13" "build" "--frozen"` [INFO] [stdout] 6fba23f77261eb5bd90f2b8d1cfa5103ded105a70f43597242152c6678f01ddd [INFO] running `"docker" "start" "-a" "6fba23f77261eb5bd90f2b8d1cfa5103ded105a70f43597242152c6678f01ddd"` [INFO] [stderr] Compiling sdl2-sys v0.25.0 [INFO] [stderr] Compiling sdl2 v0.25.0 [INFO] [stderr] Compiling sdl2_ttf v0.25.1 [INFO] [stderr] Compiling sdl2_image v0.25.0 [INFO] [stderr] Compiling arcade-rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/phi/mod.rs:81:20 [INFO] [stderr] | [INFO] [stderr] 81 | ChangeView(Box), [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn View` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/phi/mod.rs:89:34 [INFO] [stderr] | [INFO] [stderr] 89 | where F: Fn(&mut Phi) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn View` [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::render::Renderer` [INFO] [stderr] --> src/views/game.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use sdl2::render::Renderer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/views/game.rs:45:40 [INFO] [stderr] | [INFO] [stderr] 45 | fn spawn_bullets(&self) -> Vec> { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Bullet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/views/game.rs:115:22 [INFO] [stderr] | [INFO] [stderr] 115 | bullets: Vec>, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Bullet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/views/game.rs:369:71 [INFO] [stderr] | [INFO] [stderr] 369 | fn update(self: Box, phi: &mut Phi, dt: f64) -> Option>; [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Bullet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/views/game.rs:404:74 [INFO] [stderr] | [INFO] [stderr] 404 | fn update(mut self: Box, phi: &mut Phi, dt: f64) -> Option> { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Bullet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/views/game.rs:447:74 [INFO] [stderr] | [INFO] [stderr] 447 | fn update(mut self: Box, phi: &mut Phi, dt: f64) -> Option> { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Bullet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/views/game.rs:491:74 [INFO] [stderr] | [INFO] [stderr] 491 | fn update(mut self: Box, phi: &mut Phi, dt: f64) -> Option> { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Bullet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/views/main_menu.rs:23:15 [INFO] [stderr] | [INFO] [stderr] 23 | func: Box ViewAction>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Phi, BgSet) -> ViewAction` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/views/main_menu.rs:31:58 [INFO] [stderr] | [INFO] [stderr] 31 | fn new(phi: &mut Phi, label: &'static str, func: Box ViewAction>) -> Action { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Phi, BgSet) -> ViewAction` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `overlaps` [INFO] [stderr] --> src/phi/data.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn overlaps(&self, other: Rectangle) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/views/game.rs:381:5 [INFO] [stderr] | [INFO] [stderr] 381 | fn update(mut self, phi: &mut Phi, dt: f64) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `render` [INFO] [stderr] --> src/views/game.rs:392:5 [INFO] [stderr] | [INFO] [stderr] 392 | fn render(&self, phi: &mut Phi) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rect` [INFO] [stderr] --> src/views/game.rs:397:5 [INFO] [stderr] | [INFO] [stderr] 397 | fn rect(&self) -> Rectangle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/views/game.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | phi.renderer.fill_rect(self.player.rect.to_sdl().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/views/game.rs:394:9 [INFO] [stderr] | [INFO] [stderr] 394 | phi.renderer.fill_rect(self.rect.to_sdl().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/views/game.rs:417:9 [INFO] [stderr] | [INFO] [stderr] 417 | phi.renderer.fill_rect(self.rect.to_sdl().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/views/game.rs:467:9 [INFO] [stderr] | [INFO] [stderr] 467 | phi.renderer.fill_rect(self.rect().to_sdl().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/views/game.rs:510:9 [INFO] [stderr] | [INFO] [stderr] 510 | phi.renderer.fill_rect(self.rect().to_sdl().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/views/main_menu.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | / phi.renderer.fill_rect(Rectangle { [INFO] [stderr] 116 | | w: box_w + border_width * 2.0, [INFO] [stderr] 117 | | h: box_h + border_width * 2.0 + margin_h * 2.0, [INFO] [stderr] 118 | | x: (win_w - box_w) / 2.0 - border_width, [INFO] [stderr] 119 | | y: (win_h - box_h) / 2.0 - margin_h - border_width, [INFO] [stderr] 120 | | }.to_sdl().unwrap()); [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/views/main_menu.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | / phi.renderer.fill_rect(Rectangle { [INFO] [stderr] 125 | | w: box_w, [INFO] [stderr] 126 | | h: box_h + margin_h * 2.0, [INFO] [stderr] 127 | | x: (win_w - box_w) / 2.0, [INFO] [stderr] 128 | | y: (win_h - box_h) / 2.0 - margin_h, [INFO] [stderr] 129 | | }.to_sdl().unwrap()); [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: linking with `cc` failed: exit code: 1 [INFO] [stderr] | [INFO] [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.0.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.1.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.10.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.11.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.12.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.13.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.14.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.15.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.2.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.3.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.4.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.5.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.6.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.7.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.8.rcgu.o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.arcade_rs.dthslm3q-cgu.9.rcgu.o" "-o" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97" "/opt/crater/target/debug/deps/arcade_rs-f3e3b9cdbe0a5e97.140z4kpi6qgbvpjp.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/crater/target/debug/deps" "-L" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/crater/target/debug/deps/libsdl2_ttf-451bf3e2361f747a.rlib" "/opt/crater/target/debug/deps/libsdl2_image-b8fb388f76ac76c2.rlib" "/opt/crater/target/debug/deps/libbitflags-b03ee8d07369378c.rlib" "/opt/crater/target/debug/deps/libsdl2-671ca2dd0b8e983c.rlib" "/opt/crater/target/debug/deps/librand-06e6dab173165164.rlib" "/opt/crater/target/debug/deps/libsdl2_sys-a3d73ed027650737.rlib" "/opt/crater/target/debug/deps/libbitflags-c07c0dca308057ba.rlib" "/opt/crater/target/debug/deps/liblazy_static-5b3a6350224c4bac.rlib" "/opt/crater/target/debug/deps/liblibc-51eb378bf85f9622.rlib" "/opt/crater/target/debug/deps/libnum-21583d9e0585b1d1.rlib" "/opt/crater/target/debug/deps/libnum_iter-0c80d544ba1f8bd7.rlib" "/opt/crater/target/debug/deps/libnum_integer-4739295d8bcfef2e.rlib" "/opt/crater/target/debug/deps/libnum_traits-cf072775152a8823.rlib" "-Wl,--start-group" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-1d6d86bd078a28e9.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e9721e46a424e2a9.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-c07193698f282147.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-6da45690f3863086.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-690797036dd27680.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-d3896ccbfd8eda2b.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-7cccc3739e3d7623.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-5e9ba178a513cd29.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-5ca9f83bf63d1f4b.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-bba1c7ef9e950882.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-e23c9de62012deb5.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-9b59dffdcd513d5d.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-17392340ab2e4a97.rlib" "-Wl,--end-group" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ac21508a81e3f7f3.rlib" "-Wl,-Bdynamic" "-lSDL2_ttf" "-lSDL2_image" "-lSDL2" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" [INFO] [stderr] = note: /usr/bin/ld: cannot find -lSDL2_ttf [INFO] [stderr] /usr/bin/ld: cannot find -lSDL2_image [INFO] [stderr] collect2: error: ld returned 1 exit status [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `arcade-rs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "6fba23f77261eb5bd90f2b8d1cfa5103ded105a70f43597242152c6678f01ddd"` [INFO] running `"docker" "rm" "-f" "6fba23f77261eb5bd90f2b8d1cfa5103ded105a70f43597242152c6678f01ddd"` [INFO] [stdout] 6fba23f77261eb5bd90f2b8d1cfa5103ded105a70f43597242152c6678f01ddd