[INFO] fetching crate nostr-db 0.4.5... [INFO] testing nostr-db-0.4.5 against master#caccb4d0368bd918ef6668af8e13834d07040417 for pr-146098-1 [INFO] extracting crate nostr-db 0.4.5 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate nostr-db 0.4.5 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate nostr-db 0.4.5 [INFO] tweaked toml for crates.io crate nostr-db 0.4.5 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate nostr-db 0.4.5 on toolchain caccb4d0368bd918ef6668af8e13834d07040417 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 300 packages to latest compatible versions [INFO] [stderr] Adding rkyv v0.7.45 (available: v0.8.12) [INFO] [stderr] Adding secp256k1 v0.29.1 (available: v0.31.1) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.17) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lindera v0.43.3 [INFO] [stderr] Downloaded slice-group-by v0.3.1 [INFO] [stderr] Downloaded unicode-blocks v0.1.9 [INFO] [stderr] Downloaded nostr-kv v0.3.2 [INFO] [stderr] Downloaded include-flate-compress v0.3.1 [INFO] [stderr] Downloaded whatlang v0.16.4 [INFO] [stderr] Downloaded cedarwood v0.4.6 [INFO] [stderr] Downloaded lindera-ipadic-neologd v0.43.3 [INFO] [stderr] Downloaded lindera-cc-cedict v0.43.3 [INFO] [stderr] Downloaded bincode v2.0.1 [INFO] [stderr] Downloaded lmdb-master-sys v0.2.5 [INFO] [stderr] Downloaded quinn-udp v0.5.14 [INFO] [stderr] Downloaded irg-kvariants v0.1.1 [INFO] [stderr] Downloaded rustls-webpki v0.103.7 [INFO] [stderr] Downloaded lindera-unidic v0.43.3 [INFO] [stderr] Downloaded quinn v0.11.9 [INFO] [stderr] Downloaded yada v0.5.1 [INFO] [stderr] Downloaded secp256k1 v0.29.1 [INFO] [stderr] Downloaded include-flate-codegen v0.3.1 [INFO] [stderr] Downloaded jieba-macros v0.7.1 [INFO] [stderr] Downloaded lindera-ipadic v0.43.3 [INFO] [stderr] Downloaded lindera-ko-dic v0.43.3 [INFO] [stderr] Downloaded encoding_rs_io v0.1.7 [INFO] [stderr] Downloaded lindera-dictionary v0.43.3 [INFO] [stderr] Downloaded dary_heap v0.3.8 [INFO] [stderr] Downloaded include-flate v0.3.1 [INFO] [stderr] Downloaded virtue v0.0.18 [INFO] [stderr] Downloaded bincode_derive v2.0.1 [INFO] [stderr] Downloaded unty v0.0.4 [INFO] [stderr] Downloaded wana_kana v4.0.0 [INFO] [stderr] Downloaded doxygen-rs v0.4.2 [INFO] [stderr] Downloaded webpki-roots v1.0.2 [INFO] [stderr] Downloaded quinn-proto v0.11.13 [INFO] [stderr] Downloaded charabia v0.9.7 [INFO] [stderr] Downloaded fst v0.4.7 [INFO] [stderr] Downloaded jieba-rs v0.7.4 [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" "+caccb4d0368bd918ef6668af8e13834d07040417" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dd9c48696aa96824faef88c01590e6fea35a79cfea0f64a7e6264b063210804f [INFO] running `Command { std: "docker" "start" "-a" "dd9c48696aa96824faef88c01590e6fea35a79cfea0f64a7e6264b063210804f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dd9c48696aa96824faef88c01590e6fea35a79cfea0f64a7e6264b063210804f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dd9c48696aa96824faef88c01590e6fea35a79cfea0f64a7e6264b063210804f", kill_on_drop: false }` [INFO] [stdout] dd9c48696aa96824faef88c01590e6fea35a79cfea0f64a7e6264b063210804f [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" "+caccb4d0368bd918ef6668af8e13834d07040417" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 22d53fc305860fedf23859bf1af920ef16733df1a82b6f42298b9387a11953c5 [INFO] running `Command { std: "docker" "start" "-a" "22d53fc305860fedf23859bf1af920ef16733df1a82b6f42298b9387a11953c5", kill_on_drop: false }` [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling bytecheck v0.6.12 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling secp256k1-sys v0.10.1 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rend v0.4.2 [INFO] [stderr] Compiling ptr_meta_derive v0.1.4 [INFO] [stderr] Compiling bytecheck_derive v0.6.12 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling rkyv v0.7.45 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling rkyv_derive v0.7.45 [INFO] [stderr] Compiling seahash v4.1.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling ptr_meta v0.1.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling doxygen-rs v0.4.2 [INFO] [stderr] Compiling lmdb-master-sys v0.2.5 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling nostr-kv v0.3.2 [INFO] [stderr] Compiling secp256k1 v0.29.1 [INFO] [stderr] Compiling nostr-db v0.4.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/db.rs:393:19 [INFO] [stdout] | [INFO] [stdout] 393 | pub fn writer(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [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] 393 | pub fn writer(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/db.rs:397:19 [INFO] [stdout] | [INFO] [stdout] 397 | pub fn reader(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [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] 397 | pub fn reader(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.16s [INFO] running `Command { std: "docker" "inspect" "22d53fc305860fedf23859bf1af920ef16733df1a82b6f42298b9387a11953c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "22d53fc305860fedf23859bf1af920ef16733df1a82b6f42298b9387a11953c5", kill_on_drop: false }` [INFO] [stdout] 22d53fc305860fedf23859bf1af920ef16733df1a82b6f42298b9387a11953c5 [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" "+caccb4d0368bd918ef6668af8e13834d07040417" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 15909751d026ddc2260508d45ee01d18267dd61fb0cb07190a20ad01d70667b6 [INFO] running `Command { std: "docker" "start" "-a" "15909751d026ddc2260508d45ee01d18267dd61fb0cb07190a20ad01d70667b6", kill_on_drop: false }` [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling rkyv v0.7.45 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling nostr-db v0.4.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/db.rs:393:19 [INFO] [stdout] | [INFO] [stdout] 393 | pub fn writer(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [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] 393 | pub fn writer(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/db.rs:397:19 [INFO] [stdout] | [INFO] [stdout] 397 | pub fn reader(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [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] 397 | pub fn reader(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/db.rs:393:19 [INFO] [stdout] | [INFO] [stdout] 393 | pub fn writer(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [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] 393 | pub fn writer(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/db.rs:397:19 [INFO] [stdout] | [INFO] [stdout] 397 | pub fn reader(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [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] 397 | pub fn reader(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 8.77s [INFO] running `Command { std: "docker" "inspect" "15909751d026ddc2260508d45ee01d18267dd61fb0cb07190a20ad01d70667b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "15909751d026ddc2260508d45ee01d18267dd61fb0cb07190a20ad01d70667b6", kill_on_drop: false }` [INFO] [stdout] 15909751d026ddc2260508d45ee01d18267dd61fb0cb07190a20ad01d70667b6 [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" "+caccb4d0368bd918ef6668af8e13834d07040417" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7690df082bdfed3451b0b923d99fe24406bb73af5a80bef5a5e4a4ce5a56bf8c [INFO] running `Command { std: "docker" "start" "-a" "7690df082bdfed3451b0b923d99fe24406bb73af5a80bef5a5e4a4ce5a56bf8c", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/db.rs:393:19 [INFO] [stderr] | [INFO] [stderr] 393 | pub fn writer(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 393 | pub fn writer(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/db.rs:397:19 [INFO] [stderr] | [INFO] [stderr] 397 | pub fn reader(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 397 | pub fn reader(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `nostr-db` (lib) generated 2 warnings (run `cargo fix --lib -p nostr-db` to apply 2 suggestions) [INFO] [stderr] warning: `nostr-db` (lib test) generated 2 warnings (2 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nostr_db-cf0163bbe64cbbf1) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test event::tests::index_event ... ok [INFO] [stdout] test db::tests::test_upper_fn ... ok [INFO] [stdout] test event::tests::string ... ok [INFO] [stdout] test event::tests::create ... ok [INFO] [stdout] test event::tests::deserialize ... ok [INFO] [stdout] test filter::tests::match_event ... ok [INFO] [stdout] test filter::tests::deser_filter ... ok [INFO] [stdout] test event::tests::default ... ok [INFO] [stdout] test key::tests::index_key ... ok [INFO] [stdout] test key::tests::replace_key ... ok [INFO] [stdout] test key::tests::pad ... ok [INFO] [stdout] test filter::tests::tag_contains ... ok [INFO] [stdout] test event::tests::verify ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests nostr_db [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7690df082bdfed3451b0b923d99fe24406bb73af5a80bef5a5e4a4ce5a56bf8c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7690df082bdfed3451b0b923d99fe24406bb73af5a80bef5a5e4a4ce5a56bf8c", kill_on_drop: false }` [INFO] [stdout] 7690df082bdfed3451b0b923d99fe24406bb73af5a80bef5a5e4a4ce5a56bf8c