[INFO] cloning repository https://github.com/djh00t/agent_voice [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/djh00t/agent_voice" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjh00t%2Fagent_voice", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjh00t%2Fagent_voice'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e4c60d8d580b0ecdd80acb7762f6305f6b09fb5b [INFO] testing djh00t/agent_voice against 1.98.0-beta.6+cargoflags=--release for beta-1.98-release-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjh00t%2Fagent_voice" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/djh00t/agent_voice [INFO] finished tweaking git repo https://github.com/djh00t/agent_voice [INFO] tweaked toml for git repo https://github.com/djh00t/agent_voice written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/djh00t/agent_voice on toolchain 1.98.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/djh00t/agent_voice 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.98.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb [INFO] running `Command { std: "docker" "start" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb", 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" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb", 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" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling typenum v1.20.1 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling phf_shared v0.13.1 [INFO] [stderr] Compiling http v1.4.2 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling syn v3.0.0 [INFO] [stderr] Compiling phf_generator v0.13.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling aws-lc-rs v1.16.1 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling phf_codegen v0.13.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling rustls v0.23.41 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling phf_macros v0.13.1 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling phf v0.13.1 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling hybrid-array v0.4.13 [INFO] [stderr] Compiling string_cache_codegen v0.6.1 [INFO] [stderr] Compiling aws-lc-sys v0.38.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling rand_core v0.10.1 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling web_atoms v0.2.3 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling thiserror v2.0.19 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling block-buffer v0.12.1 [INFO] [stderr] Compiling crypto-common v0.2.2 [INFO] [stderr] Compiling string_cache v0.9.0 [INFO] [stderr] Compiling thiserror-impl v2.0.19 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling const-oid v0.10.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling dtoa v1.0.11 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling digest v0.11.3 [INFO] [stderr] Compiling tendril v0.5.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling chacha20 v0.10.1 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling selectors v0.36.1 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling cssparser v0.36.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling markup5ever v0.39.0 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling rand v0.10.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling sha1 v0.11.0 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling phf_shared v0.12.1 [INFO] [stderr] Compiling servo_arc v0.4.3 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling anyhow v1.0.104 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling chrono-tz v0.10.4 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling clap_builder v4.6.2 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling chrono v0.4.45 [INFO] [stderr] Compiling clap_derive v4.6.3 [INFO] [stderr] Compiling phf v0.12.1 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling html5ever v0.39.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling axum-macros v0.5.1 [INFO] [stderr] Compiling md5 v0.7.0 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling ego-tree v0.11.0 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling scraper v0.26.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling clap v4.6.3 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling hound v3.5.1 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tungstenite v0.30.0 [INFO] [stderr] Compiling xphone v0.6.0 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling tokio-tungstenite v0.30.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling agent_voice v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 6m 44s [INFO] running `Command { std: "docker" "inspect" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb", 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" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling agent_voice v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 12.30s [INFO] running `Command { std: "docker" "inspect" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb", 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" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.29s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/agent_voice-371427338faeadb1) [INFO] [stdout] [INFO] [stdout] running 66 tests [INFO] [stdout] test accounting::tests::call_summary_aggregates_model_usage ... ok [INFO] [stdout] test accounting::tests::compute_cost_uses_cached_input_rate ... ok [INFO] [stdout] test accounting::tests::estimate_text_tokens_uses_catalog_override ... ok [INFO] [stdout] test accounting::tests::safe_log_path_allows_absolute_paths_under_accounting ... ok [INFO] [stdout] test accounting::tests::safe_log_path_places_relative_files_under_accounting ... ok [INFO] [stdout] test accounting::tests::safe_log_path_rejects_parent_dir_traversal ... ok [INFO] [stdout] test accounting::tests::safe_log_path_rejects_absolute_paths ... ok [INFO] [stdout] test accounting::tests::scrape_model_catalog_parses_text_and_audio_sections ... ok [INFO] [stdout] test audio::tests::decode_streaming_wav_with_unknown_sizes ... ok [INFO] [stdout] test audio::tests::encode_mulaw_preserves_frame_count ... ok [INFO] [stdout] test audio::tests::encode_wav_round_trips_samples ... ok [INFO] [stdout] test audio::tests::split_frames_zero_pads_last_frame ... ok [INFO] [stdout] test config::tests::defaults_map_to_supported_codecs ... ok [INFO] [stdout] test config::tests::parse_bool_accepts_common_forms ... ok [INFO] [stdout] test config::tests::env_map_overrides_config ... ok [INFO] [stdout] test config::tests::llm_and_voice_env_overrides_apply ... ok [INFO] [stdout] test config::tests::env_map_strips_surrounding_quotes ... ok [INFO] [stdout] test openai::tests::audio_chat_messages_replay_caller_and_assistant_turns ... ok [INFO] [stdout] test openai::tests::compact_caller_summary_omits_notes_and_empty_fields ... ok [INFO] [stdout] test openai::tests::extract_response_id_reads_top_level_id ... ok [INFO] [stdout] test openai::tests::extract_response_text_prefers_output_text ... ok [INFO] [stdout] test openai::tests::extract_response_text_reads_output_blocks ... ok [INFO] [stdout] test openai::tests::extract_turn_plan_parses_json_payload ... ok [INFO] [stdout] test openai::tests::extract_usage_reads_audio_and_cached_tokens ... ok [INFO] [stdout] test openai::tests::decode_tts_audio_reports_json_error_payload ... ok [INFO] [stdout] test openai::tests::parse_caller_update_reads_preferred_language ... ok [INFO] [stdout] test openai::tests::parse_delta_transcript_event ... ok [INFO] [stdout] test openai::tests::parse_completed_transcript_event ... ok [INFO] [stdout] test openai::tests::prompt_safe_caller_json_filters_language_notes ... ok [INFO] [stdout] test openai::tests::response_input_uses_latest_caller_turn_when_chained ... ok [INFO] [stdout] test openai::tests::sanitize_turn_plan_clears_end_call_for_non_closing_reply ... ok [INFO] [stdout] test openai::tests::parse_error_event ... ok [INFO] [stdout] test openai::tests::sanitize_turn_plan_keeps_explicit_language_requests ... ok [INFO] [stdout] test openai::tests::extract_chat_audio_transcript_reads_message_audio ... ok [INFO] [stdout] test openai::tests::sanitize_turn_plan_fulfills_count_then_hangup_request_when_model_skips_count ... ok [INFO] [stdout] test openai::tests::sanitize_turn_plan_promotes_explicit_hangup_request_to_final_closing ... ok [INFO] [stdout] test openai::tests::sanitize_turn_plan_rewrites_language_switching_prompt ... ok [INFO] [stdout] test openai::tests::telephony_frame_constant_matches_g711_interval ... ok [INFO] [stdout] test phonebook::tests::load_rejects_parent_dir_traversal ... ok [INFO] [stdout] test phonebook::tests::inbound_access_denies_unknown_callers_by_default ... ok [INFO] [stdout] test phonebook::tests::load_seeds_policy_entries_with_deny_defaults ... ok [INFO] [stdout] test config::tests::speech_provider_env_overrides_apply ... ok [INFO] [stdout] test phonebook::tests::inbound_access_honors_exact_and_wildcard_records ... ok [INFO] [stdout] test audio::tests::resample_linear_changes_length ... ok [INFO] [stdout] test service::tests::caller_requested_end_call_detects_farewell_and_garbled_hangup ... ok [INFO] [stdout] test service::tests::assistant_prompt_requests_profile_field_detects_follow_up_prompts ... ok [INFO] [stdout] test service::tests::caller_text_indicates_profile_update_detects_contact_fields ... ok [INFO] [stdout] test service::tests::fast_path_end_call_response_counts_then_hangs_up_without_llm ... ok [INFO] [stdout] test service::tests::fast_path_end_call_response_shortens_immediate_hangup_requests ... ok [INFO] [stdout] test service::tests::finalize_end_call_response_appends_a_real_closing ... ok [INFO] [stdout] test phonebook::tests::normalize_caller_id_parses_sip_and_tel_values ... ok [INFO] [stdout] test service::tests::sanitize_caller_update_drops_inferred_language_preference ... ok [INFO] [stdout] test service::tests::sanitize_caller_update_keeps_explicit_language_preference ... ok [INFO] [stdout] test phonebook::tests::merge_update_fills_missing_fields ... ok [INFO] [stdout] test phonebook::tests::load_allows_absolute_paths_with_missing_leaf ... ok [INFO] [stdout] test service::tests::split_tts_text_keeps_openai_text_as_single_segment ... ok [INFO] [stdout] test service::tests::split_tts_text_prefers_sentence_boundaries_for_local_tts ... ok [INFO] [stdout] test service::tests::sanitize_caller_update_requires_email_confirmation ... ok [INFO] [stdout] test service::tests::turn_detector_emits_after_silence ... ok [INFO] [stdout] test service::tests::turn_detector_keeps_soft_leading_audio_before_threshold_crossing ... ok [INFO] [stdout] test service::tests::windowed_transcript_keeps_latest_events ... ok [INFO] [stdout] test sherpa_onnx::tests::decode_pcm_payload_preserves_samples ... ok [INFO] [stdout] test sherpa_onnx::tests::speaker_override_must_be_numeric ... ok [INFO] [stdout] test sherpa_onnx::tests::stt_model_name_reflects_moonshine_v2 ... ok [INFO] [stdout] test sherpa_onnx::tests::tts_model_name_reflects_family ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/agent_voice-35d234f22ccd8adf) [INFO] [stdout] test service::tests::looks_like_final_farewell_requires_an_actual_closing ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [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] [stderr] Doc-tests agent_voice [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" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb", kill_on_drop: false }` [INFO] [stdout] 22d196637be7b0ad99d95019e7d4a09cc45255e3804df77c15b84ab9119ddfeb