[INFO] fetching crate rquickjs-extra-url 0.1.1... [INFO] testing rquickjs-extra-url-0.1.1 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7 [INFO] extracting crate rquickjs-extra-url 0.1.1 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate rquickjs-extra-url 0.1.1 [INFO] finished tweaking crates.io crate rquickjs-extra-url 0.1.1 [INFO] tweaked toml for crates.io crate rquickjs-extra-url 0.1.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate rquickjs-extra-url 0.1.1 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rquickjs-extra-url 0.1.1 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c96b2eb1472cc245fe11610910f91a251421924e7ab390ae6ffda26f8e8710aa [INFO] running `Command { std: "docker" "start" "-a" "c96b2eb1472cc245fe11610910f91a251421924e7ab390ae6ffda26f8e8710aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c96b2eb1472cc245fe11610910f91a251421924e7ab390ae6ffda26f8e8710aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c96b2eb1472cc245fe11610910f91a251421924e7ab390ae6ffda26f8e8710aa", kill_on_drop: false }` [INFO] [stdout] c96b2eb1472cc245fe11610910f91a251421924e7ab390ae6ffda26f8e8710aa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 18199b009599e2a9e73f0922ca4503b910dd5a6cd86629ea0e4f53111d974dec [INFO] running `Command { std: "docker" "start" "-a" "18199b009599e2a9e73f0922ca4503b910dd5a6cd86629ea0e4f53111d974dec", kill_on_drop: false }` [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling winnow v0.7.12 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling cc v1.2.31 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling rquickjs-sys v0.9.0 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Compiling rquickjs-core v0.9.0 [INFO] [stderr] Compiling rquickjs-macro v0.9.0 [INFO] [stderr] Compiling rquickjs v0.9.0 [INFO] [stderr] Compiling rquickjs-extra-url v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.51s [INFO] running `Command { std: "docker" "inspect" "18199b009599e2a9e73f0922ca4503b910dd5a6cd86629ea0e4f53111d974dec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18199b009599e2a9e73f0922ca4503b910dd5a6cd86629ea0e4f53111d974dec", kill_on_drop: false }` [INFO] [stdout] 18199b009599e2a9e73f0922ca4503b910dd5a6cd86629ea0e4f53111d974dec [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1b92861d91875482158dc447d3f979407eac3c5dceef408f42b62f7799b05cb2 [INFO] running `Command { std: "docker" "start" "-a" "1b92861d91875482158dc447d3f979407eac3c5dceef408f42b62f7799b05cb2", kill_on_drop: false }` [INFO] [stderr] Compiling rquickjs-extra-url v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `rquickjs_extra_test` [INFO] [stdout] --> src/url_search_params.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | use rquickjs_extra_test::test_with; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `rquickjs_extra_test` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rquickjs_extra_test`, use `cargo add rquickjs_extra_test` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:334:20 [INFO] [stdout] | [INFO] [stdout] 334 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 335 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 334 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:358:20 [INFO] [stdout] | [INFO] [stdout] 358 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 359 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 358 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:382:20 [INFO] [stdout] | [INFO] [stdout] 382 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 383 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 382 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:406:20 [INFO] [stdout] | [INFO] [stdout] 406 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 407 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 406 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:430:20 [INFO] [stdout] | [INFO] [stdout] 430 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 431 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 430 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:454:20 [INFO] [stdout] | [INFO] [stdout] 454 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 455 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 454 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:471:20 [INFO] [stdout] | [INFO] [stdout] 471 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 472 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 471 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:488:20 [INFO] [stdout] | [INFO] [stdout] 488 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 489 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 488 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:505:20 [INFO] [stdout] | [INFO] [stdout] 505 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 506 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 505 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:522:20 [INFO] [stdout] | [INFO] [stdout] 522 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 523 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 522 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:543:20 [INFO] [stdout] | [INFO] [stdout] 543 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 544 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 543 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:563:20 [INFO] [stdout] | [INFO] [stdout] 563 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 564 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 563 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:584:20 [INFO] [stdout] | [INFO] [stdout] 584 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 585 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 584 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:604:20 [INFO] [stdout] | [INFO] [stdout] 604 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 605 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 604 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:624:20 [INFO] [stdout] | [INFO] [stdout] 624 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 625 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 624 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:644:20 [INFO] [stdout] | [INFO] [stdout] 644 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 645 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 644 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:664:20 [INFO] [stdout] | [INFO] [stdout] 664 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 665 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 664 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:684:20 [INFO] [stdout] | [INFO] [stdout] 684 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 685 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 684 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:704:20 [INFO] [stdout] | [INFO] [stdout] 704 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 705 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 704 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:724:20 [INFO] [stdout] | [INFO] [stdout] 724 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 725 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 724 | test_with(|ctx: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/url_search_params.rs:745:20 [INFO] [stdout] | [INFO] [stdout] 745 | test_with(|ctx| { [INFO] [stdout] | ^^^ [INFO] [stdout] 746 | Class::::define(&ctx.globals()).unwrap(); [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 745 | test_with(|ctx: /* Type */| { [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 `rquickjs-extra-url` (lib test) due to 22 previous errors [INFO] running `Command { std: "docker" "inspect" "1b92861d91875482158dc447d3f979407eac3c5dceef408f42b62f7799b05cb2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b92861d91875482158dc447d3f979407eac3c5dceef408f42b62f7799b05cb2", kill_on_drop: false }` [INFO] [stdout] 1b92861d91875482158dc447d3f979407eac3c5dceef408f42b62f7799b05cb2