[INFO] cloning repository https://github.com/EaterLabs/staafmixer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/EaterLabs/staafmixer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEaterLabs%2Fstaafmixer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEaterLabs%2Fstaafmixer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3cdfe9f8da23035ab9cf58b402fc6e2ee56a545d [INFO] testing EaterLabs/staafmixer against 1.59.0 for beta-1.60-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEaterLabs%2Fstaafmixer" "/workspace/builds/worker-1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/EaterLabs/staafmixer on toolchain 1.59.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.59.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/EaterLabs/staafmixer [INFO] finished tweaking git repo https://github.com/EaterLabs/staafmixer [INFO] tweaked toml for git repo https://github.com/EaterLabs/staafmixer written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/EaterLabs/staafmixer already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.59.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0c75e9b78ddda75b437f262ac1277af0984bd4f634d5cf3af8a3b47b9ae789f6 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "0c75e9b78ddda75b437f262ac1277af0984bd4f634d5cf3af8a3b47b9ae789f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0c75e9b78ddda75b437f262ac1277af0984bd4f634d5cf3af8a3b47b9ae789f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c75e9b78ddda75b437f262ac1277af0984bd4f634d5cf3af8a3b47b9ae789f6", kill_on_drop: false }` [INFO] [stdout] 0c75e9b78ddda75b437f262ac1277af0984bd4f634d5cf3af8a3b47b9ae789f6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 188e97691fbc195499b33812402676dbb50be04c4c8ab375da16607b45ee0f18 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "188e97691fbc195499b33812402676dbb50be04c4c8ab375da16607b45ee0f18", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.78 [INFO] [stderr] Compiling syn v1.0.42 [INFO] [stderr] Compiling pin-project-internal v0.4.25 [INFO] [stderr] Compiling serde v1.0.116 [INFO] [stderr] Compiling getrandom v0.2.0 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling jansson-sys v0.1.0 [INFO] [stderr] Compiling arc-swap v0.4.7 [INFO] [stderr] Compiling cc v1.0.60 [INFO] [stderr] Compiling crossbeam-utils v0.8.0 [INFO] [stderr] Compiling futures-channel v0.3.6 [INFO] [stderr] Compiling input_buffer v0.3.1 [INFO] [stderr] Compiling glib-sys v0.9.1 [INFO] [stderr] Compiling http v0.2.1 [INFO] [stderr] Compiling idna v0.2.0 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling sha-1 v0.9.1 [INFO] [stderr] Compiling url v2.1.1 [INFO] [stderr] Compiling ring v0.16.15 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling net2 v0.2.35 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling signal-hook-registry v1.2.1 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling colored v1.9.3 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling const-random-macro v0.1.12 [INFO] [stderr] Compiling mio v0.6.22 [INFO] [stderr] Compiling janus-plugin-sys v0.7.0 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling crossbeam-channel v0.5.0 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling const-random v0.1.12 [INFO] [stderr] Compiling ahash v0.3.8 [INFO] [stderr] Compiling mio-uds v0.6.8 [INFO] [stderr] Compiling dashmap v3.11.10 [INFO] [stderr] Compiling tungstenite v0.11.1 [INFO] [stderr] Compiling serde_derive v1.0.116 [INFO] [stderr] Compiling futures-macro v0.3.6 [INFO] [stderr] Compiling tokio-macros v0.2.5 [INFO] [stderr] Compiling async-trait v0.1.41 [INFO] [stderr] Compiling tokio v0.2.22 [INFO] [stderr] Compiling pin-project v0.4.25 [INFO] [stderr] Compiling futures-util v0.3.6 [INFO] [stderr] Compiling futures-executor v0.3.6 [INFO] [stderr] Compiling tokio-tungstenite v0.11.0 [INFO] [stderr] Compiling futures v0.3.6 [INFO] [stderr] Compiling serde_json v1.0.58 [INFO] [stderr] Compiling staaf-core v0.1.0 (/opt/rustwide/workdir/staaf-core) [INFO] [stderr] Compiling janus-plugin v0.12.0 [INFO] [stderr] Compiling staaf-janus-client v0.1.0 (/opt/rustwide/workdir/staaf-janus-client) [INFO] [stderr] Compiling staaf-janus v0.1.0 (/opt/rustwide/workdir/staaf-janus) [INFO] [stdout] warning: unused import: `RtpConnectionHandle` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/manager.rs:1:66 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::threaded_rtp_handler::rtp_connection::{RtpConnection, RtpConnectionHandle}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SocketAddr` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/manager.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use std::net::{IpAddr, SocketAddr, UdpSocket}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::threaded_rtp_handler::rtp_connection::RtpConnectionHandle` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/message_handler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::threaded_rtp_handler::rtp_connection::RtpConnectionHandle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dashmap::DashMap` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/message_handler.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use dashmap::DashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SocketAddr` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/message_handler.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | use std::net::{SocketAddr, UdpSocket}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/message_handler.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UdpMessage` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::threaded_rtp_handler::{UdpMessage, UdpRtpMessage, RTP_MESSAGE_QUEUE_DEPTH}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `router_mut` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{callback, router, router_mut}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::threaded_rtp_handler::rtp_connection::RtpConnectionHandle` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/udp_consumer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::threaded_rtp_handler::rtp_connection::RtpConnectionHandle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/udp_consumer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_free_port` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{get_free_port, IncomingStreamHandle}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | use bytes::{Bytes, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `bounded` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:12:25 [INFO] [stdout] | [INFO] [stdout] 12 | use crossbeam_channel::{bounded, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `staaf_core::rpc::MediaStream` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use staaf_core::rpc::MediaStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::MaybeUninit` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::mem::MaybeUninit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv6Addr`, `UdpSocket` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | use std::net::{IpAddr, Ipv6Addr, SocketAddr, UdpSocket}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicU64`, `AtomicUsize`, `Ordering` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | use std::sync::atomic::{AtomicU64, AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JoinHandle`, `spawn` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | use std::thread::{spawn, JoinHandle}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `janus_plugin_sys::rtcp::janus_rtcp_get_remb` [INFO] [stdout] --> staaf-janus/src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use janus_plugin_sys::rtcp::janus_rtcp_get_remb; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AudioCodec`, `MediaStreamAudio`, `MediaStreamVideo`, `VideoCodec` [INFO] [stdout] --> staaf-janus/src/lib.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | AudioCodec, MediaStream, MediaStreamAudio, MediaStreamContent, MediaStreamVideo, StaafRPC, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | VideoCodec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> staaf-janus/src/lib.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ipv4Addr` [INFO] [stdout] --> staaf-janus/src/lib.rs:31:24 [INFO] [stdout] | [INFO] [stdout] 31 | use std::net::{IpAddr, Ipv4Addr}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> staaf-janus/src/lib.rs:498:5 [INFO] [stdout] | [INFO] [stdout] 498 | handle: *mut PluginSession, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `packet` [INFO] [stdout] --> staaf-janus/src/lib.rs:499:5 [INFO] [stdout] | [INFO] [stdout] 499 | packet: *mut janus_plugin::PluginRtcpPacket, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rtcp` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_utils.rs:82:28 [INFO] [stdout] | [INFO] [stdout] 82 | MuxedRtp::RTCP(rtcp) => 0, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rtcp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `drop_counter` is assigned to, but never used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/udp_consumer.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let mut drop_counter: u64 = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_drop_counter` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | let mut packet = &mut [header, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | let mut packet = BytesMut::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> staaf-janus/src/lib.rs:433:17 [INFO] [stdout] | [INFO] [stdout] 433 | &mut PLUGIN, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(const_item_mutation)]` on by default [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> staaf-janus/src/lib.rs:515:1 [INFO] [stdout] | [INFO] [stdout] 515 | / const PLUGIN: Plugin = build_plugin!( [INFO] [stdout] 516 | | LibraryMetadata { [INFO] [stdout] 517 | | api_version: 15, [INFO] [stdout] 518 | | version: 1, [INFO] [stdout] ... | [INFO] [stdout] 537 | | handle_admin_message [INFO] [stdout] 538 | | ); [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `SDP_THREAD` [INFO] [stdout] --> staaf-janus/src/router.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | static mut SDP_THREAD: Option> = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `SDP_RPC_SENDER` [INFO] [stdout] --> staaf-janus/src/router.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | static mut SDP_RPC_SENDER: Option> = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `start_sdp_thread` [INFO] [stdout] --> staaf-janus/src/router.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn start_sdp_thread() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `queue_rpc` [INFO] [stdout] --> staaf-janus/src/router.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn queue_rpc(msg: SDPThreadRPC) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `SDPThreadRPC` [INFO] [stdout] --> staaf-janus/src/router.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum SDPThreadRPC { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sdp_thread` [INFO] [stdout] --> staaf-janus/src/router.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn sdp_thread(receiver: Receiver) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `socket` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/message_handler.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | socket: UdpSocket, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `udp_socket` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | udp_socket: UdpSocket, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stream_index` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | stream_index: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `seq_nr` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_utils.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn seq_nr(&self) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_AMOUNT_OF_MUXED_RTP_STREAMS` [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/mod.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | const MAX_AMOUNT_OF_MUXED_RTP_STREAMS: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | writer.write_u8(header); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | writer.write_u8(205); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | writer.write_u16::(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | writer.write_u32::(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | writer.write_u32::(self.ssrc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | writer.write_u16::(current); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | writer.write_u16::(bitfield); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | writer.write_u16::(current); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-janus/src/threaded_rtp_handler/rtp_connection.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | writer.write_u16::(bitfield); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling staaf-ingest v0.1.0 (/opt/rustwide/workdir/staaf-ingest) [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> staaf-ingest/src/ingest.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `delay_for` [INFO] [stdout] --> staaf-ingest/src/ingest.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | use tokio::time::{delay_for, Duration}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `staaf_janus_client::JanusConnection` [INFO] [stdout] --> staaf-ingest/src/janus.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use staaf_janus_client::JanusConnection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `delay_for` [INFO] [stdout] --> staaf-ingest/src/janus.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use tokio::time::{delay_for, Duration}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::task::spawn` [INFO] [stdout] --> staaf-ingest/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::task::spawn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> staaf-ingest/src/ingest.rs:191:28 [INFO] [stdout] | [INFO] [stdout] 191 | async fn ingest_connection(mut stream: TcpStream, plugin: JanusPluginOwned) -> Result<(), ()> { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> staaf-ingest/src/ingest.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let mut janus_connection = JanusConnection::parse("ws://localhost:8188").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `send_ping` [INFO] [stdout] --> staaf-ingest/src/ingest.rs:184:14 [INFO] [stdout] | [INFO] [stdout] 184 | async fn send_ping(&mut self) -> tokio::io::Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-ingest/src/ingest.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | / self.tcp_stream [INFO] [stdout] 63 | | .write(format!("{}. Use UDP port {}\n", FTL_INGEST_RESP_OK, port).as_bytes()) [INFO] [stdout] 64 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> staaf-ingest/src/ingest.rs:281:17 [INFO] [stdout] | [INFO] [stdout] 281 | / connection [INFO] [stdout] 282 | | .tcp_stream [INFO] [stdout] 283 | | .write(format!("{}\r\n\r\n", FTL_INGEST_RESP_PING).as_bytes()) [INFO] [stdout] 284 | | .await; [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-Wl,--version-script=/tmp/rustctVsYcH/list" "-m64" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.staaf_janus.067d2861-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/staaf_janus.254qz72rt5mijwhz.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libserde_json-8f9fd82d9196a521.rlib" "/opt/rustwide/target/debug/deps/libryu-1b2f9606b802eb11.rlib" "/opt/rustwide/target/debug/deps/libitoa-653b85f7ff9315e8.rlib" "/opt/rustwide/target/debug/deps/libnet2-cd9d06f877c2fecd.rlib" "/opt/rustwide/target/debug/deps/libbytes-796d8a9a54d045fb.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-195565e85f6c1ed0.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-d06c2b08b8b2bac2.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-647eb0d6629dc8ef.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-0a04e74fc4f21d18.rlib" "/opt/rustwide/target/debug/deps/libdashmap-a66258fc4b3afb50.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-fdf4f5a120418c9d.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-3e93dce105ba1ecd.rlib" "/opt/rustwide/target/debug/deps/libahash-12d38e7c779559bb.rlib" "/opt/rustwide/target/debug/deps/libconst_random-a602cba6e80659c3.rlib" "/opt/rustwide/target/debug/deps/libstaaf_core-33412eb52f9b55e4.rlib" "/opt/rustwide/target/debug/deps/libjanus_plugin-0fbb2214ca1d6957.rlib" "/opt/rustwide/target/debug/deps/libserde-8afb0d736d11f84c.rlib" "/opt/rustwide/target/debug/deps/libcolored-1e09a80c63b4da28.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-02ff0d0fbc57b9b4.rlib" "/opt/rustwide/target/debug/deps/libatty-9cee207ee31fe161.rlib" "/opt/rustwide/target/debug/deps/libchrono-fd0c8cbf624e9f56.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-12630c3d8cbbbfd4.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-5ee259b877622a72.rlib" "/opt/rustwide/target/debug/deps/libtime-60e26911c47bb022.rlib" "/opt/rustwide/target/debug/deps/libbitflags-0409eb6f696bdc99.rlib" "/opt/rustwide/target/debug/deps/libjanus_plugin_sys-35dcabb06e743e32.rlib" "/opt/rustwide/target/debug/deps/libglib_sys-05e42c3d96458ea5.rlib" "/opt/rustwide/target/debug/deps/liblibc-3e7a39844b51bfed.rlib" "/opt/rustwide/target/debug/deps/libjansson_sys-becbc9986a316a58.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-a46a068050a12a4b.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-1df56095db9453cb.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-9062de483386e50b.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-b988ab269ff13602.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-1bc822d886d4f7bd.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-963eca8df4c224a6.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d805b480c9102e58.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-06dfdbc22b935051.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-d7523a4d118e6572.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-5d7898c7fac3a07d.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-8c2bdbab4845bf3d.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-d578639df0547b30.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-58bbb7b1efa3a5e2.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-4c9b082d197c16f8.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-70f9ed6d8e7a5ce6.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8c0a241d0360fa53.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-bad7ed93fdd31371.rlib" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-98b4d121af2b7335.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-1d9f7e5920635d15.rlib" "-Wl,-Bdynamic" "-lglib-2.0" "-ljansson" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.59.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/libstaaf_janus.so" "-Wl,--gc-sections" "-shared" "-Wl,-zrelro,-znow" "-nodefaultlibs" [INFO] [stdout] = note: /usr/bin/ld: cannot find -ljansson [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 50 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `staaf-janus` due to 2 previous errors; 50 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "188e97691fbc195499b33812402676dbb50be04c4c8ab375da16607b45ee0f18", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "188e97691fbc195499b33812402676dbb50be04c4c8ab375da16607b45ee0f18", kill_on_drop: false }` [INFO] [stdout] 188e97691fbc195499b33812402676dbb50be04c4c8ab375da16607b45ee0f18