[INFO] fetching crate tokio-stomp-rs-rs 0.1.12... [INFO] building tokio-stomp-rs-rs-0.1.12 against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2 [INFO] extracting crate tokio-stomp-rs-rs 0.1.12 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate tokio-stomp-rs-rs 0.1.12 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate tokio-stomp-rs-rs 0.1.12 [INFO] tweaked toml for crates.io crate tokio-stomp-rs-rs 0.1.12 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate tokio-stomp-rs-rs 0.1.12 on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate tokio-stomp-rs-rs 0.1.12 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded custom_debug_derive v0.6.1 [INFO] [stderr] Downloaded object v0.36.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0a5eb894b9c1566975de6c4428eb1cc5ed3836dab317d2f965446cb54c21678b [INFO] running `Command { std: "docker" "start" "-a" "0a5eb894b9c1566975de6c4428eb1cc5ed3836dab317d2f965446cb54c21678b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0a5eb894b9c1566975de6c4428eb1cc5ed3836dab317d2f965446cb54c21678b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a5eb894b9c1566975de6c4428eb1cc5ed3836dab317d2f965446cb54c21678b", kill_on_drop: false }` [INFO] [stdout] 0a5eb894b9c1566975de6c4428eb1cc5ed3836dab317d2f965446cb54c21678b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0f56c0872fd04d26731978df77ee8ab3dc44115cb9e3c0ada549d51516e74d71 [INFO] running `Command { std: "docker" "start" "-a" "0f56c0872fd04d26731978df77ee8ab3dc44115cb9e3c0ada549d51516e74d71", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling futures-channel v0.3.30 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling socket2 v0.5.7 [INFO] [stderr] Compiling mio v1.0.1 [INFO] [stderr] Compiling tokio v1.39.2 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling custom_debug_derive v0.6.1 [INFO] [stderr] Compiling tokio-util v0.7.11 [INFO] [stderr] Compiling futures-executor v0.3.30 [INFO] [stderr] Compiling futures v0.3.30 [INFO] [stderr] Compiling tokio-stomp-rs-rs v0.1.12 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `AsBytes` [INFO] [stdout] --> src/frame.rs:3:262 [INFO] [stdout] | [INFO] [stdout] 3 | ...elimited, separated_pair, terminated, tuple}, IResult, Parser, AsBytes}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_content_length_header` is never used [INFO] [stdout] --> src/frame.rs:330:4 [INFO] [stdout] | [INFO] [stdout] 330 | fn get_content_length_header(body: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/frame.rs:111:34 [INFO] [stdout] | [INFO] [stdout] 111 | pub(crate) fn parse_frame(input: &[u8]) -> IResult<&[u8], Frame> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 111 | pub(crate) fn parse_frame(input: &[u8]) -> IResult<&[u8], Frame<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/frame.rs:140:24 [INFO] [stdout] | [INFO] [stdout] 140 | fn parse_header(input: &[u8]) -> IResult<&[u8], (&[u8], Cow<[u8]>)> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 140 | fn parse_header(input: &[u8]) -> IResult<&[u8], (&[u8], Cow<'_, [u8]>)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.52s [INFO] running `Command { std: "docker" "inspect" "0f56c0872fd04d26731978df77ee8ab3dc44115cb9e3c0ada549d51516e74d71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f56c0872fd04d26731978df77ee8ab3dc44115cb9e3c0ada549d51516e74d71", kill_on_drop: false }` [INFO] [stdout] 0f56c0872fd04d26731978df77ee8ab3dc44115cb9e3c0ada549d51516e74d71 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1697a863b73d921ed38ff7b4257f605c3e98ef6837d9e71645a43e08e6956f74 [INFO] running `Command { std: "docker" "start" "-a" "1697a863b73d921ed38ff7b4257f605c3e98ef6837d9e71645a43e08e6956f74", kill_on_drop: false }` [INFO] [stderr] Compiling yansi v0.5.1 [INFO] [stderr] Compiling tokio v1.39.2 [INFO] [stderr] Compiling pretty_assertions v1.4.0 [INFO] [stderr] Compiling tokio-util v0.7.11 [INFO] [stderr] Compiling tokio-stomp-rs-rs v0.1.12 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `AsBytes` [INFO] [stdout] --> src/frame.rs:3:262 [INFO] [stdout] | [INFO] [stdout] 3 | ...elimited, separated_pair, terminated, tuple}, IResult, Parser, AsBytes}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_content_length_header` is never used [INFO] [stdout] --> src/frame.rs:330:4 [INFO] [stdout] | [INFO] [stdout] 330 | fn get_content_length_header(body: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/frame.rs:111:34 [INFO] [stdout] | [INFO] [stdout] 111 | pub(crate) fn parse_frame(input: &[u8]) -> IResult<&[u8], Frame> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 111 | pub(crate) fn parse_frame(input: &[u8]) -> IResult<&[u8], Frame<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/frame.rs:140:24 [INFO] [stdout] | [INFO] [stdout] 140 | fn parse_header(input: &[u8]) -> IResult<&[u8], (&[u8], Cow<[u8]>)> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 140 | fn parse_header(input: &[u8]) -> IResult<&[u8], (&[u8], Cow<'_, [u8]>)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsBytes` [INFO] [stdout] --> src/frame.rs:3:262 [INFO] [stdout] | [INFO] [stdout] 3 | ...elimited, separated_pair, terminated, tuple}, IResult, Parser, AsBytes}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `tokio_stomp` [INFO] [stdout] --> examples/connect.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use tokio_stomp::*; [INFO] [stdout] | ^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_stomp` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `tokio_stomp`, use `cargo add tokio_stomp` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `tokio_stomp_rs` [INFO] [stdout] --> examples/connect.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio_stomp_rs::ToServer; [INFO] [stdout] | ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_stomp_rs` [INFO] [stdout] | [INFO] [stdout] help: there is a crate or module with a similar name [INFO] [stdout] | [INFO] [stdout] 6 | use tokio_stomp_rs_rs::ToServer; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> examples/connect.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let conn = client::connect( [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | let (mut sink, stream) = conn.split(); [INFO] [stdout] | ----- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `conn` an explicit type [INFO] [stdout] | [INFO] [stdout] 17 | let conn: /* Type */ = client::connect( [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> examples/connect.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | sink.send(client::subscribe("rusty", "myid")).await?; [INFO] [stdout] | ^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> examples/connect.rs:65:23 [INFO] [stdout] | [INFO] [stdout] 65 | let fut2 = stream.try_for_each(|item| { [INFO] [stdout] | ^^^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> examples/connect.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | .factor_first() [INFO] [stdout] | ^^^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `tokio_stomp` [INFO] [stdout] --> examples/ping_pong.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use tokio_stomp::*; [INFO] [stdout] | ^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_stomp` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `tokio_stomp`, use `cargo add tokio_stomp` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tokio-stomp-rs-rs` (example "connect") due to 6 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: function `get_content_length_header` is never used [INFO] [stdout] --> src/frame.rs:330:4 [INFO] [stdout] | [INFO] [stdout] 330 | fn get_content_length_header(body: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> examples/ping_pong.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let mut conn = client::connect( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | conn.send(client::subscribe(listens, "myid")).await?; [INFO] [stdout] | ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `conn` an explicit type [INFO] [stdout] | [INFO] [stdout] 14 | let mut conn: /* Type */ = client::connect( [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> examples/ping_pong.rs:34:37 [INFO] [stdout] | [INFO] [stdout] 34 | let msg = conn.next().await.transpose()?; [INFO] [stdout] | ^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/frame.rs:111:34 [INFO] [stdout] | [INFO] [stdout] 111 | pub(crate) fn parse_frame(input: &[u8]) -> IResult<&[u8], Frame> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 111 | pub(crate) fn parse_frame(input: &[u8]) -> IResult<&[u8], Frame<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/frame.rs:140:24 [INFO] [stdout] | [INFO] [stdout] 140 | fn parse_header(input: &[u8]) -> IResult<&[u8], (&[u8], Cow<[u8]>)> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 140 | fn parse_header(input: &[u8]) -> IResult<&[u8], (&[u8], Cow<'_, [u8]>)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `tokio-stomp-rs-rs` (example "ping_pong") due to 3 previous errors [INFO] running `Command { std: "docker" "inspect" "1697a863b73d921ed38ff7b4257f605c3e98ef6837d9e71645a43e08e6956f74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1697a863b73d921ed38ff7b4257f605c3e98ef6837d9e71645a43e08e6956f74", kill_on_drop: false }` [INFO] [stdout] 1697a863b73d921ed38ff7b4257f605c3e98ef6837d9e71645a43e08e6956f74