[INFO] fetching crate marksman_escape 0.1.2...
[INFO] testing marksman_escape-0.1.2 against 1.47.0 for beta-1.48-1
[INFO] extracting crate marksman_escape 0.1.2 into /workspace/builds/worker-3/source
[INFO] validating manifest of crates.io crate marksman_escape 0.1.2 on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate marksman_escape 0.1.2
[INFO] finished tweaking crates.io crate marksman_escape 0.1.2
[INFO] tweaked toml for crates.io crate marksman_escape 0.1.2 written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fe9e4932da99c2a77248bc9e7fe657d6f0f346619005ea41b374eccd1576a44c
[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" "fe9e4932da99c2a77248bc9e7fe657d6f0f346619005ea41b374eccd1576a44c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe9e4932da99c2a77248bc9e7fe657d6f0f346619005ea41b374eccd1576a44c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe9e4932da99c2a77248bc9e7fe657d6f0f346619005ea41b374eccd1576a44c", kill_on_drop: false }`
[INFO] [stdout] fe9e4932da99c2a77248bc9e7fe657d6f0f346619005ea41b374eccd1576a44c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4d3b173bad64d4efd6fb7b9edb756e17d5a80acc45b5afeb559fb0d32579277d
[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" "4d3b173bad64d4efd6fb7b9edb756e17d5a80acc45b5afeb559fb0d32579277d", kill_on_drop: false }`
[INFO] [stderr]    Compiling marksman_escape v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 | 0x0000...0x0008
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 | 0x000D...0x001F
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:108:25
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 | 0x007F...0x009F
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:109:25
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 | 0xFDD0...0xFDEF => "\u{FFFD}",
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:144:50
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:144:72
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stdout]     |                                                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 Some(b@b'0'...b'9') => if value <= 0x10FFFF {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:191:38
[INFO] [stdout]     |
[INFO] [stdout] 191 |             } else if let Some(b@b'0'...b'9') = byte {
[INFO] [stdout]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:195:38
[INFO] [stdout]     |
[INFO] [stdout] 195 |             } else if let Some(b@b'a'...b'f') = byte.map(|x| { x | 0b0010_0000}) {
[INFO] [stdout]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |             Some(c@b'0'...b'9')     => self.unescape_dec(c),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:221:24
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:221:46
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stdout]     |                                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns covering the same range
[INFO] [stdout]    --> src/unescape.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 0x9F => "\u{0178}",
[INFO] [stdout]     |                 ---- this range overlaps on `159_u32`
[INFO] [stdout] ...
[INFO] [stdout] 108 |                 | 0x007F...0x009F
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(overlapping_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 10.06s
[INFO] running `Command { std: "docker" "inspect" "4d3b173bad64d4efd6fb7b9edb756e17d5a80acc45b5afeb559fb0d32579277d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d3b173bad64d4efd6fb7b9edb756e17d5a80acc45b5afeb559fb0d32579277d", kill_on_drop: false }`
[INFO] [stdout] 4d3b173bad64d4efd6fb7b9edb756e17d5a80acc45b5afeb559fb0d32579277d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 73993e165ea079af8e6427597ef730deb6f94172e82fca71bfb1a8647c2ced81
[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" "73993e165ea079af8e6427597ef730deb6f94172e82fca71bfb1a8647c2ced81", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 | 0x0000...0x0008
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling marksman_escape v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 | 0x000D...0x001F
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:108:25
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 | 0x007F...0x009F
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:109:25
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 | 0xFDD0...0xFDEF => "\u{FFFD}",
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:144:50
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:144:72
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stdout]     |                                                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 Some(b@b'0'...b'9') => if value <= 0x10FFFF {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:191:38
[INFO] [stdout]     |
[INFO] [stdout] 191 |             } else if let Some(b@b'0'...b'9') = byte {
[INFO] [stdout]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:195:38
[INFO] [stdout]     |
[INFO] [stdout] 195 |             } else if let Some(b@b'a'...b'f') = byte.map(|x| { x | 0b0010_0000}) {
[INFO] [stdout]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |             Some(c@b'0'...b'9')     => self.unescape_dec(c),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:221:24
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:221:46
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stdout]     |                                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns covering the same range
[INFO] [stdout]    --> src/unescape.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 0x9F => "\u{0178}",
[INFO] [stdout]     |                 ---- this range overlaps on `159_u32`
[INFO] [stdout] ...
[INFO] [stdout] 108 |                 | 0x007F...0x009F
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(overlapping_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 | 0x0000...0x0008
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 | 0x000D...0x001F
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:108:25
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 | 0x007F...0x009F
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:109:25
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 | 0xFDD0...0xFDEF => "\u{FFFD}",
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:144:50
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:144:72
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stdout]     |                                                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 Some(b@b'0'...b'9') => if value <= 0x10FFFF {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:191:38
[INFO] [stdout]     |
[INFO] [stdout] 191 |             } else if let Some(b@b'0'...b'9') = byte {
[INFO] [stdout]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:195:38
[INFO] [stdout]     |
[INFO] [stdout] 195 |             } else if let Some(b@b'a'...b'f') = byte.map(|x| { x | 0b0010_0000}) {
[INFO] [stdout]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |             Some(c@b'0'...b'9')     => self.unescape_dec(c),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:221:24
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/unescape.rs:221:46
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stdout]     |                                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns covering the same range
[INFO] [stdout]    --> src/unescape.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 0x9F => "\u{0178}",
[INFO] [stdout]     |                 ---- this range overlaps on `159_u32`
[INFO] [stdout] ...
[INFO] [stdout] 108 |                 | 0x007F...0x009F
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(overlapping_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 13.84s
[INFO] running `Command { std: "docker" "inspect" "73993e165ea079af8e6427597ef730deb6f94172e82fca71bfb1a8647c2ced81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73993e165ea079af8e6427597ef730deb6f94172e82fca71bfb1a8647c2ced81", kill_on_drop: false }`
[INFO] [stdout] 73993e165ea079af8e6427597ef730deb6f94172e82fca71bfb1a8647c2ced81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ccd4919de43777c23adec9f3f6b8eb012de2687f87e5378a89196f79f43eb29e
[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" "ccd4919de43777c23adec9f3f6b8eb012de2687f87e5378a89196f79f43eb29e", kill_on_drop: false }`
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:106:25
[INFO] [stderr]     |
[INFO] [stderr] 106 |                 | 0x0000...0x0008
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:107:25
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 | 0x000D...0x001F
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:108:25
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 | 0x007F...0x009F
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:109:25
[INFO] [stderr]     |
[INFO] [stderr] 109 |                 | 0xFDD0...0xFDEF => "\u{FFFD}",
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:144:28
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:144:50
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:144:72
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stderr]     |                                                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:175:28
[INFO] [stderr]     |
[INFO] [stderr] 175 |                 Some(b@b'0'...b'9') => if value <= 0x10FFFF {
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:191:38
[INFO] [stderr]     |
[INFO] [stderr] 191 |             } else if let Some(b@b'0'...b'9') = byte {
[INFO] [stderr]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:195:38
[INFO] [stderr]     |
[INFO] [stderr] 195 |             } else if let Some(b@b'a'...b'f') = byte.map(|x| { x | 0b0010_0000}) {
[INFO] [stderr]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:209:24
[INFO] [stderr]     |
[INFO] [stderr] 209 |             Some(c@b'0'...b'9')     => self.unescape_dec(c),
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:221:24
[INFO] [stderr]     |
[INFO] [stderr] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:221:46
[INFO] [stderr]     |
[INFO] [stderr] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stderr]     |                                              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns covering the same range
[INFO] [stderr]    --> src/unescape.rs:108:19
[INFO] [stderr]     |
[INFO] [stderr] 104 |                 0x9F => "\u{0178}",
[INFO] [stderr]     |                 ---- this range overlaps on `159_u32`
[INFO] [stderr] ...
[INFO] [stderr] 108 |                 | 0x007F...0x009F
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(overlapping_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 14 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:106:25
[INFO] [stderr]     |
[INFO] [stderr] 106 |                 | 0x0000...0x0008
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:107:25
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 | 0x000D...0x001F
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:108:25
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 | 0x007F...0x009F
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:109:25
[INFO] [stderr]     |
[INFO] [stderr] 109 |                 | 0xFDD0...0xFDEF => "\u{FFFD}",
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:144:28
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:144:50
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:144:72
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stderr]     |                                                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:175:28
[INFO] [stderr]     |
[INFO] [stderr] 175 |                 Some(b@b'0'...b'9') => if value <= 0x10FFFF {
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:191:38
[INFO] [stderr]     |
[INFO] [stderr] 191 |             } else if let Some(b@b'0'...b'9') = byte {
[INFO] [stderr]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:195:38
[INFO] [stderr]     |
[INFO] [stderr] 195 |             } else if let Some(b@b'a'...b'f') = byte.map(|x| { x | 0b0010_0000}) {
[INFO] [stderr]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:209:24
[INFO] [stderr]     |
[INFO] [stderr] 209 |             Some(c@b'0'...b'9')     => self.unescape_dec(c),
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:221:24
[INFO] [stderr]     |
[INFO] [stderr] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/unescape.rs:221:46
[INFO] [stderr]     |
[INFO] [stderr] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stderr]     |                                              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns covering the same range
[INFO] [stderr]    --> src/unescape.rs:108:19
[INFO] [stderr]     |
[INFO] [stderr] 104 |                 0x9F => "\u{0178}",
[INFO] [stderr]     |                 ---- this range overlaps on `159_u32`
[INFO] [stderr] ...
[INFO] [stderr] 108 |                 | 0x007F...0x009F
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(overlapping_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 14 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/marksman_escape-6cd0b77b1b852a74
[INFO] [stdout] running 4 tests
[INFO] [stdout] test unescape::test::dec_escape ... ok
[INFO] [stdout] test unescape::test::hex_escape ... ok
[INFO] [stdout] test unescape::test::named_escape ... ok
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/htmlescape-a9bc65f63d5332e6
[INFO] [stdout] test unescape::test::no_escapes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[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
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/htmlunescape-6a4e35c44c0314af
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/unescape_named-eba890ae6303c8b8
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_get_named_ref_malformed ... ok
[INFO] [stdout] test test_get_named_ref ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests marksman_escape
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:106:25
[INFO] [stderr]     |
[INFO] [stderr] 106 |                 | 0x0000...0x0008
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:107:25
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 | 0x000D...0x001F
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:108:25
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 | 0x007F...0x009F
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:109:25
[INFO] [stderr]     |
[INFO] [stderr] 109 |                 | 0xFDD0...0xFDEF => "\u{FFFD}",
[INFO] [stderr]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:144:28
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:144:50
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:144:72
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 Some(b@b'a'...b'z') | Some(b@b'A'...b'Z') | Some(b@b'0'...b'9') => {
[INFO] [stderr]     |                                                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:175:28
[INFO] [stderr]     |
[INFO] [stderr] 175 |                 Some(b@b'0'...b'9') => if value <= 0x10FFFF {
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:191:38
[INFO] [stderr]     |
[INFO] [stderr] 191 |             } else if let Some(b@b'0'...b'9') = byte {
[INFO] [stderr]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:195:38
[INFO] [stderr]     |
[INFO] [stderr] 195 |             } else if let Some(b@b'a'...b'f') = byte.map(|x| { x | 0b0010_0000}) {
[INFO] [stderr]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:209:24
[INFO] [stderr]     |
[INFO] [stderr] 209 |             Some(c@b'0'...b'9')     => self.unescape_dec(c),
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:221:24
[INFO] [stderr]     |
[INFO] [stderr] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/workdir/src/unescape.rs:221:46
[INFO] [stderr]     |
[INFO] [stderr] 221 |             Some(c@b'a'...b'z') | Some(c@b'A'...b'Z') => self.unescape_named(c),
[INFO] [stderr]     |                                              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: 13 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test src/lib.rs - (line 11) ... ignored
[INFO] [stdout] test src/lib.rs - (line 21) ... ignored
[INFO] [stdout] test src/escape.rs - escape::Escape<I>::new (line 49) ... ok
[INFO] [stdout] test src/unescape.rs - unescape::Unescape<I>::new (line 30) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ccd4919de43777c23adec9f3f6b8eb012de2687f87e5378a89196f79f43eb29e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ccd4919de43777c23adec9f3f6b8eb012de2687f87e5378a89196f79f43eb29e", kill_on_drop: false }`
[INFO] [stdout] ccd4919de43777c23adec9f3f6b8eb012de2687f87e5378a89196f79f43eb29e
