[INFO] fetching crate sonos-sdk-state 0.9.0...
[INFO] testing sonos-sdk-state-0.9.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate sonos-sdk-state 0.9.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate sonos-sdk-state 0.9.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate sonos-sdk-state 0.9.0
[INFO] tweaked toml for crates.io crate sonos-sdk-state 0.9.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sonos-sdk-state 0.9.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sonos-sdk-state 0.9.0 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d
[INFO] running `Command { std: "docker" "start" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling cc v1.4.3
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling rustls v0.23.45
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling if-addrs v0.15.0
[INFO] [stderr]    Compiling base64 v0.23.1
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling ureq-proto v0.6.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling zerovec-derive v0.11.5
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling zerovec v0.11.7
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.14
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling icu_provider v2.3.0
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling ureq v3.4.0
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling sonos-sdk-soap-client v0.9.0
[INFO] [stderr]    Compiling sonos-sdk-discovery v0.9.0
[INFO] [stderr]    Compiling sonos-api v0.9.0
[INFO] [stderr]    Compiling sonos-sdk-callback-server v0.9.0
[INFO] [stderr]    Compiling sonos-sdk-stream v0.9.0
[INFO] [stderr]    Compiling sonos-sdk-event-manager v0.9.0
[INFO] [stderr]    Compiling sonos-sdk-state v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.18s
[INFO] running `Command { std: "docker" "inspect" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling sonos-sdk-state v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.22s
[INFO] running `Command { std: "docker" "inspect" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/sonos-sdk-state/c2b3b2fbfefce48c/out/sonos_state-c2b3b2fbfefce48c)
[INFO] [stdout] 
[INFO] [stdout] running 120 tests
[INFO] [stdout] test decoder::tests::test_decode_rendering_control ... ok
[INFO] [stdout] test decoder::tests::test_decode_av_transport ... ok
[INFO] [stdout] test decoder::tests::test_decode_group_rendering_control ... ok
[INFO] [stdout] test decoder::tests::test_decode_topology_extracts_boot_seq_values ... ok
[INFO] [stdout] test decoder::tests::test_decode_topology_single_group_multiple_speakers ... ok
[INFO] [stdout] test decoder::tests::test_decode_topology_boot_seq_defaults_to_zero ... ok
[INFO] [stdout] test decoder::tests::test_decode_topology_extracts_ips_and_satellites ... ok
[INFO] [stdout] test decoder::tests::test_decode_topology_multiple_groups ... ok
[INFO] [stdout] test decoder::tests::test_extract_ip_from_location_no_path ... ok
[INFO] [stdout] test decoder::tests::test_parse_duration_ms_overflow_returns_none ... ok
[INFO] [stdout] test decoder::tests::test_extract_ip_from_location_malformed ... ok
[INFO] [stdout] test decoder::tests::test_decode_av_transport_skips_position_when_rel_time_garbage ... ok
[INFO] [stdout] test decoder::tests::test_extract_ip_from_location_valid ... ok
[INFO] [stdout] test decoder::tests::test_extract_ip_from_location_missing_prefix ... ok
[INFO] [stdout] test decoder::tests::test_parse_duration_ms ... ok
[INFO] [stdout] test decoder::tests::test_decode_topology_single_group_one_speaker ... ok
[INFO] [stdout] test decoder::tests::test_extract_ip_from_location_empty ... ok
[INFO] [stdout] test decoder::tests::test_parse_track_metadata_decodes_double_escaped_entity ... ok
[INFO] [stdout] test decoder::tests::test_decode_topology_empty_event ... ok
[INFO] [stdout] test decoder::tests::test_property_change_scope ... ok
[INFO] [stdout] test decoder::tests::test_property_change_service ... ok
[INFO] [stdout] test event_worker::tests::test_apply_property_change_group_volume_no_group ... ok
[INFO] [stdout] test event_worker::tests::test_apply_topology_changes_updates_group_membership ... ok
[INFO] [stdout] test event_worker::tests::test_apply_property_change_with_watch ... ok
[INFO] [stdout] test decoder::tests::test_decode_group_rendering_control_no_volume ... ok
[INFO] [stdout] test event_worker::tests::test_apply_property_change_volume ... ok
[INFO] [stdout] test event_worker::tests::test_apply_topology_changes_clears_old_groups ... ok
[INFO] [stdout] test decoder::tests::test_parse_track_metadata_tolerates_bad_entities ... ok
[INFO] [stdout] test event_worker::tests::test_apply_topology_changes_emits_events_for_watched_properties ... ok
[INFO] [stdout] test decoder::tests::test_decode_group_rendering_control_clamps_volume ... ok
[INFO] [stdout] test error::tests::api_variant_keeps_message_and_source ... ok
[INFO] [stdout] test decoder::tests::test_property_change_key ... ok
[INFO] [stdout] test event_worker::tests::test_partial_topology_event_does_not_clear_groups ... ok
[INFO] [stdout] test event_worker::tests::test_apply_topology_changes_no_event_when_membership_unchanged ... ok
[INFO] [stdout] test event_worker::tests::test_apply_property_change_group_volume ... ok
[INFO] [stdout] test event_worker::tests::test_apply_topology_changes_updates_groups ... ok
[INFO] [stdout] test event_worker::tests::test_apply_topology_changes_updates_speaker_to_group_mapping ... ok
[INFO] [stdout] test event_worker::tests::test_notify_group_members_only_notifies_watched ... ok
[INFO] [stdout] test event_worker::tests::test_resolve_group_members_empty_for_non_coordinator ... ok
[INFO] [stdout] test event_worker::tests::test_per_coordinator_no_notification_for_standalone ... ok
[INFO] [stdout] test event_worker::tests::test_per_coordinator_notifies_members_without_data_copy ... ok
[INFO] [stdout] test event_worker::tests::test_per_speaker_service_not_notified ... ok
[INFO] [stdout] test iter::tests::test_dropped_iterator_deregisters_immediately ... ok
[INFO] [stdout] test iter::tests::test_send_reaps_dead_subscriber ... ok
[INFO] [stdout] test iter::tests::test_try_iter ... ok
[INFO] [stdout] test iter::tests::test_try_recv_with_event ... ok
[INFO] [stdout] test model::speaker::tests::test_address ... ok
[INFO] [stdout] test iter::tests::test_try_recv_empty ... ok
[INFO] [stdout] test iter::tests::test_slow_subscriber_loses_no_events ... ok
[INFO] [stdout] test iter::tests::test_channel_closed ... ok
[INFO] [stdout] test property::tests::test_bass_clamping ... ok
[INFO] [stdout] test property::tests::test_group_membership_always_has_valid_group_id ... ok
[INFO] [stdout] test property::tests::test_group_membership_equality ... ok
[INFO] [stdout] test property::tests::test_group_membership_is_coordinator_flag ... ok
[INFO] [stdout] test property::tests::test_group_membership_property_metadata ... ok
[INFO] [stdout] test property::tests::test_group_mute_property_metadata ... ok
[INFO] [stdout] test model::speaker::tests::test_get_id ... ok
[INFO] [stdout] test property::tests::test_current_track_display ... ok
[INFO] [stdout] test property::tests::test_group_volume_property_metadata ... ok
[INFO] [stdout] test property::tests::test_position_progress ... ok
[INFO] [stdout] test property::tests::test_position_time_parsing ... ok
[INFO] [stdout] test property::tests::test_group_volume_clamping ... ok
[INFO] [stdout] test property::tests::test_group_volume_changeable_property_metadata ... ok
[INFO] [stdout] test property::tests::test_playback_state_parsing ... ok
[INFO] [stdout] test property::tests::test_property_constants ... ok
[INFO] [stdout] test property::tests::test_volume_clamping ... ok
[INFO] [stdout] test state::tests::test_add_group_single_speaker ... ok
[INFO] [stdout] test state::tests::test_add_group_updates_speaker_to_group ... ok
[INFO] [stdout] test state::tests::test_add_devices ... ok
[INFO] [stdout] test speaker::tests::test_property_keys ... ok
[INFO] [stdout] test speaker::tests::test_speaker_info_debug ... ok
[INFO] [stdout] test iter::tests::test_recv_timeout_with_event ... ok
[INFO] [stdout] test iter::tests::test_blocking_recv ... ok
[INFO] [stdout] test state::tests::test_clear_groups_then_add_new_groups ... ok
[INFO] [stdout] test state::tests::test_dropped_consumer_does_not_stall_survivor ... ok
[INFO] [stdout] test state::tests::test_get_boot_seq_returns_none_for_unknown_speaker ... ok
[INFO] [stdout] test state::tests::test_boot_seq_defaults_to_zero_for_new_speaker ... ok
[INFO] [stdout] test state::tests::test_get_group_for_speaker_returns_correct_group ... ok
[INFO] [stdout] test state::tests::test_get_resolved_per_coordinator_reads_from_coordinator ... ok
[INFO] [stdout] test state::tests::test_queued_events_preserve_every_intermediate_value ... ok
[INFO] [stdout] test state::tests::test_resolve_coordinator_for_group_member ... ok
[INFO] [stdout] test state::tests::test_property_storage ... ok
[INFO] [stdout] test state::tests::test_resolve_coordinator_for_standalone_speaker ... ok
[INFO] [stdout] test state::tests::test_resolve_coordinator_no_group_data ... ok
[INFO] [stdout] test state::tests::test_satellite_ids ... ok
[INFO] [stdout] test state::tests::test_get_group_for_speaker_returns_none_for_unknown ... ok
[INFO] [stdout] test state::tests::test_change_event_emission ... ok
[INFO] [stdout] test state::tests::test_set_group_property_emits_change_event ... ok
[INFO] [stdout] test state::tests::test_set_property_on_group_member_is_readable_from_both ... ok
[INFO] [stdout] test state::tests::test_service_unregister_keeps_directly_held_watches ... ok
[INFO] [stdout] test state::tests::test_get_resolved_per_speaker_reads_own_props ... ok
[INFO] [stdout] test state::tests::test_state_manager_creation ... ok
[INFO] [stdout] test state::tests::test_clear_groups_removes_all_group_data ... ok
[INFO] [stdout] test state::tests::test_state_manager_get_group_for_speaker_returns_correct_group ... ok
[INFO] [stdout] test state::tests::test_state_manager_get_group_for_speaker_returns_none_for_unknown ... ok
[INFO] [stdout] test state::tests::test_newer_write_is_accepted_after_an_earlier_one ... ok
[INFO] [stdout] test state::tests::test_state_manager_get_group_returns_correct_group ... ok
[INFO] [stdout] test state::tests::test_stale_fetch_does_not_clobber_newer_event_value ... ok
[INFO] [stdout] test state::tests::test_state_manager_get_group_returns_none_for_unknown ... ok
[INFO] [stdout] test event_worker::tests::test_genuinely_newer_event_still_wins ... ok
[INFO] [stdout] test state::tests::test_single_iterator_receives_every_event_in_order ... ok
[INFO] [stdout] test state::tests::test_state_manager_group_methods_consistency ... ok
[INFO] [stdout] test state::tests::test_state_manager_groups_returns_all_groups ... ok
[INFO] [stdout] test state::tests::test_state_watch_registry_only_removes_matching_speaker ... ok
[INFO] [stdout] test state::tests::test_update_speaker_ip ... ok
[INFO] [stdout] test state::tests::test_state_manager_groups_returns_empty_when_no_groups ... ok
[INFO] [stdout] test state::tests::test_state_watch_registry_register_and_unregister ... ok
[INFO] [stdout] test state::tests::test_watch_registration ... ok
[INFO] [stdout] test state::tests::test_update_speaker_ip_no_change ... ok
[INFO] [stdout] test state::tests::test_two_iterators_each_receive_every_event ... ok
[INFO] [stdout] test state::tests::test_watch_refcount_survives_partial_release ... ok
[INFO] [stdout] test state::tests::test_state_watch_registry_unknown_ip_is_noop ... ok
[INFO] [stdout] test event_worker::tests::test_current_fetch_not_rejected_by_older_notify ... ok
[INFO] [stdout] test event_worker::tests::test_late_notify_does_not_clobber_fresher_local_action ... ok
[INFO] [stdout] test iter::tests::test_recv_timeout ... ok
[INFO] [stdout] test event_worker::tests::test_worker_survives_decoder_panic ... ok
[INFO] [stdout] test state::tests::test_set_group_property_no_event_when_unwatched ... ok
[INFO] [stdout] test decoder::property_tests::prop_exactly_one_coordinator_per_group ... ok
[INFO] [stdout] test decoder::property_tests::prop_coordinator_always_in_members ... ok
[INFO] [stdout] test decoder::property_tests::prop_topology_event_processing_round_trip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 120 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sonos_state
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/iter.rs - iter (line 12) ... ignored
[INFO] [stdout] test src/lib.rs - (line 16) ... ignored
[INFO] [stdout] test src/lib.rs - (line 47) ... ignored
[INFO] [stdout] test src/property.rs - property::SonosProperty (line 55) ... ignored
[INFO] [stdout] test src/state.rs - state (line 8) ... ignored
[INFO] [stdout] test src/state.rs - state::StateManager::add_devices (line 760) ... ignored
[INFO] [stdout] test src/state.rs - state::StateManager::iter (line 887) ... ignored
[INFO] [stdout] test src/state.rs - state::StateManager::new (line 744) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d", kill_on_drop: false }`
[INFO] [stdout] 80ddbee161ac49e344f9ce650bd541fe2fd4aca45df3add2cdd87a97ec8b699d
